I present a "BEST OF CLASS", "Full-Featured" DIY-USB OSCILLOSCOPE which is "Truly DIY".

My aim is to provide a cheap Digital-Storage-Oscilloscope for Students, Budding Engineers and the Hobbyist.

This USB-Oscilloscope could be part of the laboratory equipment in educational establishments.

Build this DIY-Oscilloscope for just $15


Today 21 Nov 2014, my Instructable crossed 100000 Views!

At this Milestone I am happy to share all the source files (C, .Net & Python) at:

I wish to acknowledge the inputs from the following designs which have led to this optimized solution:

DPScope SE - the simplest real oscilloscope/logic analyzer on the planet, by womai,

DPScope - Build Your Own USB/PC-Based Oscilloscope,by womai

LCS-1M - A Full-Featured, Low-Cost Hobby Oscilloscope,by womai


Universal Analog Hardware Testbench, by me

Analog Experiments Anywhere,by me

Two-Channel PC Based Oscilloscope USB, by Gaurav Chaudhary

Responding to comments and suggestions from many members :

I am sharing the micro-controller fuse .Hex file for the dsPIC30F2020.

The Host PC software has been written in both 'Visual Basic.Net' and open source 'Python' providing a cross-platform GUI based solution for both Windows and Linux platforms.

Remove these adsRemove these ads by Signing Up

Step 1: Specifications

Picture of Specifications
No of Channels Two
Analog bandwidth (Large Signal), 0.30/0.30/0.70 MHz ,For Gain 1/2/5
Analog bandwidth (Small Signal), 12/6/7 MHz ,For Gain 1/2/5
Input impedance 1 Meg Ohm
Input connection  3 mm Audio Jack
Vertical Scale 
+12.5V to -12.5V , Gain 1
+6.25V to - 6.25V, Gain 2
+2.50V to -2.50V,  Gain 5
 -12.5V to +7.50V ,  Gain 1
 -6.25V to +13.75V, Gain 2
-2.50V to +17.50V,  Gain 5
Sampling Rate  
1 Mbps to 20  Mbps ,1 uses/sample to 0.05usec/sample ,ETS  Mode (repetitive signals)
10bps to 500 kbps, 100ms/sample to 2uses/sample , Normal Mode
Ch1 / Ch2 / Auto

Trigger Polarity
Rising / Falling edge

Trigger Range
+12.5V to -12.5V, Gain 1
+6.25V to - 6.25V, Gain 2
+2.50V to -2.50V,  Gain 5
Display Modes
Ch1 + Ch2  vs. time 200 Samples each
Ch1 vs. time 200 Samples
Ch2 vs. time 200 Samples
XY Ch1 + Ch2 vs. time 200 Samples each
DFT Ch1 400 Samples
DFT Ch2  400 Samples
Capture Modes 
Single / Repeat / Store
Save Modes
Data to CSV Fig to multiple formats
PC Software
VB.Net 2.0  / Python 2.6/2.7 Virtual Com Port 115200 bps
Power Supply
USB +5V , 150 mA
1-40 of 86Next »

Dear sir, I do not have MCP6S22 ,can I replace it with mcp6s91 ? Thanks in advance.

ajoyraman (author)  dacamm19 hours ago

A quick look at the data sheets of the two devices brings out:

1. The pin connection are identical except that Pin3 on the MCP6S91 should be connected to ground. (the MCP6S92 would be pin-for-pin).

2. The serial protocol appears to be identical for use of CH0 and should operate with what has been programmed in the micro-processor.

3. The power supply spec is OK and the Bandwidth is better.

The MCP6S91/92 should work !

Thank you very much for your prompt reply. I'll make an oscilloscope, so I'll answer how it works.

VijayC15 days ago

I am interested in making the SMD version please share PCB / Gerber, Schematic files. Thanks in advance... VijayChavan007(at)

ajoyraman (author) 9 months ago

JHx who has built a smd version of this scope says:

"i build your matchbox osciloscope and it worked ok from the begining. thank you."

He uses it as a automotive diagnostic tool.

The Gerber files are available on request.

Thanks JHx.

m2k2 ajoyraman4 months ago

I'd appreciate if you could send those files to

Thank you very much!

ajoyraman (author)  m2k24 months ago
Great ! You would be the 9th to build this scope. Files sent. Best wishes.

Dear ajoyraman,

Please send me a copy of the Gerbers to tido89 [at] gmail [dot] com.

Thank you!

Hi id also like to give it a try...

Could you send the files to

Thank you very much!

I wonder how the parts list of this design differs from the original one?

hpladds hpladds1 month ago

Have I located the source of my confusion about the parts? The Bill of Materials and the Gerber file labels differ: (U1=J5), (U2=J5), (U5 U30=J1 J3), (U4=J3), (Y1=J10).

Also the probe connections and the reset bottons differ from project build to another project build.


ajoyraman (author)  hpladds1 month ago

When I built the snd version as per JHx hari. I used the component location and values as given in the gerber file. They are correct except for one component (150 Ohm to be changed to 10 Ohm which I have marked in pencil). I did not do a on-to-one comparision between the two designs. However I checked the wired circuit against my original circuits. I believe this is the best way to go about the fabrication. I am adding the top/bottom component layout from the gerber files.

