Rigol DS1052E – An Inexpensive DSO

The Rigol DS1052E is a nice digital oscilloscope for little money. It has a USB and RS232 interface over which you can interact with it on your computer. I put the detailed specifications of the device in a Github Gist.


lsusb reveals

Bus 006 Device 006: ID 1ab1:0588 Rigol Technologies DS1000 SERIES

(The device shares the USB device and vendor ID with the Rigol DG1022 Arbitrary Waveform Function Generator.)

The Linux kernel comes with a kernel module for this kind of USB connection: usbtmc.c. It creates /dev/usbtmc0, when you plug in the device.

udev - Permission to access /dev/usbtmc0 as regular user

Create the group usbtmc and add yourself to it:

sudo groupadd usbtmc
sudo usermod -a -G usbtmc your_username

Create (or change) the file /etc/udev/rules.d/usbtmc.rules:

# USBTMC instruments

# Agilent DSO-X 2004A
SUBSYSTEMS=="usb", ACTION=="add", ATTRS{idVendor}=="0957", ATTRS{idProduct}=="179a", GROUP="usbtmc", MODE="0660"

# Rigol DS1100 – ID 1ab1:0588 Rigol Technologies DS1000 SERIES
SUBSYSTEMS=="usb", ACTION=="add", ATTRS{idVendor}=="1ab1", ATTRS{idProduct}=="0588", GROUP="usbtmc", MODE="0660"

Then run

sudo udevadm control --reload-rules


You need a gender changer adapter or a female to female cable to connect to the scope.

Settings: 9600 8-n-1 Line Ending: "\n" (Linefeed)

Be aware that the baud rate can be changed in the scope's menu [Utility]IO SettingRS-232 Baud.

Python Software

Be aware of the extremely helpful project rpi-usbtmc-gateway! Here is the corresponding blog post: A USBTMC ⟷ Ethernet Gatway on the RPi

I wrote a software to use the scope in Python. It's called PyOscilloskop (and it's a fork of sbrinkmann's older version).

More code for the scope on Github:

A couple of related blog posts:

Conversation via USB / RS232





Silencing the FAN

Firmware Upgrade

I tried the firmware found here but I wen back to stock again. Here are the details of the process, however:

Before flashing:

Rigol Technologies,DS1052E,DS1ED141002437,

after flashing:

Rigol Technologies,DS1052E,DS1ED141002437,

Problems with the knob

Rigol's FAQ

  • How do I format the data returned from a DS1000E/D series scope?
    This document shows how to format data returned via USB remote control. Data is returned as a unsigned byte array and must be mathematically converted to show the traditional voltage vs. time data. Please see attached.
    DS1000E/D Waveform Data Formatting Guide (.pdf)
  • What is the longest time duration waveform that a DS1000E/D series scope can acquire?
    The longest time division is 50s/division. Therefore, the scope will acquire 10 minutes of data (50s/division * 12 divisions = 600s / (60s/min) = 10 min
  • What is the USB data transfer time for 1 million points using the DS1000E/D family of scopes?
    Typical data transfer speeds for 1 million points is between 5 and 6 seconds.
  • DS series: set menu display timeout and store for power up
    To set the display timeout:Press Display Menu key > Down Arrow soft key (From page 1/3 to 2/3) > Menu display and select desired menu display time. To save settings:Press Utility Menu key > Down Arrow soft key (From page 1/3 to 2/3) > Down Arrow (From page 2/3 to /3) soft key > Preference > Default load = Last Set
  • How do I find the serial number and firmware revision of my DS1000 series of oscilloscope?
    Press Utility > Down arrow (Page 1/2) > Down arrow (Page 2/2) > Press Sys Info.
  • Why does my DS1000E seem to miss the first trigger points on slow time scales?
    When the horizontal time base is set to 50ms or slower, the scope will into the slow scan mode. In this mode, the scope acquires sufficient data for the left part to the trigger point, then wait for trigger, when trigger occurs, it continues to draw the rest part from the trigger point to the end of the right side. So when we measure low frequency signals, we usually choose slow scan mode to check the whole signal.
  • How do I retrieve data using USB control for the DS1000E/D series of scopes?
    The DS1000E and D series of scopes can retrieve 600, 8k, 16k, 512k, or 1M data points, depending on the configuration of the scope. The attached FAQ documents the remote commands and their order. DS1000E/D Waveform Data Formatting Guide (.pdf)

Rigol's Application Notes

  • What are the number of points captured by a DS1000E/D and replayed on a DG1022?
    The attached FAQ describes how waveform files (WFM file extensions) are mapped to the DG1022 arbitrary waveform mode.
    Points/Waveform captured using a DS1000E/D and DG1022 (.pdf)
  • Utilizing deep memory with Rigol DS1000 Oscilloscope.
    Some Digital scopes offer the capability of capturing waveforms in Long Memory mode. Utilizing the long memory, Rigol scopes can capture complex signals in great detail over extended time periods. This allows an observer to examine high frequency effects.
    How-To Guide - Using an Oscilloscope’s Memory Depth (.pdf)


Rigol's Documentation:

Other good resources: