Introduction: Low Speed AVR Oscilloscope V2.00 (Is Updated on 19 Mar 2011)

Picture of Low Speed AVR Oscilloscope V2.00 (Is Updated on 19 Mar 2011)

>> The firmware was updated on 19 Mar 2011 <<

A few months ago a friend of mine -car mechanical at profession- told me that he had problem with some car sensors. He couldn't check, with a simple multimeter, if a sensor was working properly. I advised him to buy a LCD oscilloscope instead of a normal oscilloscope, because of its small size. The use of an oscilloscope is very helpful because you can see the waveform that is produced by a "healthy" in-circuit-sensor* and you can compare it with the waveform of a "suspect" in-circuit-sensor.
After that, he told me that this oscilloscope costs a "fortune" for him as he has a small car service shop. I offered to help him by designing and constructing a small, cheap and workable LCD oscilloscope for him.

*in-circuit-sensor is the sensor which is connected on a board (PCB) or it's connected somewhere in the car. It's not a disconnected sensor.

You can download the source code, hex, schematic diagram,PCB and picture of the circuit .

Step 1: Selecting the Components

Picture of Selecting the Components

As the circuit has to be constituted by a few and cheap components, I chose the DEM128064A graphical LCD based on KS0108 controller chip to display the measured signals. The ATmega32 microcontroller is chosen because it has a lot of IN/OUT pins and a 2kB RAM size. 1kB is needed from gLCD and some bytes of the rest 1kB are used in C source code as registers. Because my oscilloscope has to read both AC and DC currents and at the same time it should have a High input resistance, I chose to use an LM358 which is a dual operational amplifier. The rest components like LM7805 , capacitors and resistors are very common and I won't refer to them.

Step 2: Designing the Schematic Diagram

Picture of Designing the Schematic Diagram

After I had chosen the components, I had to draw the schematic diagram of this circuit. For this purpose I used the Splan 5 that is not freeware but it is a very cheap schematic diagram software.

Step 3: Making the Prototype

Picture of Making the Prototype

The prototype was made on a dual breadboard and the microcontroller was placed on an STK500 development board (see photo). I haven't taken any photos from the prototype board. So, I can show you only the boards without the components I used on them.

Step 4: Putting the Components in Order

Picture of Putting the Components in Order

The breadboard circuit was temporary. It was the time to make the PCB for my AVR oscilloscope. The software that I used to draw the PCB is the Sprint layout 4. It is a really easy-to-use, cheap and efficient software to make your own PCBs.
I made my PCBs by myself by using toxic chemicals. That's why I don't describe the procedure. It's very dangerous. I suggest you to give the transparency that you will print to a professional to make the PCB for you.

Step 5: Soldering, Calibrations and Usage.

Solder all components on PCB, starting from the smallest and go on to the biggest component. Check the PCB from soldering side for shortcuts that could have been made during the component soldering. Remember to put IC3 on a base, so the removal for future reprogramming can be done very easily.

If everything is ok, supply the circuit with 12V Dc. On the screen you will see the oscilloscope's raster with a horizontal line on it. Adjust P1 (LCD contrast) with a small screw driver up to the point you will see clearly the content of the screen. If you adjust the P2 you will see that the horizontal line (beam) will be moved up or down depending on the adjustment of P2. Adjust the P2 to set the beam at the center of the screen.

Connect a 1:10 probe at BNC connector (K1) of oscilloscope. Now you are ready to make your own signal measurements. Take care not to exceed the maximum input voltage which can be up to 24V Ac or 30V Dc on 1:10 selection prob. At 1:1 the maximum input voltage can be up to 2.5V Ac or 5V Dc. S1 gives an extra input voltage division by 2. With S2 you can select between AC or DC input signals.

Step 6: Oscilloscope Demonstration

Picture of Oscilloscope Demonstration
See AVR oscilloscope v2.00 in action!

See more of my projects at

Thank you for reading
Vassilis Serasidis


hamrique made it! (author)2014-08-11

Finally I did it...
Its my FYP :)

mohammad_sm63 (author)hamrique2015-03-04


You really make it ?

pleas help me to make it

What is the list of accesoreis ?

naveed8695 (author)2015-01-25

Can you help with the Code , in understanding it . and can sm1 plz upload the board file and schematic file. I can save smtym. Thanks In Advance

odip (author)2014-12-06

mr, .. trouble when burn atmega .. ask for help .To give way burn atmega 32 .... using kazama avr programmer, aid needs. I appreciate you., This e-mail me ...

