Go Down

Topic: arduino oscilloscope, a nice one :-) (Read 35031 times) previous topic - next topic


Well... you didn't explain how exactly did you get that error so it's hard to help you, and all I can do is guess.

Can you open other PDE's and flash them successfully on the arduino?


Oct 01, 2010, 04:13 pm Last Edit: Oct 01, 2010, 04:24 pm by CBX Reason: 1
yes i can open other files and flash them, i got the error when i try to open the file on the IDE, i've dowloaded the file another time to check if its not corrupted but its the same.

can you share the code here?


EDIT: I opened the file with notepad then I copied the source diretly to the IDE and everything is working now  ;)

I'll leave feedback later


it seems the arduino IDe doesnt like filenames that have dashes.. rename it to arduinooscillo.pde and it should work

I'll fix it in the repository, thanks!


ya, i also had to open the file with notepad and paste the code in - not too big a deal...

I am getting a lot of crashes with the C# program - divide by zero and some others.  It seems to have a hard time 'finding' my arduino board also.  I have tried 2 computers - my VISTA computer did not work but my XP workstation did.  I'll try later with the source code assuming I can get the project to open with C# express.  That might give me a clue as to why the communication is not working.  I'm somewhat new at this so I might be missing something...

I am VERY interested in this application so I am determined to get it working and hopefully I can contribute in some tiny way.



works fine on Win7 x86, but like mk3 I'm getting a lot of crashes like:

if I "zoom in" than "zoom out" quick, the program stops working (only hapened a couple of times, can be or not related);

if I select "new parallax" with the arduino in use the program crashes;

sometimes it crashes without touching in nothing and, with some seconds of use, sometimes it stays working for some minutes, but always ends up crashing...

one, two and\or three channels works fine, with four channels the window crashes;

selecting "new arduino" with it already in use, i got this program error:

if I select "repeat" the message keeps appearing, if I cancel, the program crash;

after some time working, the program crashes, the arduino's pin 13 LED stay always on and the program only works again if I reset the arduino.

whats the max and min values from the trigger?

can you divide the program in two, one for the arduino and another one for the parallax?

sorry for my bad English  ::)


Oct 02, 2010, 02:48 am Last Edit: Oct 02, 2010, 03:20 am by xchip Reason: 1
Ok, I released a new version that should fix the crashes,


known issues:
1) If you click on "new arduino" or "new parallax" when you don't actually have one it will cause a hang.. needs fixing but its not a serious issue.
2) selecting 4 channels on arduino makes it crash

I'd appreciate if you guys could give it a quick go and let me know how it goes with these fixes..



I've tried the new .exe on one computer.  Nominally works but it doesn't take much poking around to make it crash, unfortunately.

I also pulled the code down so now I can open the project in C# Express 2010.

It would help if you could make an outline of the operation or... explain more of the limitations.  I understand about the prescaler but I'll have to study what you have done with the analog in.  Looks like you have bypassed the Arduino command and are using AVR and C... is that correct?  Furthermore I assume some commands must pass from the C# code back to Arduino to tell it how many channels of data to send... still need to study the code.

I also think it is likely that since this is real time it's behavior will be different on different hardware until it gets a lot of code for handling errors.  


The crash you are seeing is only related to the rendering of the graph..  if you comment out those few lines it can run for ages..  I believe the garbage collector is releasing some stuff it shouldn't release.


ok, thanks!

garbage collector... ya..  one of the first things I read about C# is that you cannot manually release objects... trust the GC to do it.  I don't like that very much.  I suppose there might be some way to hang on to an object you need to use.... prevent collection?

Does the C# application pass the number of channels to Arduino?.. according to the user selection?


Oct 02, 2010, 02:33 pm Last Edit: Oct 02, 2010, 03:13 pm by xchip Reason: 1
[edited to add 3)]

Ok I uploaded a new release

1) More stable, removed a few race conditions
2) fixes the 4th channel issue on arduino
3) Removed the div by zero exception   <---new!

grab it here:


Oct 02, 2010, 05:03 pm Last Edit: Oct 02, 2010, 05:03 pm by CBX Reason: 1
now it is stable  :D  realy nice job

can you correct 2 things in the next version?

when the trigger is 0 and if I disconnect the arduino with it in use the program crash



yes, very nice. I just tested it with a sparkfun microphone breakout.  I used Audacity to create some tones to play into the microphone and then tested the FFT.  it all worked!

I tested 80HZ, 1000 HZ and 4000 HZ.  I am not sure of the sample rate yet but I did get a waveform at 4000 Hz... it looked a little... how can I say this.. .faceted?  but it was there and the FFT calculated it correctly.


Awesome! At least is usable, now its time to polish it then.

As for the faceting:

The arduino samples 7000 bytes per second so if you are scoping a 4Khz signal is normal that the wave looks faceted and that the FFT becomes somehow confused because of that.

BTW I am looking at how can I get higher bitrates on the arduino... has anyone tried this? I know on mac it seems to work out of the box, what is the gotcha on windows?

As for generating functions I suggest using SoundArb

Thanks guys for the support!


Oct 02, 2010, 06:48 pm Last Edit: Oct 02, 2010, 06:49 pm by selfonlypath Reason: 1
About Macintosh arduinoscope, here is one link I initiated http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1257929313 but all credit goes to Alvaro http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1256923269

Go Up