« Back to “Logic analyzer application”

Comments for “Logic analyzer application”

Hi Petteri,

I'm just running your logic analyzer application now and it's working very nicely!  Thanks for the heads-up about the HW bug in channels C+D, btw; I hadn't heard that elsewhere.

Thanks for putting in the effort to write this.  It's exciting getting into a platform that you know the majority of people won't have even heard of :)

When I have more time I'd like to hack around a bit more with the Quad- My biggest disappointment with it is the slow refresh rate at >5ms.


— Justin James Clayden on 20.02.2012 at 12:59 (UTC)

The HW bug is indeed a bit worrying; but it is difficult to say how easy it is to break the pins in reality. There is probably a replacement for the protection diode, which would also have lower capacitance and therefore increase the bandwidth of the digital channels.

Fortunately quite many of the Quad's limitations are only in software. I think it is quite unique as an open source oscilloscope platform.

— Petteri Aimonen on 20.02.2012 at 13:21 (UTC)

Petteri thank you very much for your effort! I like your software. The programs are a great improvement for the DSO.

Greetings from Germany

— Einhart on 26.04.2012 at 16:13 (UTC)

hey petteri,
i just looked and it fairly easy to get a copy of icecube2 LEGALLY through they're website and the license is free just have to make a web account.
just thought i might mention that, i dont know what the software's limits are but im downloading now and i hope to see that fpga code editing is enabled with free version

— Andrew Wawrzynowicz on 03.05.2012 at 20:27 (UTC)

Good news the free license does include fpga editing with the synplify pro which comes in the download!

— Andrew Wawrzynowicz on 03.05.2012 at 20:44 (UTC)

Yeah, after Lattice bought SiliconBlue a few months ago, iceCube2 has been free. And I even got it working :)

Now the biggest trouble is loading alternate FPGA images without overwriting the original. I just haven't had the time to tackle it yet:

— Petteri Aimonen on 04.05.2012 at 05:34 (UTC)

think i found the orig fpga code

— Andrew Wawrzynowicz on 09.05.2012 at 01:58 (UTC)

Yeah, that is the FPGA 2.5 source code.. which is useful but there exists also binary images of FPGA 2.61 which is less buggy. Here is the official repo:

— Petteri Aimonen on 09.05.2012 at 07:50 (UTC)

Thank you for this very informative site. I would like to install your logic analyser, but have an alternative user interface installed on that one.
I was wondering if there is a version I could install on memory slot 2 or 4 instead of 3?

— Peter on 10.05.2012 at 14:23 (UTC)

Petteri, thank you for adding time measurements!
The new clicking interface to start and terminate measurements is perfect. There are however some improvements needed to make the functionality even better. During longer scrolling does the value go out-of-screen. I see some kind of snapping to transitions while moving the cursor. Please make the time measurement snap also. I cannot see any reason to move the cursor back and forth over samples without transition.

— Johan on 01.07.2012 at 20:13 (UTC)

Oh, I forgot to thank You for the excellent work!
This application has made the DSO much more useful to me.

— Johan on 01.07.2012 at 20:15 (UTC)

Hi, Petteri! Thanks a lot for so good application, it is amazing!

But I have one problem... At very fast signals my DSO goes to red screen with buffer overflow error. Maybe you can fix this? Or it is problem with DSO buffer speed? 


— Igor on 13.09.2012 at 09:34 (UTC)


So you get an error like "ADC fifo overflow"? Yeah, it's because processing the data takes too long.

This could be avoided if the signal processing was on FPGA; the tools are freely available now so it's just a matter of me not having enough time :)

— Petteri Aimonen on 13.09.2012 at 11:04 (UTC)

Yes, ADC fifo overflow.
Beleive you will have some time in future to fix that plz... Because I don't have enough skills for that)


— Igor on 14.09.2012 at 10:38 (UTC)


Yeah, implementing custom FPGA code is not an easy task. I have working loader code, but I have another project I have to finish by the end of the month so no time to work on it atleast until that.

— Petteri Aimonen on 14.09.2012 at 10:42 (UTC)

Thanks for a great program !
This program does a lot more than the scope function of the Quad .
Keep up the good work !
( Channel selectable invert function would be welcome ... but not necessary ... but nice ! )

— Karstikko on 03.10.2012 at 09:21 (UTC)

Any progress on the FPGA code? , to solve the 3.6v max problem on the digital channels maybe rerouting pin 24 and 25 to (non connected) 26 and 73 pins on bank 1 and 2 that allow up to 5.5v is possible. but first we need to find the sources of FPGA 2.61 . You know a way to get them?

