Skip to content

Instruments¤

The instro SDK provides high-level, vendor-agnostic interfaces for common lab instruments. Each instrument type defines a standard API that works across multiple hardware vendors.

Class Description
InstroDAQ Data acquisition systems
InstroDMM Digital multimeters
InstroPSU Programmable power supply units
InstroELoad Electronic loads
InstroScope Oscilloscopes
InstroFlowController Flow Controllers
I2CInterface I2C bus communication devices
InstroAWG Arbitrary waveform generators (unstable)

Each instrument page includes the interface, configuration types, driver base classes, and vendor-specific driver implementations. Errors raised by instrument methods are documented in Exceptions.

Supported devices¤

The table below is included verbatim from the repository README, so the two can't drift.

Category Class Vendors
Power Supply InstroPSU B&K Precision (9115, 914X), Keysight (E36100-series), Rigol (DP800-series), Siglent (SPD3303), TDK Lambda (Genesys), simulated
Multimeter InstroDMM Agilent 34401A, Keysight 34461A, Keithley 2400, Keithley 2750 (unstable), simulated
Arbitrary Waveform Generator InstroAWG Rigol (DG1022Z, unstable)
Electronic Load InstroELoad B&K Precision (85xxB-series)
Oscilloscope InstroScope Keysight (1200X-series), Tektronix (2-series), Siglent (SDS1000X-E)
Flow Controller InstroFlowController Alicat MC-series
DAQ InstroDAQ Keysight 34980A, NI-DAQmx, LabJack T-series, MCC USB-series
I2C I2CInterface Total Phase Aardvark
Modbus ModbusDevice Any Modbus TCP / RTU device
EtherNet/IP EtherNetIPDevice Allen-Bradley / CompactLogix-class PLCs

The Modbus and EtherNet/IP rows are covered under Protocols. Community-contributed drivers are documented in the instro-contrib guide rather than this reference.