Skip to content
BenchMesh

Lab infrastructure · R&D · test · service

Top-end instrument features for the instruments you already own

LAN control, a web interface, one programming interface for every instrument, logging, sequencing and shared access: these are features you usually pay for at the top of the range. The power supplies, multimeters and electronic loads already on your benches can have all of them - connected to one small computer, for free. Here is how, and where it pays off in R&D, test and service labs.

By Marek Kaszewski12 min read

What you pay for at the top of the range

Compare a budget bench power supply with a top-end one and the differences are not only in the specifications. Precision, noise and speed are part of it. The rest is how the instrument fits into a lab:

  • LAN connectivity, often to the LXI standard, with SCPI over TCP and a built-in web interface, so anyone on the network can see and control it.
  • A standard programming interface: SCPI through VISA, so MATLAB, LabVIEW, Python and test executives such as TestStand drive it the same way as every other instrument in the rack.
  • Data logging and trend charts, sometimes inside the instrument, more often in companion software.
  • Sequences and list modes for sweeps, ramps and unattended tests.
  • Test software that puts several instruments on one screen - usually from the same vendor, often licensed per seat.

Lower and mid-range instruments mostly have a USB virtual serial port, sometimes RS-232, sometimes USB-TMC; LAN is less common, and a documented SCPI command set is far from guaranteed. Each speaks its own protocol, and the vendor software is, as I wrote in the previous post, often a Windows-only demo.

The point of this post: whether the instrument has Ethernet does not matter. Any working interface is enough. Put the instruments on one computer running BenchMesh and that computer gives every one of them the lab-level features above.

One mini PC as the instrument server

The setup is deliberately small. A fanless mini PC - the palm-sized kind with an Intel N100 class processor, sold for around the price of a budget bench supply - sits on the shelf above the bench. The instruments plug into it, and it plugs into the lab network.

One mini PC connects every instrument to the lab networkFive instruments connect over USB, RS-232 and LAN to a mini PC running BenchMesh. On the mini PC MATLAB, LabVIEW and PyVISA use virtual SCPI ports. Over the lab network browsers, view-only screens and Python scripts reach the bench through HTTPS remote access.Power supplyUSB serialMultimeterUSB serialElectronic loadUSB / RS-232OscilloscopeUSB-TMC / LANSignal generatorLANMini PCBenchMesh, Windows or LinuxOn the mini PCMATLAB, LabVIEW, TestStandVISA: SCPI ports 5025, 5026...REST and WebSocket APIflows, recordings, MCPBrowser on any deskHTTPS, passwordWall screen, studentsview-only passwordPython, Jupyter, pytestpip install benchmeshlab network: HTTPS, port 57667USB hub, RS-232 adapters, Ethernet switch
One small computer turns a shelf of USB and serial instruments into a networked, programmable test station.
PartWhy
Mini PC, x86-64, Windows or LinuxRuns BenchMesh around the clock. A low-power N100 class machine is plenty for a bench of instruments. (There is no ARM Linux build yet, so not a Raspberry Pi.)
Powered USB hubFor USB serial and USB-TMC instruments; powered, so many instruments do not load the PC's ports.
USB to RS-232 adaptersFor older instruments with a DB9 port.
Small Ethernet switchFor instruments that do have LAN, and the uplink to the lab network.
Isolated USB adapter (optional)For instruments measuring floating circuits, to avoid ground loops through the PC.

BenchMesh detects the instruments on USB, serial and LAN, and each one gets the same kind of panel whatever its brand. From then on the mini PC is your instrument server: the place where every instrument of the bench is reachable, recorded and programmable.

What every instrument gains

