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, http://www.instructables.com/id/DPScope-SE-the-si...

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.

Step 1: 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
<p>Hi Ajoy,</p><p>Could you please send me the gerber files, I'd like to make my copy of this amazing project. My email is abalarev@gmail.com</p><p>Regards and thanks in advance, </p><p>Andrey</p>
<p>Hello</p><p>I AJscope your factory with the help of HeartyGFX<br> thank you for your work, congratulations for this assembly<br><br> best regards<br><br> Thierry</p>
<p>I have recently updated the firmware on the dsPic and the corresponding windows GUI software. The updated software WinXp up-words is available at <a href="https://sites.google.com/site/ramanajoy/home/my-zip-rar-files/Scope2.2_0x874.rar?attredirects=0&d=1" rel="nofollow">https://sites.google.com/site/ramanajoy/home/my-zi...</a></p><p>This update permits recovering from several conditions such as trigger-level-out-of-limits, need-to-abort-long-sample-times, file-not-given-on-save etc.</p><p>I have also passed on the improved GUI version of HeartGfx for him to check out. This version works from WinXP up-words. It should be available on his blog subsequently.</p>
<p>Hi Ajoy, I want to know if you can send me all the details, schematics and programming for this oscilloscope project, I want to build it for myself.</p><p>Also what other chip can replace the Dispic30f2020-301/sp as my system doesn't allow me to use smd chips</p>
<p>Thanks to heartygfx there is non smd version which he has posted on his blog page at <a href="http://heartygfx.blogspot.in/2014/07/pic-usb-oscilloscope-double-trace.html" rel="nofollow" style="">http://heartygfx.blogspot.in/2014/07/pic-usb-oscil...</a></p><p>This version is quite popular.</p><p>We have collaborated on improving the gui and removing small bugs in the software. The files for his version are available at<a href="http://heartygfx.free.fr/BlogImg/25072014/DSPicoscope.zip" rel="nofollow">http://heartygfx.free.fr/BlogImg/25072014/DSPicosc...</a></p><p>I suggest you make this version and use it with a FTDI usb-serial converter with 5V output.</p>
<p>Hi ajoyraman, i stumbled across your wonderful project! I am just a little curious about the sampling rate. I've checked on-line and found out that dsPIC30F2020 has a conversion rate of 2000 kbps, and your project is able to sample 2 channels at 1M samples/s. Does it mean that this oscilloscope is able to produce the waveform for input signals of 1Mhz ?</p>
<p>To display a sampled-signal 15-20 samples are typically requires. So the 1M samples/s means we can comfortably view sine-waves at 75 kHz and square waves at 50 kHz.</p>
<p>I was thinking of building this, but I don't have a PIC programmer, and I'm also worried about the surface mount components and needing to make a circuit board. Has anyone come up with a kit based on this design? Or is anyone willing to sell a pre-made version?</p>
<p>I suggest you build the board as done by heartyGfx which avoids the smd components.</p><p><a href="http://heartygfx.blogspot.in/2014/07/pic-usb-oscilloscope-double-trace.html#more" rel="nofollow">http://heartygfx.blogspot.in/2014/07/pic-usb-oscil...</a></p><p>However, you need to solve the progremmer requirement.</p>
<p>Hello there , it looks like a interesting project .</p><p>I want to build a copy</p><p>Can you please help me with the schematics ?</p><p>Thank you . </p><p>PS: bog.lungu@yahoo.com</p>
<p> Hi,</p><p>I really like your project and would like to build it. Could you please send me the additional designs to crispin (at) gmx.net ?</p>
<p>Hi,</p><p>I really like your project and would like to build it. Could you please send me the additional designs to crispin (at) gmx.net ?</p><p>Thank you</p>
<p>Dear Ajoy, what an amazing circuit ! A scope is magic - makes you see the invisible</p><p>I still remember begging my dad for a scope ... the cost was like an Apollo mission</p><p>He politely told me &quot;<strong>why don't you build one - it'll save you a lot of money !</strong>&quot;</p><p>And so good to see the responses from all over the world. Hope many people make it. There's something amazing about seeing signals on screen !</p><p>May I request you for gerber files too - I'm going to get my daughter to build it</p><p>Please send to wiznav@gmail.com - Cheers Francis da Cunha</p>
<p>I would love to start to this project. could you send me the program files @ ocanan1@mail.gtc.edu</p>
<p>Hi <br>I would like to make this project.. Pls sent me the files email(pandogpakos@gmail.com)</p><p>Thank you</p>
<p>I want to make this project. I would apreciate if you could send the files to:</p><p>kh90052@gmail.com</p>
<p>This is an excellent and useful diy project. Will i need a tool to program the chip? Can you please send the the gerber files to parkj315@gmail .com. Thanks.</p>
<p>This is an excellent and useful diy project. Will i need a tool to program the chip? Can you please send the the gerber files to parkj315@gmail .com. Thanks.</p>
<p>i want to make this. please sent me gerber file on suresh.bhujang@gmail.com</p>
<p>I want to make this. I would apreciate if you could send the files to suresh.bhujang@gmail.com</p>
<p>JHx who has built a smd version of this scope says:</p><p>&quot;i build your matchbox osciloscope and it worked ok from the begining. thank you.&quot;</p><p>He uses it as a automotive diagnostic tool.</p><p>The Gerber files are available on request.</p><p>Thanks JHx.</p>
<p>I'd appreciate if you could send those files to m2k2@raz-dva.cz. <br></p><p>Thank you very much!</p>
Great ! You would be the 9th to build this scope. Files sent. Best wishes.
<p>Dear ajoyraman,</p><p>Can you please send me the Gerber files. I would like to build one for myself. i have PM-ed you my mail ID.</p><p>Thank You!</p>
<p>Dear ajoyraman,</p><p>Can you please send me the Gerber files. I would like to build one for myself.</p><p>Thank You!</p>
<p>Dear ajoyraman, </p><p>Please send me a copy of the Gerbers to tido89 [at] gmail [dot] com.</p><p>Thank you! </p>
<p>Hi id also like to give it a try...</p><p>Could you send the files to trashbin2k@gmail.com</p><p>Thank you very much!</p>
<p>Hello Ajoy Raman, the SMD version looks really good and it seems to be a simple soldering work.</p><p>Could you please send me the PCB layout as both copper sides and both silkscreen (if existing)? I will try to make this design since I am a student and I need an oscilloscope to keep learning and designing at home. My e-mail is Rbruno96@hotmail.com</p><p>Thank you in advance.</p>
<p>I wonder how the parts list of this design differs from the original one?</p>
<p>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).</p><p>Also the probe connections and the reset bottons differ from project build to another project build. </p><p>Correct?</p>
<p>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. </p>
<p>Thanks again, these schematics answer my questions.</p><p> JHx hari assigned different labels to the parts than your original design. For example: a dsPIC30F2020 is a &quot;U4&quot; on the original BOM. In schematic included here the dsPIC30F2020 is a &quot;J3.&quot; </p><p>I was concerned that the different labels might indicate different parts -- SMD vs. DIP for example. </p><p>Thanks again -- as a noob -- I have more questions than the typical. Thanks for you understanding.</p>
<p>I would love a copy of your GBL files! paul@paulkruger.us</p>
<p>I have sent you the Gerber files. Both my design and those kindly shared by JHx for the SMD version.</p><p>This project has now been successfully built by several members!!</p>
Dear sir <br>Plz send me this project (layout and software)<br>Regards<br>Minhnghi (minhnghitang@gmail.com)
<p>dear sir,</p><p>May you send me gerber files of both version?</p><p>Regards</p><p>Luca (luca.schenato.it@gmail.com)</p>
<p>Just in case someone needs to view gerber give this open source viewer a try. </p><p>http://sourceforge.net/projects/gerbv/</p>
<p>sir please send gerber files on</p><p>ep.hobbyiest@gmail.com.</p>
<p>Interested in smd version as well, thanks</p><p>erin.eager@gmail.com</p>
<p>Hi, can I also give it a try?<br>I'd appreciate if you could send those files to sabotenboy_london@goo.jp.</p><p>Thank you very much!</p>
<p>I would love too a copy of your GBL files! willy1142@gmail.com</p><p>Thanks!</p>
<p>Kindly advise the logic to adjust the mcp6s22 and what is the data packet format sent to the PC (just to configure how to interface an Android based oscilloscope like <a href="https://play.google.com/store/apps/details?id=com.nfx.noscpro&hl=en_GB" rel="nofollow">https://play.google.com/store/apps/details?id=com....</a> )</p><p>I would like to use the Pinguino board which uses PIC32MX440) so iI do appreciate the algorithm flow chart of the PIC program so I could port it to the Pinguino board and interface it to the Android app Oscilloscope Pro.</p><p>Thanks and Regards</p>
<p>Kindly look at the files defining the interface-control <a href="https://github.com/ajoyraman/USB_Matchbox_Scope/blob/master/MPLAB%20C30_Code/015_Scope2/ICD_Scope2.pdf" rel="nofollow" style="">ICD_Scope2.pdf</a>, <a href="https://github.com/ajoyraman/USB_Matchbox_Scope/blob/master/MPLAB%20C30_Code/015_Scope2/Readme_Scope2.doc" rel="nofollow" style="">Readme_Scope2.doc</a></p><p>at:</p><p>https://github.com/ajoyraman/USB_Matchbox_Scope/tree/master/MPLAB%20C30_Code/015_Scope2</p>
<p>Very much appreciated.</p>
<p>Is it possible to get the hex code file for the PIC30F2020?</p><p>Thanks</p>
<p>The Hex code and documentation is at Step 13 and a link to the source code on the intro page</p>
<p>I'd like a copy of the Gerber files too if that is OK? </p><p>lettherebebeer@yahoo.co.uk</p><p>Thank you.</p>
<p>may I have te Gerbers too? r2d2montreal@gmail.com thx</p>
<p>Dear ajoyraman,</p><p>Please also send me a copy of the Gerbers to <strong>pakdel@mail.ru</strong></p><p>Sincerely</p>

About This Instructable


459 favorites


Bio: I am a retired Electronic Systems Engineer now pursuing my hobbies full time. I share what I do especially with the world wide student community.
More by ajoyraman: HDD Circular Chart Recorder Kitchen Shelf Reconditioned Odds and ends - interlocked shelf
Add instructable to: