Messing with the DSO138. A $25 oscilloscope

We got a new toy at the office a while ago which I've been super excited to get my hands on. When I accidentally stumbled across a sub $25 oscilloscope I honestly did not know what to expect and quickly jumped at the opportunity to "borrow" it as soon as the earliest opportunity presented itself.

The DSO138 is a portable oscilloscope produced by JYE tech1. It's designed to be both an SMD and basic oscilloscope training kit. It comes in pre-soldered and unsoldered variants, with the later aiming to act as a through hole and SMD soldering training kit.

DSO138 kit Image credits: JYEtech

It's based on an STM32F103C82 which is as Cortex M3 ARM microprocessor and has an impressive array of features considering the price. Some of the more notable feature as claimed on the JYETech website -

  1. Analog bandwidth: 0 - 200KHz
  2. Sampling rate: 1Msps max
  3. Sensitivity: 10mV/Div - 5V/Div
  4. Sensitivity error: < 5%
  5. Vertical resolution: 12-bit
  6. Timebase: 10us/Div - 500s/Div
  7. Record length: 1024 points
  8. Built-in 1KHz/3.3V test signal
  9. Waveform frozen (HOLD) function available
  10. Save/recall waveform

The user interface is simple enough. It comes with a decent 2.4 inch 320 x 240 TFT LCD display. There are 4 buttons on the right side of the display used to select and scroll through stuff you see on the screen. The buttons are labelled via the silk screen on the PCB and could take a little bit of fiddling to understand what's going on.

The resolution and scaling (between 1v, 0.1v and 10mV per division) of the scope is adjusted using 3 sliders located on the left of the device. The first allows you toggle between AC, DC and ground.

It supports Continuous Run and Single Shot trigger modes as well as a Hold mode, which stops sampling giving you an opportunity to view the results of the capture. There are a couple of of problems here though. Perhaps the most annoying being that you can't adjust the adjust the scaling of the waveform after capturing.

... you can't adjust the scaling after capturing.

This is further exacerbated by how incredibly slow it is to scroll along the waveform. It doesn't work like you would expect, scrolling along faster the longer you hold it down. Instead you end up with a slow but consistent speed.

If that weren't bad enough the the UI is displays anti-piracy warnings when you boot up the device and at what seem to be prefixed intervals. These apparently were designed to caution the user against purchasing and using a pirated version of the device3. I don't think these warnings are worth ruining the experience of every single customer they already have in order to deter a few pirates.

In order to see how well the scope is at probing more elaborate signals, we need a function generator4 to generate electrical waveforms. If you aren't already aware, nearly every computer today comes with a pretty decent digital to analog converter (DAC) which it uses for audio output. We can use this to generate arbitrary waveforms which we can measure out of the audio jack. Luckily free software exists to do just this. I chose Audacity5 for this experiment.

Generating a waveform is pretty simple. It can be done through the Generate menu, selecting Tone... and feeding in the appropriate parameters.

Audacity tone generator

Next we need to probe the audio. This can be done using any generic 3.5mm audio jack and connector. You only need to identify either the left or right channel output as well as the ground terminal. I used a 3.5mm to composite audio converter6 that I had laying around.

Once this is connected, all that remains is to play the tone in audacity and observe the results on the scope.

There is clearly a lot of distortion in the square wave. This is a result of the higher frequency harmonics in the frequency domain not being picked up by the scope.

This can be demonstrated using a 200Hz additive square wave demo available on wikipedia7. Probing it with the scope results in this nice demo of the formation of the square wave.

If we compare it with the animation, we see that it is quite consistent. However it stops smoothing out after only a few of the harmonics are applied to the b

As a result, it's safe to conclude that the DSO138 is only usable for dealing with very low frequency signals. However you aren't exactly paying top dollar for high end equipment.


This is a pretty tough one. As an SMD soldering training instrument, this is a pretty neat project. There are enough SMD and through hole parts to keep you challenged for quite some time. As a scope on the other hand, you aren't going to get any precision work done with this. When compared with more professional instruments this is really just a cheap toy (you obviously get what you pay for); There's a very good reason why good oscilloscopes start at around $350.

However with that being said, it's a great disservice to say that this is completely useless. It's a great learning instrument especially at a $25 price point. Heck! There's a lot to learn in just trying to figure out why it's such a terrible scope. Hobbyists will certainly get some use from it in debugging their circuitry, or even just hacking it since it's open source.

Footnotes and References
  1. (2017). JYE Tech: DIY Oscilloscopes, DIY Kits for Hobbyists. [online] Available at: [Accessed 11 Feb. 2017].

  2. (2017). STM32F103C8 - Mainstream Performance line, ARM Cortex-M3 MCU with 64 Kbytes Flash, 72 MHz CPU, motor control, USB and CAN - STMicroelectronics. [online] Available at: [Accessed 11 Feb. 2017].

  3. (2017). JYE Tech Forum • View topic - Sellers reported selling FAKE DSO138 kits. [online] Available at: [Accessed 15 Mar. 2017].

  4. (2017). Function generator. [online] Available at: [Accessed 12 Feb. 2017].

  5. (2017). Audacity®. [online] Available at: [Accessed 12 Feb. 2017].

  6. Plug, C. (2017). Composite AV Cable Female to 3.5mm Male Convertor Plug. [online] Available at: [Accessed 12 Feb. 2017].

  7. (2017). Square wave. [online] Available at: [Accessed 11 Feb. 2017].