Universal Bench Instrument & Gateway Emulator Suite
Zero-hardware test equipment simulation for PyVISA, SCPI, TestController, LabVIEW, and MATLAB test automation developers.
BenchForge Studio is a standalone, lightweight, multi-protocol bench instrument and hardware gateway emulator suite. It empowers lab automation engineers, driver developers, and test software authors to build, test, and validate instrument automation scripts without needing physical test equipment or hardware adapters on their desk.
- 🌐 Multi-Protocol Gateway Emulation:
- Prologix Ethernet (TCP Port 1234 — Default): Enforces 100% strict physical hardware protocol parity (
Prologix GPIB-ETHERNET Controller version 01.06.06.00\r\n, CRLF\r\nline endings, silent setting ACKs, single-connection displacement locking). - LXI SCPI Raw Socket (TCP Port 5025): Direct SCPI raw socket processing (
*IDN?,:READ?,:FETC?,:CONF:VOLT:DC 10). - LXI mDNS Discovery (UDP Port 5353): Network discovery responder for instrument detection.
- Prologix Ethernet (TCP Port 1234 — Default): Enforces 100% strict physical hardware protocol parity (
- ⚙️ Gateway Emulation Modes:
- One-click switching between hardware gateway personalities:
Prologix Ethernet Gateway (v01.06.06.00)Keysight E5810A LAN/GPIB GatewayAR488 / AR488Lan GPIB Gateway
- One-click switching between hardware gateway personalities:
- ⚡ CI/CLI Revision Validation Harness (
tests/run_validation_harness.py):- Automated CLI protocol assertion runner (
python tests/run_validation_harness.py --benchmark) verifying bit-for-bit hardware compliance and QPS stress performance for build validation and CI pipelines.
- Automated CLI protocol assertion runner (
- 📄 TestController Tooling Integration:
- Built-in parser for TestController
Devices/*.txtdefinitions and generator forsettingsGPIB.txt/settingsLoad.txt.
- Built-in parser for TestController
- 🔍 Live Traffic Snoop & Debugger:
- Real-time packet inspector showing incoming and outgoing SCPI traffic with millisecond timestamps and directional indicators.
BenchForge includes detailed empirical hardware profile specifications probed directly against physical laboratory equipment:
- 📄
PROLOGIX_HARDWARE_PROFILE.md— Physical Prologix GPIB-ETHERNET Controller (192.168.1.85:1234). - 📄
E5810_HARDWARE_PROFILE.md— Physical Keysight/Agilent E5810A LAN/GPIB Gateway (192.168.1.85). - 📄
KEYSIGHT_34461A_LXI_PROFILE.md— Physical Keysight 34461A Truevolt LXI DMM (192.168.1.82). - 📄
SIGLENT_SDM3065X_LXI_PROFILE.md— Physical Siglent SDM3065X LXI DMM (192.168.1.83).
Note
1:1 Emulation Parity: These hardware profiles document the exact command handshakes, socket line termination policies, default identity strings, and query response behaviors observed from physical devices. They served as the reference criteria to implement and assert exact, bit-for-bit 1:1 emulation compliance in BenchForge Studio.
- Python 3.9+
- Windows 10 or 11 (the UI targets Segoe UI Variable and Cascadia Mono, with fallbacks)
git clone https://github.com/BenchForge/BenchForge.git
cd BenchForge
pip install -r requirements.txtThe emulator core is pure standard library. The only runtime dependency is PySide6, which provides the desktop UI.
Note
BenchForge uses PySide6 (Qt for Python), licensed LGPL v3 and compatible with this project's MIT licence. Do not substitute PyQt6 — it is offered only under GPL v3 or a paid commercial licence, and linking it would force GPL on the entire application.
python benchforge.pypython -m unittest discover -s testsThe suite covers the emulator core and requires no GUI toolkit.
pip install -r requirements-dev.txt
python build_exe.py(Produces executable binary under dist/BenchForge)
Tip
CI/CD Releases: Every official release published on GitHub automatically triggers a GitHub Actions workflow that builds, packages, and attaches a compiled Windows zip archive (BenchForge-Windows.zip) directly to the release assets.
Distributed under the MIT License.
