DSO-500K oscilloscope | HackSpace #67

Oscilloscopes are, at heart, very simple tools. They take a voltage and use that to display a point on a screen, usually, in a time-based graph. That’s really all it takes to be an oscilloscope. However, underneath this is a huge web of complexity.

The first bit of complexity is the limits on the signal that it can display – the two main limits being voltage and frequency. For many users, voltage isn’t particularly limiting. Many modern circuits only use fairly low voltages, and almost any oscilloscope can handle these. Frequency, though, is more of a problem.

DSO-500K oscilloscope

If you’re trying to debug a waveform, you need a sample frequency higher than the waveform because you need to see how the waveform is structured, so you want to have multiple samples per wave. How many samples per wave depends on exactly what you’re trying to see. This is a bit of a problem because, at very high speeds, electronics become challenging. Not only does the scope’s processor have to be able to read and process the data as it comes in very fast, but the analogue electronics that sit in front of the analogue-to-digital converter (ADC) also have to handle the signal without introducing noise, which would render the reading inaccurate. The faster the data rate, the harder these two problems are. These two limits are slightly different, and the oscilloscope’s data sheets should show them separately. The samples per second (usually given as MS/s or GS/s) is the number of samples the processor can read. The bandwidth is the maximum frequency the analogue circuit can handle.

Typically, there will be more than one input as well. Two and four are the most common options.

There are a bunch of other things that a modern oscilloscope should do to help you work out what a signal is showing. For example, adding two inputs together, or integrating a signal.

With all this in mind, let’s take a look at the DSO-500K oscilloscope ($34.50) by FHDM Tech.

500K refers to the number of samples per second the scope can take (this is combined on both channels, so if you’re using both, it’s 250,000 per channel, per second). The bandwidth is 150kHz, so any signals over this frequency may be distorted or filtered out. To put these numbers in context, the limit on human hearing is about 20kHz, so any audio frequencies will be well within its range. However, even the slowest ‘standard’ mode I2C is 100kbps, so you’d struggle to accurately see the waveforms of these signals. However, this device also has a ‘logic analyser’ mode in which it only detects the logical state of a connection. In this mode, it can do 20MS/s. There’s no protocol decoding for the logic analyser, but you can export the samples as a CSV file.

DSO-500K oscilloscope

The scope can handle +/- 6 V with regular probes or +/- 20 V with 10x probes, although neither is included, so you’ll need these in addition to the main board.

This oscilloscope doesn’t have a user interface built in. Instead, you can connect to it over Wi-Fi or USB from a phone or tablet, and there’s an Android or iPhone app called ‘Scoppy’ that displays the signal and lets you set various options. Obviously, this means that the size and quality of the screen is entirely dependent on the device you hook it up to.

The interface provides most of the basic features you’d expect of an oscilloscope, including YT, FFT, and XY modes, various triggering options, and measurement of signal properties such as Vmax, Vmin, frequency, and duty.

This decoupling of screen and back-end (along with the fact that the firmware is open-source) means that you can also build your own back-end. The ADC is that of a Raspberry Pi Pico W, and you can flash the firmware onto this. The analogue interface can be as big or small as needed. In some cases, you might just be able to connect directly to the ADC pins. In other cases, you might need some protection circuitry. The Scoppy app has a free version, but the premium version is bundled with the DSO-500K.

This is a budget and fairly low-speed oscilloscope. For audio work and similar speed signals, it can work great, but anything faster is going to cause problems. The logic analyser feature is interesting, but without the ability to decode protocols, it’s a bit limited compared to other options. The standout feature of this, for us, is the openness of the platform. The ability to build your own hardware to work with the front-end means that there’s a wide scope for hacking and building your own debug hardware.


A bit slow, but with excellent hacking potential.

HackSpace magazine issue 67 out NOW!

Each month, HackSpace magazine brings you the best projects, tips, tricks and tutorials from the makersphere. You can get HackSpace from the Raspberry Pi Press online store or your local newsagents.


Kawal avatar

There is a well established diy hs402 that can do 2 channels with 4.2Msps sampling rates. At lower rates the scope can do 12 bit or better resolution. This scope has a PGA chip that allows multiple input range switching. More importantly the app that this scope uses is very good with many pro level features. Did i mention. Wifi data transmission?

Neilgue avatar

No, I don’t think you did mention Wifi. But maybe I wasn’t paying attention.

Doug Makofka avatar

Unless im missing somehting at 250k samples per second, the highest frequency you can process without aliasing is 125k. If you take advantage of the 150k input bandwidth you will have distorted readings. Perhaps there are anti-aliasing filters on the inputs?

Comments are closed