Component Top.jpgComponent Bot.jpg

Thanks again, these schematics answer my questions.

JHx hari assigned different labels to the parts than your original design. For example: a dsPIC30F2020 is a "U4" on the original BOM. In schematic included here the dsPIC30F2020 is a "J3."

I was concerned that the different labels might indicate different parts -- SMD vs. DIP for example.

Thanks again -- as a noob -- I have more questions than the typical. Thanks for you understanding.

I would love a copy of your GBL files!

ajoyraman (author)  stuffdone8 months ago

I have sent you the Gerber files. Both my design and those kindly shared by JHx for the SMD version.

This project has now been successfully built by several members!!

Dear sir
Plz send me this project (layout and software)
Minhnghi (

dear sir,

May you send me gerber files of both version?


Luca (

Just in case someone needs to view gerber give this open source viewer a try.

sir please send gerber files on

Hi, can I also give it a try?
I'd appreciate if you could send those files to

Thank you very much!

w_ingel ajoyraman7 months ago

I would love too a copy of your GBL files!


gylim781 month ago

I would very much like to try this Can you please send me the files to gylim78 (at)

Hwa LengT1 month ago

Hi Ajoy,

Can you share with me?


patipa1 month ago

Great project ! What is the minimum voltage sensitivity et maximum voltage input ? Could you please send me the design file ?

Tank you

gandalfit made it!9 months ago

I built a mostly SMD version of the scope. As can be seen from the image I made a few rookie mistakes. Apart from this the scope is working very well.

I use it for debugging other test setups and I am collaborating with some students that might use it for their projects.

If anyone are interested in the diagram in Eagle format or the gerber files I am happy to share them.

Thank you very much for the project.


Beautiful -- how does parts list of your SMD design differ from the following one?

The part list is basically the same. The only difference is the form factor of the components. All resistors and small caps are 1608 form factor (1.6x0.8mm).

I would apreciate if you could send the files to

I have sent them to you. Have fun with the project.

hi,I would very much appreciate your files for the neat scope version if you could send to Thank you in advance. Gary
ajoyraman (author)  gmeadows33 months ago

I have also sent you versions from JHx hari & Heartman!

gmeadows31 month ago


I have been dithering with regard to this project. I really desire a scope and have made the HeartyFx board ready to populate, however I don't have the confidence or knowledge to program the Pic.

Do you have any simple instructions on how to do this please? I can then finish the project and start to use something that is stopping me from building many other things.

Thanks in advance


ajoyraman (author)  gmeadows31 month ago
Dear Garry,
There is no easy way around programming this PIC, you need a PIC programmer. PicKit3 is recommended along with MPLAB( a free download).

I suggest you contact other hobbyists nearby or check with any educational establishment/ Microchip rep.

Best wishes on building this project.

Ajoy Raman
gmeadows33 months ago

Hi again,

Ajoy, you kindly sent the files for your scope, I wonder if you could also send the gandafit files as I would like to build an SMD version if possible.

Thank you

ajoyraman (author)  gmeadows33 months ago

Gmeadows3, Sorry I do not have the files from gandafit.

While considering an SMD version it is still important to keep the PIC micro-controller as a DIP package because it needs a heat-sink.

I would recommend the version from JHx hari who has created a wonderful PCB with the PIC and some minimum non SMD components on the Top and all possible SMD components on the bottom. This appears an ideal allocation.

I built this version and am attaching two representative images. The only small change done is locating the reset switch in some spare space on the Top.

Many thanks to JHx hari who has kindly shared his design files.


Thanks so much for this inspiring project. I'm going to give it a try as my first real electronics project -- beyond making LEDs blink on bread board :)

Could you kindly send me the file(s) needed to make JHx boards?

I already have the Aj_Scope2_V2.7 running on my Linux box. I needed to install a few new modules, but nothing too difficult. Thanks again !

Hi Ajoy,
thanks once again for the response. I agree that this version seems to be the best. It was just that I thought I could get a one sided board solution which I feel more confident in making, and the pic could still remain a DIP package.
I will first have a go at trying to create a single side PCB from the schematics but will attempt this version if I am unsuccessful.
Thank you for all your help and the files, I have been in the electronics business as a test and repair eng for many years and have used some very high end scopes in that time, yet I have never had one of my own. Now I am retired with time on my hands (but little money) I am eager to rectify the situation. This will be a very pleasing project for me.

Best wishes

JasonD41 month ago


This looks great, can you please send me the files required to make this. I'm looking forward to it!!


trevwhite1 month ago
Hi. Is the Python script available or is this closed source?


ajoyraman (author)  trevwhite1 month ago
Dear Trev,

I have for the first time shared all my code for my recent Instructable USB-ZRLC-TWEEZERS at GitHub and am watching the popularity of this.

Yes, the USB Oscilloscope is probably the most popular Instructable done by me and all the code C-Source, VB.Net2 and Python .py files would shortly be posted on GitHub.

I'll give you a tinkle when that is done.

All the best,

Ajoy Raman
1-40 of 86Next »