DSO V1.1 open source code

here is the opensource code for DSO Nano.

you can compile and edit it with IAR EWARM .

Modify the APP project that you can make a new UI for DSO , we will follow-up the course of how to make a personalized DSO by yourself.

DS0201_OpenSource.rar (963 KB)

Thank you, sir

Good move. Thank you

Is this older or newer than the “Ver2.01” I had preinstalled on mine?

It’s older than the code that preinstalled ~ but they are much the same

I have a unit with firmware version 1.1, but people here seem to be talking about a version 2.01 - where would I get his upgrade? I havent found any links on the seed website or this forum for it. also, is there a changelog somewhere?



Here is the newest F/W

DS0201_FW_V2.02_SS.rar (20 KB)

I tried compiling the codes provided above using IAR 5.40, it requested the workspace to be updated since it was created from an old version of EWARM. After which I was not able to continue with the compilation with the ff. errors:

Error[Li005]: no definition for “__program_start” [referenced from C:\DS0201_OpenSource\DS0201_DFU\project\EWARM\Debug_FLASH\Obj\
Error while running Linker

Comparing the provided sourcecode above with the codes provided by bure from the chinese forums, mostly the changes were the logo and the comments (which are very good). I would like to know if the updated source code will be released, since its tagged as an opensource device. Hopefully it will be compatible with the latest IAR IDE (v5.40)

I noticed that the latest f/w shows v1.1 in the logo, I believed the hardware that seeedstudio will release is a 1.3a and not a 1.1.
I also liked the v1.4 f/w from paul (only there was a few spelling errors).

I fixed the error by adding this code

define __program_start __iar_program_start

It turns out that, IAR5.xx compilers have considerably changed from IAR4.xx the method for the entry procedure.

this code project is build by IAR 4.20 , the newest F/W is also in IAR 4.20

And the V1.1 in LOGO should be the hardware version , now the newest version is V1.3A , and the F/W version is V2.02.

the F/W of V1.X will be open source and everyone can use it as them wish , but the V2.X F/W will not release the source code , because there is some third party code in it and we don’t have the authorization to public it.

and the H/W is all open source for all version.


I’ve a question. The firmware can be flashed through DFU FileManager. However is the bootloader protected. I.e can destroy the bootloader by flashing a wrong firmware thus bricking the device. Or can I always reflash the original firmware restoring the device to it’s original state?

The source code is divided into two.

The DS0201_APP and DS0201_DFU

DS0201_APP-Is the Oscilloscope firmware

DS0201_DFU-This is for the integration with DFuse

I have corrupted the DS0201_DFU (a garbage screen display), but had manage to fix this since I had backuped the full ROM. You can not fix the DS0201_DFU portion of the firmware using the DS0201_APP only. A full copy of the firmware can fix this.

To create a backup, using DFuse Demo.

  1. Connect DSO Nano, it should be detected by DFuse Demo
  2. Under Upload Action->Click Choose
  3. Type filename to save the backup rom
  4. Click Upload
    The file should be around 128k (STM32F103VB)

I don’t know if that answer your question. But I hope it helped you in anyway.

Thanks for the reply. How do I restore the full rom when the DFU has been corrupted?

Eventhough this may be off-topic to the subject of the post, i’ll try to answer.

SeeedStudio may have alternative answers. As I haven’t fully corrupted my firmware, I have not tested this yet (maybe soon hehe).

After the DFU firmware is written on the DSO Nano, the JTAG function will no longer work. If the firmware is corrupted and you can’t use Dfuse to overwrite the new firmware, you can refer to ST Application Note AN2557 STM32F10x in-application programming using the USART. This may be your only solution. I think there is a section there for IAP (In-Application-Programming). You need to hook up with the Usart1 of the Dso Nano and use hyperterminal. You can also write protect some portions of the flash memory to protect from accidental writing.

st.com/stonline/products/lit … /13916.pdf
vhangell_backup_DS0201_FW_V2.02_SS.zip (36.1 KB)

Is possible to have the newer FW sources with those third party code sections stripped out?
I think that it’s easy to do as it should consist just in the removal of some files, isn’t it? :wink:

Many thanks in advance for your reply!

I think if you remove the third party code updates, you will have the very same code as posted on the first page.
The codes were updated on the same files inside the source archive.

Ok maybe, but I think that it doesn’t make sense to introduce third-party proprietary code in a great project originated as open source like this.

There may be some good news for you guys ^^

  1. the new F/W will open source
  2. the new opensource code will be build in IAR 5.4
  3. the new F/W will divide into into 2 parts : APP and LIB . APP will open , the APP source code is smaller than 32K , so you just need a free evaluate version IAR to develop it.

Wow thats very promising… is it still based on 1.0 or from 2.02?
I mean does it include the latest revisions on the codes? thanks

Where can I get IAR Arm 4.42A - I have only been able to find a download for v5.4.
Edit: got code compiling with v5.4.

It would be nice if the code could be compiled using GCC.

What license is the code under? i only see a copyright message. Copyright + source code !=open source (you need permissive copyright / copyleft).

Could you please update us on the license that is to be applied / applies to the code. A MIT or a similar license would be good.