JYE Tech DSO150

There is now (Sept. 2017) a low cost (18 EUR) Digital Storage Oscilloscope (DSO shell) from company JYE Tech available, e.g. banggood.com, search for Product ID = 1093865.

/!\ you can magnify the pictures (and download) with a mouse click on it.




In order to make the DSO more useful, three modifications are made.


Rechargeable Battery Pack

On Ebay.de you can buy a 6 x AA battery housing (ID number 162434646097, 1.6 EUR) with 15 cm wires and an ON-OFF sliding switch.

To connect to the DSO150 you need a DC plug 5.5/2.1 mm (e.g. ebay.de ID no. 152190640539, for about 10 pc. 2 EUR).

/!\ Because of the low voltage (>7.6 V at 50% of the capacity of NiMH batteries) you need to short the inverse-polarity protection diode. See the picture on the right for the wiring. The voltage regulator 78L05 need minimum 6.7 - 7 V for the voltage regulation.

The negative voltage is made by an ICL7660, where 0.6 V are lost. So, 7.6 V - 0.6 V = 7.0 V. The 79L05 regulator need a typical minimum of -6.7 V to -7.0 V for the ouput voltage of -5.0 V.

So, be careful to do not inverse the polarity of the power supply wiring.


USB - UART Converter

In order to allow a firmware update, or to capture waveform data via USB connection (needs toshi firmware 60B), you need to adopt an USB-UART converter. Fortunately you get on ebay.de (ID no. 381765079624) a little module which just fits into the DSO150 housing, and has on the data lines the necessary 3.3 V level. The USB plug is micro USB.

For the connection have a look at file DSO150_HowToUpgradeFirmware.pdf from JYE Tech.

For mechanical fixation on the logic board I used hot glue, see the picture on the right.

You also need to make a cutout in the lower part of the housing for the Micro-USB plug.


In order to make the firmware update easier, the solder jumpers J1 and J2 are routed with wires to 2mm spacing posts, see the picture on the right. I am using wire-wrap wires, because they are thin and have a good isolation.


I have mounted the posts with hot glue to the board.

/!\ Take care about the position, if you place the posts more to the right, the electrolyte capacitors of the analog board are in the way.

I have bought several units, unfortunately one of them could not be programmed (flashed).

For programming I used the freeware program stm32flash and used it under Mac OS and Ubuntu 1604.

$ sudo port install stm32flash

Firmware Mod

A nice guy provides an extended firmware 60B. You can download the software from toshi with source code (archiv 113-15011-60B.zip). The benefits are:

Re-Programming DSO150

I have bought three units, unfortunately one of them could not be programmed (flashed).

The Re-Programming under Windows is described in the file DSO150_HowToUpgradeFirmware.pdf from JYE Tech.

For programming I used the freeware program stm32flash and used it under Mac OS and Ubuntu 1604.

$ sudo port install stm32flash

/!\ In order to use the USB - UART converter under Mac OS you need to install a driver from the manufacturer of the chip. For the recommended chip CP2102 it can be found at this Link

The CP2102 driver is already on board.

The Re-Programming under Linux is explained in detail: Step by Step: How to flash firmware from Linux. This must be done in the terminal.

# see if USB-UART (serial) converter is online.
# Ubuntu
$ ls /dev/ttyU*    

# Mac OS
$ ls /dev/cu.SL*

# If you see this, you are connected

# If there is an error you will see:
stm32flash 0.5


Interface serial_posix: 115200 8E1
Failed to init device.

# Read STM32 Info:
$ stm32flash -b 115200 /dev/cu.SLAB_USBtoUART  # Mac OS
$ stm32flash -b 115200 /dev/ttyUSB0            # Ubuntu 1604
tm32flash 0.5
Interface serial_posix: 115200 8E1
Version      : 0x22
Option 1     : 0x00
Option 2     : 0x00
Device ID    : 0x0410 (STM32F10xxx Medium-density)
- RAM        : 20KiB  (512b reserved by bootloader)
- Flash      : 128KiB (size first sector: 4x1024)
- Option RAM : 16b
- System RAM : 2KiB

# If you see this, the STM32 should be programmable.

$ mv 113-15011-060B.hex 113-15011-060B_toshi.hex

# change directory to the folder with the toshi software
$ cd <folder>  # path of the unzipped archiv 113-15011-60B.zip
$ ls
# The file is in the working path - OK

# Mac OS
$ stm32flash -b 115200 -k /dev/cu.SLAB_USBtoUART
# Ubuntu
$ stm32flash -b 115200 -k /dev/ttyUSB0
Read-UnProtecting flash

# That is OK

# the flashing was made with:
# Ubuntu 1604
$ stm32flash -b 115200 -v -w 113-15011-060B_toshi.hex /dev/ttyUSB0
# Mac OS 10.12.6
$ stm32flash -b 115200 -v -w 113-15011-060B_toshi.hex /dev/cu.SLAB_USBtoUART
Write to memory
Erasing memory
Wrote and verified address 0x0800c814 (100.00%) Done.

# That was OK

Next you open Jumper J1 and J2 and apply power (8 - 12 V) to the DSO150. On the greeting screen you should see the firmware version 60B.

The analysis of the serial protocol of the STM32 is made with the software pulseview, see here for more details.

The software sigrok is a portable, cross-platform, Free/Libre/Open-Source signal analysis software suite that supports various device types (e.g. logic analyzers, oscilloscopes, and many more). The download page is here.

TXD = PC, RXD = STM32 (DSO150), data in hexadecimal
TxD 7F     01 FE                  00 FF
RxD    79         79 22 00 00 79        79 0B 22 00 01 02 11 21 31 43 63 73 82 92 79
TxD 02 FD
RxD       79 01 04 10 79
Data     Device ID 0x0410


Waveform Visualization

OK, you can download the waveform data, but how can you visualize it (see screen shot on the right)? The necessary steps are:

  1. Capture the waveform data to a text file.

    • Start the program first, waiting for the data.

    • Push the ADJ button for the start of the data transmission.

  2. Convert the waveform data to a .csv (Comma Separated Values) file.

    • Take care to localize the decimal point ("." or ",").

  3. Visualize the .csv file data with the freeware program GNUplot.

    • Take care to include the actual Date & Time in the plot.

I liked to use a software which is cross platform (Linux, Mac OS, Windows), so I decided for the interpreter language Python.

The five major tasks in the software are:

  1. Wait up to 60 seconds for the start of the data transmission.

  2. Read the data into a list (in real time), then write all into a text file.

  3. Read the data file, then calculate the time row, localize the decimal point and write the .csv file.

  4. Prepare a parameter file for program GNUplot. Add Date & Time.

  5. Call GNUplot with the parameter file.

    • The terminal command line looks like:

        $ python3 dso150_p23.py -pd
        $ python dso150_p23.py -pd 
        # option -p means capture data and write a .csv file
        # option -d means plot data

The program dso150_p23.py can be seen and downloaded here.

GNUplot shows one goody in the lower left corner of the plot. It is the X-Y position of the mouse pointer in the coordinate system, in application values, in this case X=Time and Y=Volt. But this does not work on Windows 7/10.

GNUplot cross platform

GNUplot can be installed cross platform. The best font quality, which works on all platforms, can be achieved with the graphic library QT5. You get more informations about the terminal qt on the command line:

$ gnuplot
gnuplot> help terminal qt
gnuplot> quit

Unfortunately finding the usable fonts is not so easy and very terminal and operating system dependent. From GNUplot you can get one hint:

$ gnuplot
gnuplot> show fontpath
gnuplot> quit

The default font size in GNUplot terminal qt has a size of 9 points. In Windows this is OK, but for Linux and Mac OS this is increased to 12/14 points for a good readability.


$ brew update
$ brew doctor  # check for errors

$ brew install gnuplot --with-qt
$ brew (re)install gnuplot --with-qt  # in my case gnuplot was already installed with X11
==> Summary
­čŹ║  /usr/local/Cellar/qt/5.9.1: 9,019 files, 278.0MB

$ sudo apt-get install gnuplot5-qt  # version 5.0

Python cross platform

/!\ In order to use the USB - UART converter you need to install a driver from the manufacturer of the chip. For the recommended chip CP2102 it can be found at this Link

Today I can recommend Python 3. It is more comfortable than Python 2. I have tested my program partially also with Python 2.7.

  1. JYE Tech, DSO150

  2. QT5 getting started

  3. QT5 supported platforms

  4. open source firmware for JYE Tech DSO-150 / DSO-138 Digital Storage Oscilloscope

  5. open source firmware for DSO-138 O-Scope

Contact Email

Please enter your Email address, if you expect an answer.

/!\ The entered Email address will not be published, or given away.

Comment this page
Are you human?

Liste der Seiten in dieser category:

-- RudolfReuter 2017-10-07 13:21:29

Go back to CategoryTechDoku or StartSeite