Arduino-based oscilloscope with advanced features and two channels. It is a DIY Oscilloscope based on popular Arduino platform.
Arduino-Oscilloscope (here-after referred to as Osciduino). There is another project with the same name that is why the title name is changed here, after I saw the another project with the same name ie OsciDuino) is an Arduino-based oscilloscope (tried and tested on Arduino Uno R3 and Mega 2560). Though I would recommend using Mega if you can.
It is an educational project to get the insight into the internal workings of a buffered digital oscilloscope (DSO) Tthis version includes advanced functionality to the setup, by including features like dual channel, offset, trigger, time/div, volts/div, and likewise.
The inputs are taken from 2 analog input pins on Arduino. The pins however support only voltage range of 0 to +5 volts. so ths oscilloscope works well only if the signal being viewed is +5 volts peak to peak maximum and doesn't have any negative halfs. to view negative halfs, the oscilloscope has to be operated in a +2.5 volts peak mode. this is accomplished externally by scaling the voltage and then offsetting it by +2.5 volts.
An additional display library is included in the master for SPFD5408, if required.Also the schematics for the setup are included in the "arduino files" folder
Currently the code works best with the provided library and thus a specific display driver SPDF5408.This however does not mean that it will not work with other drivers. It's just that behaviour might be differentas I have not tested it with any other display. You are welcome to add support for your display driver.if you want to add support to your display. You can either contribute or create a pull-request. An example is addingsupport for Adafruit 2.5 inch Resistive touch screen displayhttps://github.com/wayri/Osciduino/issues/1
This is really simple to do just follow the following steps and you are up-and-running.
First and foremost plug in the Display to Arduino. For this see How to assemble the hardware
- Plug in your Arduino (Uno or Mega) to the computer using the usb-2.0
- Open the arduino-oscilloscope-high-freq_v1_5_HW.ino in Arduino IDE
- Select your board from "Tools" menu
- Click upload
- You are up and running
/!\ Make sure that 'CH1' and or 'CH2' is set to 'ON'
The following is a "hello world" example for the Osciduino.
Observing charging and Discharging of a capacitor
Power up the Osciduino, as mentioned above in the quick start. Now on a breadboard connect an electrolytic capacitor in series with a resistor to a square wave generator.Place the probe on the resistor capacitor node. Add a common reference ground between Osciduino and the RC circuit.
And you should start seeing the characteristic rise and fall slopes associated with charging and discharging of the capacitor.
The setup requires an external resistive control interface. Which requires callibration on every boot. As resistance changes easily with temperature and long durations of running. This can be mitigated in a lot of ways, for example by replacing the resistive divider switchconfiguration by a touch based scheme or a push button scheme encoded into the free GPIO pins on the Arduino Mega.
Starting version 1.5, the hardware extension support will be addedto the project - release v1.5.0
The code is originally based on the one by Mr. Noriaki Mitsunaga http://n.mtng.org/ele/index.html
- [Osciduino quick setup]
- Osciduino wiki