Overview#

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

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), EA Elektro-Automatik (PSB 10000-series), 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

Keysight (33521B), Rigol (DG1022Z)

Electronic Load

InstroELoad

B&K Precision (85xxB-series), EA Elektro-Automatik (PSB 10000-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, DewesoftX (unstable)

I2C

I2CInterface

Total Phase Aardvark

Modbus

ModbusDevice

Any Modbus TCP / RTU device

Motor Controller

InstroMotorController

VESC 6 over CAN via python-can (unstable)

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.