ForhadurR (author)2014-10-18

Another similar interesting project:

rahulb2 (author)2014-09-30

hi, i want the progame of atmega 32 base avr oscilloscope

hamrique (author)2014-08-11

Steve25 (author)2014-05-12

Looks like a cool project and usefull aswell. But i got a couple questions. Is it possible to use a blue screen like this? And what is K1 called? And last question. To programm it you just need to add an 2x5 male connector and burn the hex with an ISP programmer?

Hope to get an respond!

serasidis (author)Steve252014-05-13

1) >> Is it possible to use a blue screen like this?
No. Uses different LCD controller and pins. Only the resolution is the same (128x64 pixels)

2) >> what is K1 called?
Oh! I left the description in Greek language. I re-uploaded the schematic diagram in English.
Well, on that pin is connected the probe. Probe is a tool like that one on the attached picture.

3) >>To program it you just need to add an 2x5 male connector and burn the hex with an ISP programmer?
If you want you can do that! I programmed the ATmega32 with my STK500 programmer that already has a 40-pin DIP size socket for adding ATmega32 and burn the firmware.

I hope I answered your questions.

Vassilis Serasidis

Steve25 (author)serasidis2014-05-14

Thanks for the answer! So i need an LCD screen wich is controlled by an KS0108. So something like this? And what size connector did you use for the probe?

Hope to get an respond!

serasidis (author)Steve252014-05-14

>>So something like this?

That LCD seems ok.

>>what size connector did you use for the probe?

Oscilloscope probes (usually) have BNC connectors

mass1351 (author)2014-05-11

hi , more power, i made this project by ver1. programming carefully but the avr speed is very low! you now 5 khz is very down frec. for electronic devices . is ver.2 speed more than ver1. program?

thanks for you..

serasidis (author)mass13512014-05-13

Version 2 gives the voltage and frequency indication of the measured signal. Moreover I did a little bit improvement to the source code and the max measured signal increased from 5kHz to 7.5 kHz.

It's not big deal that because the internal Analog to Digital Converter (ADC) of ATmega32 is limited to 15 kilo samples per second, that reads max 7.5 kHz square waves. If you want to read triangular pulses then the maximum kHz of the measured signal is much lower.

MADeye19 (author)2014-02-17

I have been trying to build the program(given on your website

as 'source code for V2')using AVR STUDIO 4.But when I 'Build and Run'

it in STUDIO,I recieve multiple errors like 'glcd.c:-No such file or


In AVR studio,I have also included the source file and header

file included in the source code.

I am a begineer in using AVR studio,so plz forgive my ignorance.

ALSO,will the circuit work directly if the ATMEGA32 is burned

with the given hex file as per the instructions on the site ?

mtaufiq4 (author)2012-07-23

I implement this but my lcd does not show any measurement....tell me whats the problem behind this so I will reduce this problem.....waiting for your replies...

nehanikita (author)2011-12-17

this display is not available at my any other option for this?

Look at that is where I bought mine you can get it with a blue background with white text or black background and white text

WakeUpWolfgang (author)2011-10-28

I know most of the parts are common but it is hard to read what they are from the schamatic may I have the parts list? I have the micro controller, screen and the amplifer but I am having a hard time reading the values of the other compoients.

My total price is just under $42 I have some parts still in the mail but I will post a photo of it once I have it together and working

I have a list of most of the parts but I don't know what the vale of D1. I did a searchfor 8V2(that is what it says on the schematic) and could not find it on jameco.

serasidis (author)WakeUpWolfgang2011-10-28

The diode D1 is a zener diode at 8.2 Volts.

WakeUpWolfgang (author)serasidis2011-10-28

Thanks I have found the parts at but the screen I found the screen at and my total price is around $45 -50 USD if you buy all new parts and 30 of it is the screen

CBX (author)2011-06-07

have you considered using an external ADC?

Will it work at 8mhz?

serasidis (author)CBX2011-09-01

>>have you considered using an external ADC?
That would be a good idea but there is not free time for that!

>>Will it work at 8mhz?
Yes, but you must change the crystal frequency in the source code and re-compile it. The circuit will run in low performance.

hATEmATH (author)2011-08-31

great! i'd like to make one also.

mtnkh (author)2011-05-11

thanks for your perfect site.
I need some explanation for the structure of the c file of this project.could you help me please?
if you mail me that i will be pleased.
this is my email

serasidis (author)2011-03-21

The firmware has been updated to version 2.00

- Now, indications such as voltage and frequency are displayed on LCD.
- A small increment of sampling rate has been made too.

