Modern oscilloscopes are often loaded with features, but every now and then you run into a feature that seems easy to implement yet isn’t available. [kgsws] wanted to use his Rigol DS1074 to show live measurements in his YouTube videos, but found out that this scope doesn’t support video output. Not to be deterred, [kgsws] decided to add this feature himself. In the video embedded below, he describes in detail the process of adding a USB Video Capture (UVC) interface to his oscilloscope.
The basic idea was to find the signals going into the scope’s display and read them out using a Cypress EZ-USB board. This is a development board that can be used to design USB devices, and supports the UVC mode. However, with no documentation of any of the Rigol’s internal circuitry [kgsws] had to probe the display connector to find out which pin carried which signal. And since he had no other scope available than this Rigol, he hooked up the various bits of the disassembled instrument so that it could (awkwardly) probe its own internal signals.
After mapping out its own display signals, it was time to hook them up to the EZ-USB board. [kgsws] achieved this by soldering about two dozen tiny wires to SMD pads on the motherboard. The EZ-USB board itself was placed in the back of the scope’s case, but had to be stripped of unneeded components in order to save space and power. A very clever trick was the addition of a reed switch, which allowed [kgsws] to set the EZ-USB board to programming mode without having to open the scope’s case, by simply holding a magnet near the switch.
After soldering a USB connector into a spare slot in the RF shield the project was complete. The Rigol can now be connected to a PC and will simply appear as a video capture device, ready to be streamed or captured for [kgsws]’s future project videos. We’ve seen other hacks on the Rigol DS1000Z series to capture a series of screenshots or to enable additional bandwidth and features, but adding a live video output was not one of the options so far.
I always laugh whenever I look at the back of an oscilloscope and see the label “No user serviceable parts inside”
Talk about not considering your audience!
I think real users understand about “users”.
Why a electronic professional will ever want to open an electronic device such as his own tool? Funny label…
Very cool! I would have thought that probing itself might be dangerous/harmful. I have a DS1000 series Rigol but have not hacked it…yet!
It may cause a disruption in time space contiuum but the chances are pretty low. Just be careful.
That is a very impressive, yet entirely unnecessary hack.
This scope has a network interface, so the same can be done in software. On Linux with DSRemote and screen recording software like Peek. See it in action here:
https://youtu.be/4vp6zHrX8n8
DSRemote is useful, but capturing the display directly should give you a better refresh rate.
The old tektronix scopes (tubed) actually had a troubleshooting section in the manual that used the scope as a tool. That was before the scope makers started putting markings “no user servicable parts inside.”
Newer Agilent scopes come with an option to plug in a VGA adapter. Not much imagination to follow this path.
I’d love more detail on the Cypress side of things. Is the firmware running on the FX3 basically a stock thing with a few config variables to define the pixel format? Or is there a lot of hand-hacked code in there? Where would one even start to learn this aspect?
I had a similar thought. I haven’t dug into them yet however the app notes from Cypress are probably a great start (https://www.cypress.com/documentation/application-notes/an87216-designing-gpif-ii-master-interface).
I was then going to review the source code that kgsws posted here: https://github.com/kgsws/uvc_scope
Between the two, it should provide a good starting point.