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 Features:
- 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.