HomeApplication notesVXI-11 (LXI) LAN control with Python — no socket…
Programming & remote controlBeginner

VXI-11 (LXI) LAN control with Python — no sockets required

Some instruments have LAN but no raw socket. VXI-11 is the LXI-standard answer — a tiny Python library controls them on Windows, Linux and Raspberry Pi.

8 min readIncludes code

VXI-11 is the RPC protocol behind LXI instrument control. It needs no VISA installation, runs anywhere Python runs (including Raspberry Pi and other single-board computers), and — crucially — it works on Siglent models whose LAN port has no open socket: SDS2000/SDS2000X, SDS1000X/X+ and SPD3000X/XE.

Install

bash
pip install python-vxi11

Connect and control

python
import vxi11

inst = vxi11.Instrument('192.168.1.110')
print(inst.ask('*IDN?'))

inst.write('TDIV 1MS')          # example: SDS timebase 1 ms/div
print(inst.ask('SARA?'))        # sample rate query
What you should see
Siglent Technologies,SDS2304X,SDS2XJBD1R0001,1.2.2.2 R19
SARA 1.00GSa/s

ask() = write + read in one call; use write() / read() separately for binary transfers such as waveform dumps.

Why choose VXI-11 over raw sockets?

  • It is the only LAN route on the older models listed above
  • Discovery and instrument-side error handling are built into the protocol
  • Identical code on Windows, macOS, Linux and Raspberry Pi

For new automation on current instruments, raw sockets (port 5025) are simpler and faster; keep VXI-11 in the toolbox for the models that need it and for mixed fleets.