SCPI History

SCPI is a programming language standard designed specifically for controlling instruments. It defines how you communicate with these instruments from an external computer.

Hewlett-Packard (now Keysight) developed the HP-IB as an internal standard for transmitting individual bytes of data and commands between instruments and computers, defining handshaking, addressing, and general protocol. HP-IB gained wide-spread industry acceptance and migrated to GPIB (General Purpose Interface Bus), which is built upon the IEEE 488.1 and 488.2 standards. Emulation of GPIB is also implemented on Ethernet and USB interfaces. SCPI is the most common standard used to control instruments over those interfaces.

SCPI Description


SCPI goes beyond 488.2 by defining a standard set of programming commands. For a given measurement function (such as frequency), SCPI defines the specific commands used to access that function via the LAN, GPIB, or USB interfaces. If two analyzers both conform to the SCPI standard, you would use the same command to set each analyzer’s center frequency. Standard commands provide two advantages:

  • If you know how to control functions on one SCPI instrument, you know how to
    control the same functions on any SCPI instrument.
  • Programs written for a particular SCPI instrument are easily adapted to work
    with a similar SCPI instrument.

SCPI Resources and Tools

Keysight system instruments support SCPI with the underlining IEEE 488 protocols, and each instrument manual gives detailed information on its particular SCPI programming language. More than 50% of all test system programs use direct SCPI programming to achieve complete control of performance and features of products. The following provide you with information to help you better understand and learn SCPI.