rolocz (author)2010-11-23

Hello, nice project. Some time ago I (re) built and XY oscilloscope that uses external ADCs. That makes it a lot faster and a lot of nice curves can be displayed. Not as well finished or as useful as yours, but still fun to build and try. If you please you can check it in my website:


qz9090 (author)2010-07-14

Would you recommend a inexpensive 1:10 probe that I can used with this scope? Maybe a supplier and part number? Thanks.

com4both (author)2010-05-01

 very good project..i have seen pc based oscilloscope...
but this one is very good.....

where can i get the lcd....its not available here at my place...
i can make online shopping..
can anybody  who made this project, send me few links for online shopping

what will be the cost of the LCD?

what is i need to buy this controller or simply lcd?

make my doubt clear....

dan_dan (author)2009-09-23

how much did the lcd display cost, nice design tho.

matchett808 (author)2009-02-27

hey....what was your total cost? Very nice job needing a oscilloscope so wondering if this is the cheapest way to skin this particular

geeklord (author)matchett8082009-08-28

The Pololu AVR programmer has a built in SLO-scope that I really like. It only works from 0-5v, and only on windows, however. But its only $20(USD), so its great for simple low voltage applications.

serasidis (author)matchett8082009-02-28

The all project (including the probe) cost me about 70 euro.

mog123 (author)serasidis2009-05-11

I did the whole project in ~20-30 euro (<100 PLN)

matchett808 (author)serasidis2009-02-28

nice one....good build and quite cheep.....compared to the commercial ones i have sourced.

jamilm9 (author)2009-06-14

if you don't want to make this get this $50 prebuilt o-scope.
there is also a kit but it needs smd soldering.

senfield (author)2009-05-21

hello serasidis, we can use the mega32l instead mega32, the code is the same? , about the xtal, change the frequency or something? (cause the max clock of the mega32 (16mhz) , i have a mega32l-8pi (8mhz) max, thanks

withume (author)2009-05-14

hlp, me to display the voltage,and frequency in the display........what changes hv 2 be done with this.

pkumarhu (author)2009-05-13

hi my name is pramod i hve done tis project it is very nice but i like to do some modifications i like to display the voltage and frequency on the lcd screen so pls help me in changing the code

adie_hendri (author)2009-05-11

hi to ALL heloo Mr serasidis mr serasidis giveme advise u havent my question

mog123 (author)2009-05-06

Hey, I finished my oscilloscope!

It turns out i didn't need to use an inverter, your screen is the same as mine!
Although I have a problem: I'm using software 1.01 and I can't use the time/div buttons (left and right). Do you know a solution?

withume (author)2009-05-03

can this project be done using atmega32L, instead of 32 since atmega32 is not available for us.........pls reply me as soon as possible

serasidis (author)withume2009-05-03

Yes, you can use ATmega32L instead of ATmega32.

mog123 (author)2009-04-08

Hey, I found an LCD that input matches yours (and its a KS108). But 3 bits are negated (CS1 CS2 RST). Could you look in the datasheet if it will work like yours or will I have to change something in the sourcecode?
Heres the datasheet

serasidis (author)mog1232009-04-09

I think the LCD you mentioned needs inverted CS1, CS2 and RST signals. You have 2 choices: either you edit the lcd.c file correcting the commands for these pins or you put 3 NOT gates between lcd pins and AVR pins. Depend on you what you will do. I would suggest you to find a pin-compatible LCD to build this project.

mog123 (author)serasidis2009-04-09

so will this code be ok? I can't seem to find a screen with a compatible pinout ;/

Besides I see that the "signal wire" of the probe connector (K1) is soldered to both ground(0V) and Capacitor (C2) why is that?

mog123 (author)mog1232009-04-14

OK I'm gonna use a 74hct04 with the screen I showed you to invert CS1 CS2 and RSTB. I have one question though: Can I use an ATMEGA16 instead of 32? The hex file is only 10kB so it should fit or am I missing something important? Please reply.

adie_hendri (author)2009-03-15

hello im ADIE im so excited, so proud this great why in serasidis web , i can't join in forum . server not fungtion i will build up avr oscilosope u can help, an give me advise?? oh yeah why this project is the limit 5khz, can you explain?? thanks best regars

thatonekid (author)2009-02-26

please post the schematic as a file so that it can be downloaded. thank you

About This Instructable



More by serasidis:Low speed AVR oscilloscope V2.00 (Is updated on 19 Mar 2011)
Add instructable to: