-
Notifications
You must be signed in to change notification settings - Fork 1
Home
A non-proprietary, cross-compatible VISA toolset for automating the modern electronic engineering workbench.
Built on PyVISA and PyVISA-py with SCPI dialect coverage across 69 instrument families from 15 vendors — Keysight, Rigol, Rohde & Schwarz, Tektronix, Siglent, Agilent, and more.
git clone https://github.com/kerstensrobin/open-EE-workbench
cd open-EE-workbench
python install.pyinstall.py installs all required Python packages and, on Linux, creates a .desktop launcher so the app appears in your application menu.
Required packages (installed automatically):
pyvisa, pyvisa-py, pyusb, pyserial, flask, flask-socketio, pywebview
Optional (prompted during install):
-
zeroconf— enables mDNS / LAN instrument discovery
On Linux, USBTMC devices (scopes, AWGs, PSUs over USB) need a udev rule so PyVISA-py can access them without root:
python core/nachoVisa.py --fix-udevRe-plug your USB instruments after running this. You only need to do it once.
If you run the GUI first and hit permission errors, the scan window has a Fix udev permissions button that shows the exact command to run.
python core/nachoVisa.pyThis queries every USB and LAN VISA instrument it can find, identifies them against the eewBackbone database, and saves the result as a workbench file in workbenches/. You name the workbench (e.g. lab_desk, portable_rig) and it becomes the active workbench used by all scripts and the GUI.
Common options:
python core/nachoVisa.py --usb-only # skip LAN scan
python core/nachoVisa.py --host 192.168.1.50 # probe a specific IP
python core/nachoVisa.py --subnet 192.168.1.0/24 # scan a subnet
python core/nachoVisa.py --save my_lab # save without prompting
python core/nachoVisa.py --debug # verbose outputYou can also scan from the GUI: any tab has a Scan button in the nav bar that opens the scan window.

./open-eew # Linux / macOS — native PyWebView window
./open-eew --browser # open in system browser instead
./open-eew gu128desk # pre-load a named workbench
open-eew.bat # WindowsOr directly:
python app.py
python app.py --browser
python app.py --port 5173 # use a different portpython core/nachoVisa.py --set-active my_other_labOr use the workbench selector dropdown in the GUI nav bar.
| Page | Contents |
|---|---|
| eewBackbone | SCPI command database: structure, inheritance, adding new instruments |
| Workbench and Instruments | Workbench files, instrument roles, GUI workbench tab, manual assignment |
| CLI | nachoVisa.py, setWorkbench.py, and standalone scripts |
| GUI - Automation | Built-in parametric tests: DC sweep, PSU interrupt, AC sweep, DMM logger |
| GUI - Plot Specific | Datasheet-style plots with live canvas — IV Curve, Transfer Characteristic |
| GUI - Sandbox | Build custom tests with the column-based pipeline editor |
| About Testing | Engineering context for every test: what it measures and when to use it |