Instrument Software & SCPI Control
pyvisa, lxi-tools, sigrok, NanoVNA-Saver, BenchVue, TekScope — the host-side software that drives bench instruments.
The "I want to script my bench" layer. Modern bench instruments overwhelmingly speak SCPI (Standard Commands for Programmable Instruments) over USB-TMC, LXI/LAN, or GPIB; once you've got a transport and SCPI strings, you can drive them from Python, Jupyter / Marimo, or a CI runner. Pair with Oscilloscopes, Power Supplies, Multimeters, Logic Analyzers, and Test Fixtures for production runs. For the boards being measured see PCB / EDA Suites; for sim-vs-bench checks see Circuit Simulation.
SCPI / VISA stacks
- ★ pyvisa — the de-facto Python SCPI library. Talks to USB-TMC, LXI, GPIB, raw socket, serial. Backends:
pyvisa-py(FOSS, pure Python — sufficient for USB-TMC and TCP), or NI-VISA / Keysight VISA (closed, bundled with vendor IDEs). Apache-2 (lib), commercial backends per vendor. - ★ lxi-tools — FOSS C/CLI tool for discovering and driving LXI instruments over the network. Pairs nicely with shell scripting and CI.
- python-vxi11 — older RPC-based protocol for LAN instruments; superseded by VXI-11/HiSLIP under pyvisa.
- python-ivi / IVI — abstracted instrument-class interface; over-engineered for hobby use, common in industry.
- GPIB: NI-488.2 and the Linux-GPIB project (FOSS) for talking to vintage HP/Tek instruments via GPIB-USB-HS.
Open-source instrument applications
- ★ sigrok / PulseView — see Logic Analyzers and Oscilloscopes. Drives logic analyzers, scopes, DMMs, PSUs across 80+ devices. GPL3.
- ★ NanoVNA-Saver / TinySA-Saver — FOSS desktop UIs for NanoVNA / TinySA / LiteVNA. See Spectrum & VNA.
- OpenHantek6022 / OpenHantek3000 — FOSS clients for Hantek USB scopes.
- EEZ Studio — companion app for the EEZ Bench Box; also a generic SCPI scripting IDE. FOSS. See OSS Bench Instruments.
- Hexrd / Pyspecde — niche instrument-control libs.
- scikit-rf — Python S-parameter library for VNA data; FOSS, MIT.
Vendor instrument software
- Keysight BenchVue / PathWave — Keysight's IDE for their instruments; closed, free, runs only on Windows. Excellent if you live in the Keysight ecosystem.
- Tektronix TekScope / TekVISA / OpenChoice — Tek's drivers and PC software; closed.
- Rigol UltraScope / UltraSigma — Rigol's free Windows drivers; SCPI underneath, so pyvisa works regardless.
- Siglent EasyScope / EasyPower — Siglent's free Windows utilities; same story.
- Saleae Logic 2 — see Logic Analyzers. Closed, free with hardware, has a Python automation API.
- Pico WaveForms — for PicoScope; closed, polished.
- Digilent WaveForms — for Analog Discovery; closed but free, with an open SDK.
Production / industrial
- NI LabVIEW + TestStand — the dominant industrial test stack. Closed, license-fee'd. Powerful but expensive.
- OpenHTF (Google) — Apache-2 production test framework in Python; a real alternative to TestStand for new projects. See Test Fixtures.
- MATLAB Instrument Control Toolbox — for the MATLAB-shop; pyvisa is the FOSS equivalent.
Notebook-driven workflows
- ★ Jupyter + pyvisa — the 2026 default for "I want to characterize this thing once and write it up." Live measurements + plots + writeup in one notebook.
- ★ Marimo + pyvisa — modern reactive notebooks; great for interactive sweeps where you adjust an AWG slider and watch a scope plot update live. See the data section's notebooks page.
- VS Code + Jupyter kernels — same workflow inside VS Code if you prefer.
- MATLAB live scripts — equivalent for the MATLAB tribe.
SCPI quick reference (worth bookmarking)
*IDN?— every SCPI-compliant instrument identifies itself. First command in every script.*RST— reset to factory defaults.:CHANnel1:SCALe 0.1(Rigol-style) vs.CH1:SCAle 0.1(Tek-style) — punctuation and short-form spelling vary by vendor; always read the programming guide for your specific model.*OPC?— synchronization primitive; blocks until the previous command completes.
License / pricing notes
- pyvisa itself is Apache-2; pyvisa-py is FOSS and sufficient for USB-TMC / LAN. NI-VISA backend is closed, free for non-commercial.
- Linux-GPIB is GPL; pair with a GPIB-USB-HS dongle (NI's is the standard, ~$1k; cheaper Prologix GPIB-USB is FOSS-friendly and ~$150).
- lxi-tools is GPL.
- OpenHTF is Apache-2; TestStand / LabVIEW are commercial NI products.
- Vendor closed software (BenchVue, TekScope, UltraSigma) is free but Windows-only; for cross-platform / scripted use, pyvisa over the SCPI socket is universal.
Pick this if…
- Default Python control of any modern instrument: pyvisa with the pyvisa-py backend.
- CLI / shell-script driven LXI: lxi-tools.
- Talking to a vintage HP via GPIB: Prologix GPIB-USB + linux-gpib + pyvisa.
- Cheap LA / scope on a budget: sigrok / PulseView.
- Production test sequencing, FOSS: OpenHTF.
- Production test sequencing, NI shop: TestStand.
- Interactive measurement notebook: Jupyter or Marimo + pyvisa.
- VNA S-parameter math: scikit-rf.