A quick general overview of SCPI command syntax is: http://na.tm.agilent.com/pna/help/latest/Programming/Learning_about_GPIB/The_Rules_and_Syntax_of_SCPI_Commands.htm A good, clean C library for implementing end devices: https://github.com/j123b567/scpi-parser The "usual" way to talk to devices which speak SCPI is using VISA libraries, which are supplied by vendors like National Instruments or Agilent. Some of these are released for Linux, but they aren't open. There don't seem to be any non-vaporware Linux VISA libraries which aren't just wrappers around proprietary drivers; the python-ivi library comes closest? It seems to be best to simply talk raw serial using PySerial or similar.