Go Down

Topic: New oscilloscope (without Java) (Read 6312 times) previous topic - next topic


After getting 5 samples per second with Java hogging 100% CPU with an existing solution, I created a new oscilloscope application for Linux. I get close to 3000 samples per second, on two channels. See http://lxardoscope.sourceforge.net
   - display modes: two channels, time/add/xy
   - vertical: 2mV to 10V per division
   - overall gain control for calibration
   - horizontal: 100us to 5 sec, for full sweep
   - trace position adjustments: vertical and horizontal
   - trigger: on/off, channel 1 or channel2, rising or falling edge
   - trigger level: -10 to +10V
   - signal level measurements: max, min, pp, avg, rms
   - signal levels and time shown for mouse pointer location selected on display
   - up to 3000 samples per second, per channel
   - option for recording input data stream to file
   - option to display recorded data from file
   - timebase calibration adapts to Arduino's conversion speed
   - GND calibration allows for selecting arbitrary GND potential
Screenshot is attached.


I'm curious what problems you were seeing when using a virtual serial port via USB versus using a regular serial port (as you have it set up now)? Was there some kind of timing glitches, or other issues due to the serial-to-USB conversion?

The biggest problem with using a real serial port is the fact that it's getting more difficult to find new PCs with a real serial port; even serial-port peripheral adapter cards are starting to be phased out (everything's going USB). If there were a way around these difficulties, your software would be that much better.

I do like your interface; much like a real scope. You should add channel mixing (X+Y mode) and some of the other "common" modes you find on 2-channel scopes. A logic analyzer based on your interface would be nice, too.

Great job! :)
I will not respond to Arduino help PM's from random forum users; if you have such a question, start a new topic thread.


Thank you for your comments.
I noticed the following issues on my Mint9 installation:
1. after installing the arduino package (0022+dfsg-1~maverick1) I noticed that my computer took significantly longer to start.
Sometimes an empty window comes up, stays for about 10 seconds, and then disappears. No idea what this is all about, but I do not like it. To program the Arduino, I need this software on only one computer; on all the others LXARDOSCOPE works without it, when using the serial port.
2. with the existing arduinoscope solutions I got about 5 samples per second, and Java was hogging 100% of my CPU. I found on the internet that other people were having the same issues. Replacing the Java software with the SUN version did not help.

Since I had created XOSKOPE (with the soundcard as data acquisition device) it was not too difficult to adapt it to a serial port.
LXARDOSCOPE includes a CH1+CH2 mode, and an X-Y mode (select in Display Mode).
I understand the need to move a way from the serial port. Actually LXARDOSCOPE works just fine with the USB/virtual tty port. However due to the issue mentioned above I stay away from this mode.
LXARDOSCOPE_0.8 definitely has room for improvement; I released this version in the spirit of Sourceforge: release early, release often.


Encouraged by the high interest reflected in the number of downloads from Sourceforge, I have enhanced the application, fixed a bunch of bugs, and uploaded the new version lxardoscope_0.85. Please check it out!


How do you upload the correct program to the arduino?

How about adding a button? Just grab a makefile off the internet and have a button that applies it. (Or, assume it's an uno and just call avrdude directly.)


I think the previous comment is in the wrong thread. Otherwise please elaborate how it relates to my oscilloscope project.


I think the previous comment is in the wrong thread. Otherwise please elaborate how it relates to my oscilloscope project.

Your oscilloscope project gets data from the arduino and displays it fancily, correct? However, the arduino presumably needs to have a program on it to send back the data. I'm suggesting adding a button that puts that program on the arduino.


Having a program on the Arduino that uses the serial port is no problem. I do it all the time when testing.


I've been looking for an oscilloscope program!  I'll sure take a look at this...  THANKS!


I'll try too, sounds excellent.  ;)



Can you create a windows version of your soft ?

I'm interessted whit it, and, i doesn't like linux.

Hard project maybe...


i glanced at the site - is it a hardware setup - with arduino connection, then to software ? the site was kinda ambiguous,data acquisition VIA the UNO , doesnt tell me much :)

Go Up