Intro: Simple Cheap Arduino Oscilloscope
I came up with this interesting project, as I am beginning to learn processing, so I thought it would be cool to share it with you. Hope you'll enjoy it!
Ok, just to make things clear, this is by no means a professional, good quality oscilloscope. It's just meant to be simple, interesting to build, and cheap....very cheap. So, without further ado, the bill of materials:
- 1. Arduino (Uno, Nano, Mini, any board will do the job)
- 2. Two wires (Jumper wires, crocodile clips, you name it)
- 3. Two potentiometers (Optional)
As you can see, if you have an Arduino, you're reaIy is a really nice and fun one day project, just makes you feel good when you finish it.
Because of the limitations of the board, without external references the range you get out of it is 0 - 5V. Be careful, by connecting greater voltages you can (will) damage your board, and even your computer!
It's working principle is easy. The Arduino reads the analog input from the A0 pin and then transmits it over the Serial port. That's where Processing kicks in. It graphs the values and outputs them. The readings are actually pretty accurate and usable.
Actually, I've never owned or used an oscilloscope, so my knowledge isn't that great. I know the basic working principles, so that is what I implemented here. You can zoom in and move the wave vertically relative to the baseline, that's all of the added functionality.
You can use the two potentiometers for zoom and position, but you can also use the keyboard shortcuts
- + and - for zoom
- Up and Down key for position
Let's move on to the schematics and the actual code.
Step 1: Schematics and Code
Its really easy to hook up, you connect the potentiometers like it's shown on the image, the positive wire of the source you want to measure goes to the A0 pin, and the negative goes to the GND pin. After you've done that, plug your Arduino into your computer and start the Processing sketch, and that should be pretty much it. You'll see the results in the next step.
Step 2: Results, Conclusion
If you've done it right, it will work like this
So that's it, hope you liked it. Feel free to ask or complain about anything in the comments.
Greetings from Serbia!