Lxardoscope+: a dual channel oscilloscope using an Arduino nano + 1 resistor

Da raspibo.
Versione del 18 mar 2019 alle 10:44 di Renzo (discussione | contributi)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)
Jump to navigation Jump to search

If you need a very cheap oscilloscope (for low frequencies) that has the look_and_feel of a real oscilloscope, this is the right page for you.

This is an evolution of the project lxardoscope.

Using the new firmware the sampling rate is 20Ksps dual channel or 42Ksps for a single channel.

I have used an Arduino Nano and one 1Kohm resistors between AREF and +5V: A0 and A1 are the signal inputs for the two channels.

Here is the code lxardoscope_0.95.vfast.tgz . (March 18 2019. A timing bug has been fixed: the time horizontal scale was wrong. If you got the source code before, please download it again).

In order to achieve the sampling speed, uart speed is 1M, samples are retrieved using interrupts and data (2 x 10 bits) is encoded in 3 chars. The first bit of each character is for syncronization (1 is the start of a new sample). In the remaining 21 bits if is possible to fit the two samples.


In the picture our oscilloscope is on the right while the singal generator n the left has been presented in the posting:Arduino NANO + 19 resistors = A DDS signal generator


With the configuration of the picture, this is the output of a sinusoidal wave:


It is possible to connect our oscilloscope to the audio out of a soundcard (using a 100nF capacitor and two 10K resistors per LR stereo channel, the schematics is here below). I drew Lissajous curves using audacity (I created sinusoidal signals having suitable frequencies on the two channels).