— nhede on 04.10.2012 at 19:10 (UTC)

Your application is really great! 
Do you now how precise it is? When I send a 1ms pulse it measures it as something about 976us at full zoom. If I zoom out, it gets worse, down to 600us. Is this a known issue? If you can tell me where this measurement is made, maybe I can help you solving the problem.

— Strahlex on 23.10.2012 at 17:54 (UTC)


It should be accurate up to the crystal precision (+- 50 parts per million or so).

Please notice that the wiggly lines (http://essentialscrap.com/dsoquad/logic_collapse.png) only show the gap time, they are not an exact measurement between edges.

Use the time measure tool (http://essentialscrap.com/dsoquad/logic_timemeasure.png) for accurate measurements.

— Petteri Aimonen on 23.10.2012 at 20:07 (UTC)

I got it, it shows the gap time. But, wouldn't it be great to add an option to show the time between the edges?

— @Petteri on 23.10.2012 at 22:00 (UTC)

good but i want more about logic analyser

— krish on 28.10.2012 at 08:52 (UTC)

Hi, Peterri
That's a great app that I need it, but I can't install on my DSO. I copy the hex file without problem ( rdy ext) and when I try to load (third button at power-up) all I get is the logo and that's all. Is there an issue because my SYS is 1.50 Smtech 1.6 ? Any ideea ? I installed Pawn and all your apps and all is fine, but not the analyzer . 
Thanks for your time.

— Mike on 29.10.2012 at 17:22 (UTC)

I can't seem to get this to install on the most recent firmware. I just got it and it's hardware version 2.7, running system 1.52 and app 2.53. It worked back when I was running the older app version the device came with just fine but now the installer returns an error. And when I start pressing the third button it seems to load the old app version (I think it was 1.15 or something). Would love to be able to get it working again, I bought the scope partially cause of this app.

— Alex on 29.10.2012 at 22:33 (UTC)


Works for me, I have installed system 1.52 and app 1.03 on hardware 2.7. Is it possible that you have installed an app version for hardware 2.6?


Currently I'm working on improving the handling of the logic analyzer. How can I draw a menu (like in the original firmware) to the screen?

— Strahlex on 30.10.2012 at 10:57 (UTC)

I don't know what more to say than just "draw it" :)

Basically, create a new Drawable class like the ones in the 'gui' folder.

@Everyone having trouble
Try this one, it prints some debug info:

— Petteri Aimonen on 30.10.2012 at 12:12 (UTC)

Hi Petteri,

I tried to reload hex from the link you give us above (LOGICTST.HEX) and same thing happened. My DSO displays the Logo, freezing & beeping and nothing else happend. I want to ask if you can put this hex as a file for downloading (zip or else), I suspect the code was altered on links you gave.
Thank you again for your time.

— Mike on 30.10.2012 at 19:06 (UTC)


— Petteri Aimonen on 30.10.2012 at 19:14 (UTC)

Thank you very much for this great App and for your time. Now, I was able to run it, and it works like a charm. Now, my DSO is a useful tool, indeed.

— Mike on 31.10.2012 at 18:31 (UTC)

Great App, thanks, really intuitive. I tried to analyze a IR-Remote protocol, an spend an hour with the original firmware ... I did not get very far. With your app I spend about 5 minutes to examine the basic timing.
I could think of some improvements in triggering, if I had some time ...
Thanks again, keep on

— Andreas Gruen on 05.11.2012 at 20:02 (UTC)

@Andreas Gruen

I'm interested to hear more: triggering, in what way?

Currently I consider that for ease of use, it's great to have no triggering at all. Instead just compress any idle periods on display.

I can see no added value from edge trigger modes. Pulse length trigger might be useful, but it could instead be replaced with filtering in the displayed waves. After you trigger, you can't change trigger settings without getting a new event; if you just filter, you can tune the filter as much as you want.

— Petteri Aimonen on 05.11.2012 at 20:21 (UTC)

Hi Petteri,

This is just amazing! I've long been searching for the function of the logic analyzer. On top of everything else and so compact as dso203.
But somehow I could not deal with the possibility of opening files VCP in GTKWave. Are there any tricks? When I open the save file it is blank on all channels.

Thank you for your program!

— flameeagle on 09.02.2013 at 19:02 (UTC)

Hi Petteri,

Came to understand the interface GTKWave. All is excellent!

Thanks again for your hard work!

— flameeagle on 09.02.2013 at 19:06 (UTC)

Hi Petteri,
You have done some awesome stuff with the frequency response app and the logic analyser app. I had a look at the USB protocol analyser, which you said is based on the logic analyser and using pawn for processing? I am thinking of CAN bus analysis, but have not looked that much into it (other than commercial things which are resonably pricey). It'd be great is this DSO could function as a CAN bus analyser as well as a CRO (for working on car stuff).
Cheers, and I love your stuff!

— Owen on 12.06.2013 at 05:36 (UTC)

Hey Petteri,

I wanted to use your logic analyser, but i would have to install it on button 2 because button 3 is already in use. How can i get a hex file that installs itself to button 2? Can you just make one or is that complicated? (I don't necessary know how to do much more than the copy to root action :/)

— Andreas on 14.09.2013 at 01:42 (UTC)


Unfortunately, slot 2 is usually not free even if it appears so. The default application which is in slot 1, takes actually two slots.

— Petteri Aimonen on 14.09.2013 at 05:19 (UTC)

Hi Petteri
The Logic Analyzer is a nice app.  I have just loaded it on my DSO203 but I can not save either .bmp or the Buffer.  I get a Hardware error. HARDFAULT

  I have Hardware version 2.72, SYS Ver 1.60 and App (Plus A1) Ver 1.10.

  DBUG Data Available on Request but if the Hardware and SYS has made the Logic Analyzer App inoperable not a problem.  The display is nice and appears to work right.


— Ron on 16.09.2013 at 15:59 (UTC)

I second Ron's results. Both SAVE and BMP buttons yield red-screens of hardfault.

- I have a DSO203 MINI (from www.minidso.com):
Hardware version V2.72, serial 9219A095, 
DS203 Mini DSO Sys Ver 1.60, 
DS203 Mini DSO App (Plus A1) Ver 1.10

- When pushing the BMP button I get:
SP: 2000BC68 PSP: 2000BC58
PC: 080227E4 LR: 080227C9
REGS: r0 00000001 | r1 08000BC9
      r2 080001E5 | r3 00000030 | r12 00000030
SCB HFSR: 40000000 CFSR: 00008200
00000001 08000BC9 080001E5 00000030
00000030 080227C9 080227E4 01000000
2000BDDC 0802096F 14F8B589 08020949
2000BCDC 2000BDDC 2000BCC4 0802096F
2000BCDC 0801F20F 2000BD30 2000BDDC
14F8B589 0801C6C5 2000BD0C 74697257
20676E69 65726373 68736E65 7420746F
0020206F 200098E8 00000000 0000000D

Oh, and of course, very nice work!


— Steve on 06.12.2013 at 05:58 (UTC)

For what its worth, I was running LOGIC03.HEX from

I see from here 
that version 3 fixed a similar bug.


— Steve on 06.12.2013 at 06:27 (UTC)


I bought a DS203. I wanted to use it as a logic analyser. I downloaded the application from here. I able to start the application, so the screen showes up, and I can measure with it, all the 4 signals are detected. But, when I press either BMP or SAVE, I get a red screen, with message 
SP: 2000BCF8   PSP: 2000BCD8
PC: 0802113C   LR: 00000001
REGS:  r0 08000C39  r1 00000030
              r2 080001B5  r3 00000000  r12 00000030
HCB HFSR: 40000000  CFSR: 00000400
00000C39 00000030 080001B5 00000000
00000030 00000001 0802113C 21000000
2000BD96 2000BF4C 0801F823 00000B3B
etc, etc, etc...

Which is also interesting for me, that I can see a very small number as the memory. So, when I start the application, the lowest line is this:
Position: 0 us   Buffer: 0 %   RAM: 4412 B
Is ithis means, that the memory is 4 kilobyte? Is not it too small?

Thank you very much for your answers in advance.
Have a nice day.

— peter12345 on 29.06.2014 at 07:22 (UTC)

Hi there,

i got the same problem! HARDFAULT
Really great analyzer, but with crash while saving useless :-(.

SP: 2000BC68   PSP: 2000BC58
PC: 080227E4   LR: 080227C9
REGS:  r0 08000001  r1 08000CZD
       r2 080001E5  r3 00000030  r12 00000030
HCB HFSR: 40000000  CFSR: 00008200

Thanks for informations...

— Dublin on 14.11.2014 at 16:10 (UTC)

Hello sir,

I got the same issue - HARDFAULT when I try to save :/ 

Thanks for sharing your "app" :)


— Mathias on 15.07.2015 at 11:34 (UTC)