A USB or serial instrument on its ownThe same instrument on the BenchMesh mini PC
Network accessNone - one cable to one computerAny browser on the lab network, over HTTPS with a password (remote access)
Shared viewingWhoever stands at the benchA view-only password for colleagues, students or a screen on the wall
Programming interfaceThe vendor's protocol, if documentedOne SCPI dialect for every instrument on its own virtual SCPI port; a Python package; REST and WebSocket API
MATLAB, LabVIEW, TestStandA driver per model, if one existsA VISA address such as TCPIP0::127.0.0.1::5025::SOCKET
LoggingPen and paper, or the vendor demoEvery instrument on one shared timeline, exported to CSV or pandas
SequencesTurning the knobFlows: set, wait, read, decide, loop, sweep, record - with every change confirmed
AI assistantsNoneClaude, Cursor and other MCP clients read the bench and, when you allow it, run flows

None of this needs a new instrument, a licence or the vendor's software. The mixed shelf - a Tenma supply, an OWON load, a Rigol scope, a multimeter from yet another maker - behaves like one coherent test station.

MATLAB, LabVIEW and Python against the whole bench

Most labs already have their analysis and test code in MATLAB, LabVIEW, Python or a test executive. BenchMesh gives all of them one interface.

On the mini PC: VISA and SCPI

Switch on Instruments → Connectors and every instrument answers SCPI on its own port, like a LAN instrument on port 5025 - also a serial supply that speaks no SCPI at all. MATLAB opens it with visadev, LabVIEW and TestStand with a VISA resource, Python with PyVISA. Here is a classic R&D measurement, the efficiency curve of a DC-DC converter, with a supply, a meter and a load from two different makers:

MATLAB on the mini PC
% Efficiency of a DC-DC converter, from 0 to 2 A load.
% Runs on the mini PC; every instrument is a SCPI socket there.
psu  = visadev("TCPIP0::127.0.0.1::5025::SOCKET");  % Tenma 72-2540 (USB serial)
dmm  = visadev("TCPIP0::127.0.0.1::5026::SOCKET");  % OWON XDM1241 at the output
load = visadev("TCPIP0::127.0.0.1::5027::SOCKET");  % OWON OEL1515 electronic load

writeline(psu, "VOLTAGE 12"); writeline(psu, "CURRENT 3"); writeline(psu, "OUTPUT ON");
writeline(load, "MODE CURR"); writeline(load, "INPUT ON");

i = 0.1:0.1:2; eff = zeros(size(i));
for k = 1:numel(i)
    writeline(load, sprintf("CURR %.3f", i(k))); pause(2)
    vin  = str2double(writeread(psu,  "FETCH:VOUT?"));
    iin  = str2double(writeread(psu,  "FETCH:IOUT?"));
    vout = str2double(writeread(dmm,  "FETCH:MEAS?"));
    iout = str2double(writeread(load, "FETCH:IIN?"));
    eff(k) = (vout * iout) / (vin * iin);
end
writeline(load, "INPUT OFF"); writeline(psu, "OUTPUT OFF");
plot(i, 100 * eff); xlabel("Load current [A]"); ylabel("Efficiency [%]")

The instruments keep showing every change on the bench while the script runs, values are checked against each instrument's limits before anything is sent, and the same run can be recorded on the timeline. By design the SCPI ports listen only on the mini PC itself, so run these programs there - at the bench, or from your desk through remote desktop.

From your desk: the browser and Python

Over the network, colleagues open the bench in a browser, and scripts connect through remote access with the Python package. Data from last night's soak test goes straight into pandas:

Python on any computer of the lab network
import benchmesh

# From any desk on the lab network: the mini PC's address and remote access password
bench = benchmesh.connect("https://192.168.1.20:57667",
                          password="the password", fingerprint="AB:CD:...:EF")
for inst in bench.instruments():
    print(inst.id, inst.model, "online" if inst.online else "offline")

rec = bench.recordings()[0]             # last night's soak test
df = rec.to_pandas()                    # every instrument on one time axis

Five lab scenarios

1. R&D: characterisation without an ATE budget

Efficiency curves, load regulation, line regulation, thermal drift: the measurements every power, battery or sensor design needs. With a supply, a load and a meter on the mini PC, the sweep above runs unattended, and the results land in MATLAB or a notebook instead of a spreadsheet typed by hand. A modest bench becomes a characterisation station.

2. Validation and soak tests that run overnight

Burn-in, endurance and battery discharge tests run for hours or days. A flow holds the conditions, records every instrument once a second on one timeline and switches outputs off at the end or when a limit is crossed. In the morning the whole team opens the recording in a browser - no one copies files off the bench computer.

3. Production and end-of-line test

A small batch of boards needs a functional test: power up at nominal voltage, check current draw, measure a few rails, pass or fail. TestStand, LabVIEW or a pytest suite with the Python package on the mini PC drives the bench through one interface, so swapping a failed meter for a different brand changes an address, not the test code.

4. Repair and service workshops

Repaired power supplies, chargers and controllers need a load test and a burn-in before they go back. The mini PC runs the same flow for every unit and keeps the recording as a record of the test. A screen on the wall, signed in with the view-only password, shows every station's live values to the whole workshop.

5. Teaching labs

Each bench gets a mini PC. Students control their own bench; the instructor follows any bench from the front of the room with the view-only password, and students take their recorded data home as CSV. The budget instruments a university can afford by the dozen get the workflow of a research lab.

What it does not replace

To be clear: software does not make a budget instrument precise. A top-end 6.5-digit multimeter, a low-noise supply or a fast oscilloscope remain better instruments, and labs that need their accuracy, speed or traceable calibration still need them. A few more limits are worth knowing:

  • Timing is software timing. Recordings put all instruments on a common time grid from one second up; there is no hardware triggering between instruments.
  • The interface sets the pace. A serial supply at 9600 baud answers a few times a second - fine for tests that last minutes or hours, not for fast transients.
  • Calibration is the instrument's. BenchMesh records what the instrument reports; it does not add accuracy or traceability.

But most labs and workshops do not need the last digit. They need to set, measure, log, repeat and share - reliably, from the tools they already use. That part no longer has to come with the most expensive instruments on the market.

Set it up in an afternoon

  1. Install BenchMesh on a mini PC running Windows or Linux (download; free and open source).
  2. Connect the instruments through a powered USB hub, RS-232 adapters and an Ethernet switch; add them in the app. Check your models in the supported instruments list.
  3. Switch on Remote access with a password, and a view-only password if others should watch.
  4. Switch on Connectors for MATLAB, LabVIEW and PyVISA on the mini PC, and copy the VISA addresses.
  5. Record a first test, and open it from your desk.

Questions

Can I put USB and RS-232 instruments on the lab network without buying LAN versions?

Yes. Connect them to a small computer running BenchMesh. Every instrument then appears on the network through BenchMesh remote access (HTTPS with a password, in any browser or from the Python package), and the programs on that computer reach each one through its own SCPI port, like a LAN instrument.

Can MATLAB control a serial power supply that does not speak SCPI?

Yes. BenchMesh gives every configured instrument a virtual SCPI port, for example TCPIP0::127.0.0.1::5025::SOCKET. MATLAB opens it with visadev (Instrument Control Toolbox) or with tcpclient in base MATLAB, and sends commands such as VOLTAGE 5 and FETCH:VOUT?. BenchMesh translates them to the instrument's own protocol.

Which mini PC should I use?

Any small x86-64 computer that runs Windows or Linux - a fanless mini PC with an Intel N100 class processor is plenty for a bench of instruments. BenchMesh has no ARM Linux build at the moment, so a Raspberry Pi is not an option today.

Does this make a budget multimeter as good as a high-end one?

No. Accuracy, resolution, noise, speed and calibration stay what the instrument has. What changes is everything around the measurement: network access, a common programming interface, logging, automation and sharing - features that used to come only with top-end instruments and commercial software.

Is it safe to put instruments on the network?

Remote access is off until you set a password and switch it on. It uses HTTPS, accepts only addresses of local and private networks, slows down password guessing, and shows who is connected. A separate view-only password lets people watch without changing anything. The SCPI ports and the AI (MCP) endpoint listen only on the mini PC itself.

← All posts