Hacking the Rigol DS1052E
I own a Rigol DS1052E oscilloscope. It is a 2-channel 50MHz scope which offers excellent value for its price, and as an unintended bonus can be easily hacked to increase its bandwidth to the 100MHz of its more expensive but otherwise identical brother DS1102E. This article describes the necessary steps, and where to find the correct firmware files & tools to successfully hack the scope.
Warning & disclaimer: making mistakes when hacking your scope might result in an unusable scope which cannot be repaired and will no longer be serviceable under warranty. In other words, you might brick your scope. Proceed under your own responsibility!
My scope was delivered with firmware version 00.02.06. To upgrade I followed these steps:
1 Find out the current firmware version
To find the firmware and hardware versions of your scope, push the “Utilities” button on the scope, then the lower button until 3/3, and choose “System Info”. This will give the current firmware version and some other info.
Once in this screen press button “CH1” twice, then “CH2” twice then “MATH” once. This will show the full firmware version string, and also the version of your scope’s hardware (next to “Hardversion”).
Be aware !!!!!!! Do not press any key except RUN/STOP to exit while in this mode or you can mess up your scope.
Take screenshots or note this information (serial, firmware version, hardware version) for later reference.
2 Find the original firmware version v2.02 SP2 (v2.02.02.00)
Verify the checksum of the 2.02.02 firmware you just downloaded to make sure you have the correct, uncorrupted file. I use HashCalc to verify MD5 and CRC32 checksums.
- Original v2.02 SP2 file CRC32 checksum: A3370F0E
- Original v2.02 SP2 file MD5 hash: 272086B2037231C62446617436544A77
3 Hack the firmware
Open the 2.02.02 file with a hex editor and replace the first 21 bytes of the header with the 21 bytes of the v2.06 SP0 (2.06.00.01) header:
HEX Address: 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 --------------------------------------------------------------------------- v2.06.00.01: 4A E3 3E 5E 1C EA 8D 39 9A 23 82 86 88 84 02 8C E9 A6 50 D0 BC
Make sure you are editing the DS1000EUpdate.RGL file and not the DS1000D (which is intended for the DS1052D version which has additional logic analyser functionality)!
Headers from other firmware versions (for reference):
HEX Address: 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 --------------------------------------------------------------------------- v2.05.01.00: 44 53 31 30 30 30 45 20 20 20 82 85 84 88 C3 7B 47 92 39 C8 7E v2.05.01.02: 44 53 31 30 30 30 45 20 20 20 82 85 84 82 8B B8 96 41 63 FF 33 v2.05.02.00: 44 53 31 30 30 30 45 20 20 20 82 85 82 88 C0 7E D7 6A 15 B6 B6
4 Save the firmware file
It might be recognised by the scope as v2.06 (2.06.00.01) but it actually is v2.02 SP2 (2.02.02.00) and is OK for changing the model and the serial number of the device.
- Hacked v2.02 SP2 file CRC32 checksum: 0C83CBD6
- Hacked v2.02 SP2 file MD5 hash: 19EB82AB1FA4FE57CC9410F2074E9E67
You’ve now prepared a 2.02.02 firmware file to load into the scope.
5 Upload the firmware to the scope
Take the following steps to update the firmware to 00.02.02 SP2:
- Empty a USB stick. It needs to be completely empty (no files nor folders). I recommend re-formatting it
- Check if your USB stick works on the scope by plugging it in and saving some screenshots to it - see “store and recall” in the user manual
- Unplug it again from the scope and plug it in your computer, check if the screenshots you just saved are there and can be opened
- Delete all files and folders from the USB stick
- Copy the DS1000EUpdate.RGL that you have edited in the step above to the empty USB stick. Again, there should be no folders and only the RGL file on the USB stick
- “Eject” the USB stick in Windows Explorer to make sure Windows saved everything, plug it in again and verify
- Double check your USB stick is working on the scope and the file is saved properly, failure to do so might brick your scope
- Check the MD5 sum of the DS1000EUpdate.RGL file on your USB stick. The MD5 sum for this file should be 19eb82ab1fa4fe57cc9410f2074e9e67
- Eject and unplug the USB stick from your computer
- Plug the USB stick in the scope and start it. It will detect that there is a firmware file on the USB stick and will ask if you want to install it. Follow the on-screen upgrade instructions. Make sure not to interrupt the update process or you will brick your scope! This process takes a few minutes. If the scope does not detect the firmware, use another USB stick or double check the file used.
- Switch the scope off and on when asked to do so
- Check your firmware version of the DS1052E (“Utilities” button, lower button until 3/3, choose “System Info”), it should list 00.02.02 SP2
The scope is now running the hacked 2.02.02 firmware.
6 Connect the scope to your PC and test the USB connection
This is not needed as such for the “hack”, it’s simply to see if your USB connection works fine.
First install the VISA462runtime drivers. Windows needs them to recognise the scope on the USB bus. See the Resources section below.
Start the DS1052E and connect the scope with a USB cable to your PC. A pop-up should ask you to install drivers, choose “don’t search for updated drivers” and let Windows install the drivers. It should automatically find the drivers which we installed above.
If Windows mentions that the “installed hardware does not function properly” then disconnect the scope, reboot, connect the scope again.
Start Ultrascope, click on the “Connect” icon in the upper left corner (right from the floppy) to connect to the scope.
Connecting to the scope might be a bit finicky, I found I needed to select the top line in the “Choose a resource” windows otherwise Ultrascope wouldn’t connect.
In the left panel double-click on “Virtual panel”, click on “Run” in the “Control” group and play around to see if it works.
The scope should respond to any changes you make to settings in the “Virtual panel” window. Also, a small red text “Rmt” should appear on the top right-hand side of the scope’s display, showing that the scope is remotely connected to a computer.
If it does the above fine, exit the virtual console and then Ultrascope.
It might be also a good idea to stop and start the scope again - sometimes it “hangs” when exiting Ultrascope.
7 Change the DS1052E to DS1102E
Forum user shafri has provided a Windows program “rigupgr.exe” that basically does the upgrade automatically.
The conditions are still the same, this will only work on 00.02.02 SP2 scopes.
- Connect the Rigol with the USB cable to your pc if not yet done.
- Start rigupgr.exe
- Click the “Check Rigol Model & Serial” button, it will show you the *IDN? result and your FW version. (it will automatically fill the new model and serial number for upgrade process). Compare this to your original serial number to make sure it is correct.
- Click the “Upgrade Rigol” button to start the upgrade. Wait until it asks you to restart your Rigol and click “OK”. Don’t do anything in between, this might take a while. Also the application might appear to hang, just wait for it to finish.
The scope should now already identify itself as a DS1102E in the ‘Utilities” - “System Info” menu, even without restarting it.
Now restart the scope.
8 Upgrade your firmware to v2.04 SP1 (2.04.01.02), or higher, immediately!
Do not operate any further the hardware version 58 device with the hacked firmware, nor with any other firmware of a revision lower to v2.04 SP1. Try also to avoid all the v2.05 revisions that introduced flickering or other bugs.
Get your hardware version, that is the “Hardversion” found in step 2 of the guide.
- Hardware version “57” (or lower) scopes may stay on 00.02.02.02.00 but there no reason why you should not go to 00.02.04.01.02 (00.02.04 SP1).
- Hardware version “58” scopes need to go to 00.02.04.01.02 (00.02.04 SP1) otherwise there are calibration issues.
- Hardware version “59” scopes are reported to exist, not clear yet what firmware version they need, suggest to try with 00.02.04 SP1 first and read the forums for updates (see “Resources” section below for links).
There seems currently no reason to go to 00.02.05.01.00 or higher for Hardware version 58 (or lower) scopes , some people even reported issues with 00.02.05.01.00 firmware that do not occur in 00.02.04.
The 00.02.04.01.02 (00.02.04 SP1) firmware can be found in the “\DS1052_to_DS1102\02.04 SP1_original” directory of the files you downloaded in step 2.
Again, make sure your is file correct on the USB stick. Use Hashcalc to check the MD5 sum of the firmware file on your USB stick. The MD5 sum for this 00.02.04.01.02 (00.02.04 SP1) DS1000EUpdate.RGL file should be bcf73565352391935f3a9651d30776ee
Upload the scope’s firmware as before. After the update process completes, reboot the scope and verify the firmware version.
Note: if you have installed the USB drivers, after the firmware change Windows will recognize the scope as a new device and you will need to re-run the Found New Hardware Wizard.
Now set the horizontal zoom to maximum zoom. You’ll notice that the scope can now zoom to 2ns resolutions instead of the DS1052E’s 5ns. Success!
9 Calibrate the scope
Since we don’t know if the calibration values have been overwritten by the firmware updates, it is a good idea to do a re-calibration.
- Disconnect all probes
- Push the “Utility” button and choose “Self-cal”
- Press Run / Stop to start
- The scope will now go through its recalibration procedure. This will take a few minutes.
- Upon completion “Calibration finished” appears, press RUN / STOP to exit
Done! Enjoy your upgraded scope!
- It might be wise to buy some proper 100MHz probes.
- Read Twelve tips for using the Rigol DS1052E Oscilloscope .
- Read the user’s guide and other documentation on the Rigol website.
Ultrascope download on the Rigol site (Submitting some fake personal information takes you straight to a download link)