Experiments with DS203 oscilloscope15.sep 2011
I have recently purchased DS203 quad oscilloscope. It is a very small portable oscilloscope that looks more like a mobile phone
or mp4 player. On forums on internet you can find many reviews that consider this device more as a toy than a oscilloscope.
The interesting thing on this device is, that it's source code is open.
All source files including the FPGA code you can find on seeed-studio's github. If you want to start experimenting in extending the functions of original firmware, you can download whole project here (You only need to append "/zipball/master" to the project link and the github server will make a zip archive for you to download).
The project files on seeed-studio's github are designed to be opened in IAR Workbench Studio. Unfortunatelly this application is not free and you can download only 30 day trial period version. Some programmers tried to build the project with GCC toolchan. I found these: dsonano by Tormod Volden on code.google.com and dsoquad by tmbinc. I didn't succeed building (on Win32) the first one, nor the second, so it took me a while to figure out how to produce a .hex file that could be uploaded onto DS203 device.
There are two problems:
Next step was rewriting the makefile into batch file, because I didn't want to use any linux support layer on my machine.
I decided to start working with the tmbinc's port (V2.51), I put there missing files from Tormot Volden's port and tried to build it. Finally my first .hex file was born. After uploading into the DS203 device it freezed and keeped beeping.I found out that the cause is calling the strcpy function.
After fixing this problem (writing my own strcpy function) the application was running well. This problem was
fixed by setting appropriate linker flags.
Download the latest version of Win32 GCC port of DSO QUAD 2.51 here (17.9.2011).
Custom oscilloscope firmware (in development stage) available on github
Here are some examples to download (don't forget to edit the makefile.bat to set the path to your toolchain) :
All source files including the FPGA code you can find on seeed-studio's github. If you want to start experimenting in extending the functions of original firmware, you can download whole project here (You only need to append "/zipball/master" to the project link and the github server will make a zip archive for you to download).
The project files on seeed-studio's github are designed to be opened in IAR Workbench Studio. Unfortunatelly this application is not free and you can download only 30 day trial period version. Some programmers tried to build the project with GCC toolchan. I found these: dsonano by Tormod Volden on code.google.com and dsoquad by tmbinc. I didn't succeed building (on Win32) the first one, nor the second, so it took me a while to figure out how to produce a .hex file that could be uploaded onto DS203 device.
There are two problems:
- 1. Finding the suitable toolchain, for my experiments I am using CodeSourcery Arm toolchain (arm-2011.03, just download the Windows TAR archive and unpack it somewhere, no installation is required)
- 2. Putting everything together (in the tmbinc's project some neccessary files were missing)
- 3. Converting IAR assembly files into GCC compatible format
- 4. Create a script that will compile everything and flash the device by single click
Next step was rewriting the makefile into batch file, because I didn't want to use any linux support layer on my machine.
I decided to start working with the tmbinc's port (V2.51), I put there missing files from Tormot Volden's port and tried to build it. Finally my first .hex file was born. After uploading into the DS203 device it freezed and keeped beeping.
Download the latest version of Win32 GCC port of DSO QUAD 2.51 here (17.9.2011).
Custom oscilloscope firmware (in development stage) available on github
Here are some examples to download (don't forget to edit the makefile.bat to set the path to your toolchain) :
- fft.zip Basic initialization of ADC & realtime Fast Fourier Transform
(Optimized FFT Code for ARM by Ivan Mellen)
Wave is displayed in cyan colour (square signal from signal generator), FFT as green lines
Spectrogram mode - in the middle of screen a line represents 50Hz hum when I was holding the probe tip
- cpp.zip C++ test
- triangle.zip Sierpinski triangle fractal
- minimal.zip Minimal project, Hello world application
- gabo-dsoquad.zip Better folder structure, intermediate folder
- tmbinc-dsoquad.zip Tmbinc's code with minimal changes with makefile.bat