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 |
|---|---|
Data acquisition systems |
|
Digital multimeters |
|
Programmable power supply units |
|
Electronic loads |
|
Oscilloscopes |
|
Flow Controllers |
|
I2C bus communication devices |
|
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 |
|
B&K Precision (9115, 914X), EA Elektro-Automatik (PSB 10000-series), Keysight (E36100-series), Rigol (DP800-series), Siglent (SPD3303), TDK Lambda (Genesys), simulated |
Multimeter |
|
Agilent 34401A, Keysight 34461A, Keithley 2400, Keithley 2750 (unstable), simulated |
Arbitrary Waveform Generator |
|
Keysight (33521B), Rigol (DG1022Z) |
Electronic Load |
|
B&K Precision (85xxB-series), EA Elektro-Automatik (PSB 10000-series) |
Oscilloscope |
|
Keysight (1200X-series), Tektronix (2-series), Siglent (SDS1000X-E) |
Flow Controller |
|
Alicat MC-series |
DAQ |
|
Keysight 34980A, NI-DAQmx, LabJack T-series, MCC USB-series, DewesoftX (unstable) |
I2C |
|
Total Phase Aardvark |
Modbus |
|
Any Modbus TCP / RTU device |
Motor Controller |
|
VESC 6 over CAN via python-can (unstable) |
EtherNet/IP |
|
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.