Day: February 10, 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.