Friday, August 27, 2010

HACKING DSO NANO 0201

Hi everybody.
A few weeks ago I bought the DSO 0201 oscilloscope (you can find it on eBay or in Italy you can buy it from www.futurashop.it).



It's awsome and open source.
You can find all the resources here: Google Code including schematics and source code for version 1.1.

Personally I think that best firmware version is the one named "Paul's 1.5" instead of latest 2.x
It's the one I currently use, but no source is provided because some parts of code are now copyright protected. What a pity.


HACKING!!!!

What if you wanted do some minor changes to an already compiled firmware? For example the beloved Paul's 1.5? Just need to know how to handle dfu files and a hex editor.

In the next steps I'll show you how to change the language of a version (I repacked it to Italian), and also how to edit some characters fonts.

1) Download for example, Paul's 1.5 dfu file (or from here, right click on file and save as...)

2) Open it with an Hex editor and trim away last 4 bytes (which represent the checksum) in this example: 21 1C B8 BB

3) Search for any string, for example "RUNNING" and go to that address.

4) Change the strings you want (the horrible "PAUSHED" should be "PAUSED" or the string in your language) from that point onward. Almost at the end of the file there are error messages. I noticed that if a string ends with many zeroes you can overwrite them (but leave at least one!) proved that the resulting string fits in the screen, once you upload the new file.

5) When you have done you must recompute the checksum. So save the modified file and zip or rar it. And open it (for example) using WinRar. You'll notice that CRC32 is computed as last column:


6) Now you must complement the CRC32. Open Windows Calculator in Scientific mode and select the Hex data input. Type in FFFFFFF - 116BA0B2 (eight times F minus the number you find in the rightmost column of WinRar).

7) Now, the resulting number must be added to the end of the edited dfu in reversed byte order (i.e. you obtain EE945F4D, at the end of the file you must add 4D 5F 94 EE).


8) Finally, open the DfuSe Demo for firmware upgrading, power on the unit with the minus key pressed to enter upgrade mode and upload the new file.

9) If you are Italian, you can download my translated version from the same address above, I also added the accented "a" (à) and made a better "delta" symbol. To understand how fonts were mapped I needed to download the 1.1 source code but I also made a pdf guide (Enter the font directory at the end...).

This is the result of the hacked Italian version:


TAGS: DSO NANO 0201 versione 1.5 v1.5 Italiana in Italiano

No comments: