Tooling

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.

On this page