Day: 10 February 2020

Siglent oscilloscope USB connection Linux and Python

Simple way to connect Siglent Oscilloscope to your Linux PC is PyVisa package and USB interface.
Install PyVisa lib for python: https://pyvisa.readthedocs.io/en/latest/introduction/getting.html

Add permission for USB oscilloscope device:

$ sudo nano /etc/udev/rules.d/99-siglent.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="f4ed", ATTR{idProduct}=="ee3a", MODE="0666"

Python code to list connected devices and query for name:

import pyvisa

rm = pyvisa.ResourceManager('@py')
res_list = rm.list_resources()
for res in res_list:
    print(res)
    dev = rm.open_resource(res)
    print(dev.query("*IDN?"))

Output looks like this:

USB0::62701::60986::SDS1EDED3R1234::0::INSTR
Siglent Technologies,SDS1202X-E,SDS1EDED3R1234,1.3.2

Screen capture command “SCDP” fall into some sort of packet structure error in “pyvisa-py” implementation.
Issue on this thread: https://github.com/pyvisa/pyvisa/issues/458
And this one: https://github.com/pyvisa/pyvisa-py/issues/20

Hmm…. not fully compatible USB interface. Similar issue for RIGOL oscilloscopes.