Arduino Oscilloscope Under 5 $ - 3 Channel

Introduction: Arduino Oscilloscope Under 5 $ - 3 Channel

About: Hi , folks i am Aman and i like to make electronics projects and robots. I also like to make aero models like a plane and quadcopters are one of my favorites .I am a 10th class student and i am very much devot…

Oscilloscopes are used by electronics enthusiasts , hobbyists and it is one of the common tools on a workbench . But buying one can get expensive so finally i decided that why not to make one using an arduino. So this basic project will help you increase your skill and in the end you will end up having a nice DIY tool for you bench which will make some things easy for you .

Arduinos are great , they use 8-bit microcontroller which has digital inputs outputs , SPI , I2C lines , Serial Communication , ADC etc . So using arduino for this project would be a nice idea .

Step 1: Materials Required

As i would like to keep things simple and cheap all you need is :

A laptop x1

An Arduino x 1 (UNO,PRO MINI anyone would work i used NANO ) Except MEGA

Jumper Cables x 2

Breadboard x 1

Alligator Clips x 2

Male to Male 3.5 mm cable x 1

An audio source or a signal source of whose waveform you want to see.

Step 2: The Code and the Oscilloscope Program

After you have plugged in the arduino just upload the provided Code in the zip file .

What code does is it just simply reads the analouge voltage on arduino's analouge pin A0 to A5 or A7 (depending upon the board) and then covert that analogue voltage into a value ranging between 0-1023 and then that value is sent to the computer through the usb port .

Pins A0 - A5 or A7(depending upon the board) acts as 6 or 8 channels of the oscilloscope but the software is designed to display only 3 channels at once .

Then when you open up the oscilloscope program after uploading the sketch select the baud rate and COM port then just open up the channels

The oscilloscope program is designed to take the values form the arduino and plot it on a graph and just join those points with a line which gives you a nice looking waveform just like an oscilloscope .

Step 3: Code of Conduct

Step 1 : Plug in your arduino

Step 2 : Upload the code

Step 3 : Put the signal through arduino's pin A0 - A5 or A7 (depending upon the board) in my case i choosed an audio signal coming out from my phone via male to male 3.5mm jack .

Its one end was connected to the phone and on the other end i connected its ground to arduino's ground and the other alligator clip was connected to one of the audio channels (in my case the right channel of the audio signal) .

Step 4 : Open up the oscilloscope program

Step 5 : Select the COM port and select the baud rate

Step 6 : Open up the channels and THERE U GO !!!!!

"REFER THE VIDEO BELOW FOR MORE ..."

Step 4: Features:

Features:

This oscilloscope has a resolution of about : .0049 volts (4.9 mV) per unit.

Refresh Rate - 1Khz

Baud Rate :115200

Voltage Range : 0 - 5v DC

It can display 3 channels at a time

NOTE : Do not exceed the 5v limit on the oscilloscope or else you will fry the arduino .

Limitations:

1. Voltage range cannot be exceeded its lies between 0-5V DC ONLY

2. Any signal above 1kHz would not be detected by the arduino or either it will show garbage values

3. Don't try to measure the AC signals as Analouge pins of arduino are not designed to do so , so at the end you will end up by either damaging the arduino or either it will only show the positive half of the arduino.

Step 5: Well There You Have It !!

So i think that was pretty simple how we can make a simple arduino based Ocillosocpe as this was my first experience with arduino oscilloscopes let me know if i did a mistake . Hope you like it . If you guys have any question post it in the comments section down below .Now you can easily hack into small electronics and can easily find out what kind of wave is going at what voltage level in short you've got a great tool

Have Fun ! and do consider voting me ....

Robotics Contest 2016

Participated in the
Robotics Contest 2016

Make it Move Contest 2016

Participated in the
Make it Move Contest 2016

Home Hacks Challenge

Participated in the
Home Hacks Challenge

1 Person Made This Project!

Recommendations

  • Battery Powered Contest

    Battery Powered Contest
  • Plywood Challenge

    Plywood Challenge
  • Plastic Contest

    Plastic Contest

40 Discussions

0
AlexanderM228
AlexanderM228

Question 9 months ago on Step 1

where do I buy a Arduino for less than $5?

0
Mahmoudgo1
Mahmoudgo1

2 years ago

How can I get the code?

0
millermakg
millermakg

Question 2 years ago on Step 4

I am having some problems downloading the software. I am using Windows 7, and every time I download your oscilloscope it requires me to choose the application I wish to open it with, then it just doesn't open regardless of what application I choose. If you could give me a recommendation on how to open the download file, that'd be much appreciated. Thanks!!

0
AJ51
AJ51

2 years ago

Can I make it with the smaller bread board?

0
AJ51
AJ51

Question 2 years ago

Can I make it with the smaller bread board?

0
Дмитрийп46
Дмитрийп46

2 years ago

сделайте Частота обновления - 200 Khz . пожалуйста. и как его калибровать . рассчитать делитель на 400 вольт . пожалуйста.

0
pteogalbo
pteogalbo

2 years ago

How do you read the oscilloscope on the graph? I want to get readings in voltage but I'm getting 1000.

0
TLSBrenttime
TLSBrenttime

Reply 2 years ago

To answer that you can change the arduino code to take the analog read multiplied by the scalar of the arduino's analog input. This means:

analogRead(A0) * (5.0 / 1023.0)

This is because there is a 5v range and 1023 data points the arduino fits it into. You could also make your own program to handle this on the pc side, but that is your choice.

If you need more info on this:

https://programmingelectronics.com/tutorial-09-rea...

0
TLSBrenttime
TLSBrenttime

Reply 2 years ago

I have a python program that is graphing and scaling the numbers which comes out as such:

osciliscope python.PNG
0
ajmal hassan
ajmal hassan

4 years ago

How to increase the range to 12 volt?

0
carrera30
carrera30

Reply 3 years ago

I read 12v with a circuit consisting of a couple resistors, an npn transistor and a diode. See the diagram I included. The npn transistor acts as a switch triggered by the 12v signal to read the arduino's own 5v. Very handy for automotive applications ;)

Read12vsignal.JPG
0
amansinghaljpr
amansinghaljpr

Reply 4 years ago

I'll update you about that very soon

0
mcstarcoin
mcstarcoin

3 years ago

I got the code loaded onto my Uno, however when I connected gnd from the board to gnd on the aux cable and A0 to the tip of the aux cable nothing showed up in Serial Oscilloscope. It was set to the correct com port and baud 9600 with the channels set to 1,2,3 just like in the video and it still didn't work. I don't know what I'm doing wrong, and I would love it if you could tell me what I'm doing wrong.

0
jonaameelgaar14
jonaameelgaar14

3 years ago

can you show me the block diagram of this project?

please I really need that .

0
jonaameelgaar14
jonaameelgaar14

3 years ago

What if I want to do this on tablet? Is it possible ? my project is tablet-interfaced arduino based oscilloscope. And I need to know the correct block diagram of my project? please help me.

0
CarlosV190
CarlosV190

3 years ago

Hello my friend, I have a question, how do you setup arduino code and hardware to use more than one channel at time?

0
FixDaily
FixDaily

4 years ago

Will it work for waves with both positive and negative values?

0
amansinghaljpr
amansinghaljpr

Reply 4 years ago

No it only work for positive values .

0
LeroyD6
LeroyD6

4 years ago

hi

when i try to use the SERIAL OSCILLOSCOPE.EXE program it opens a window and says that "serial oscilloscope has stoped working. windows is collecting more information about the problem.this might take several minutes..."

do you know how can i fix this?