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, I've added your project to the <em style="">&quot;</em><em style="">Make Your Own Oscilloscope!</em><em style="">&quot;</em> Collection</p><p>This is the link If you are interested:</p><p><a href="http://www.instructables.com/id/Make-Your-Own-Oscilloscope/">http://www.instructables.com/id/Make-Your-Own-Osci...</a></p>
<p>Thanks, that's good!</p>
<p>This looks really chill! Could I use it with a TV?</p>
Not likely! You need a windows computer with a spare usb port. Single computer dongles are now available which convert a TV to a computer but I have no experience of these. If someone can work out a scheme it would be wonderful.
<p>Excellent, well-written article; a great engineering project. However, for most hobbyist I might suggest Gabotronics, who markets pre-made USB oscilloscopes, some for under $100 USD.</p>
Great! :D
<p>Impressive work! Big thumbs up!</p>
<p>Hi,</p><p>I understand that your performed FFT on the Aj_Scope2 app itself. Do you mind to share the fft code? Thank you</p>
<p>The code is based on:</p><table><tbody><tr><td>'THE DISCRETE FOURIER TRANSFORM</td></tr><tr><td> 'copyright &copy; 1997-1999 by California Technical Publishing</td></tr><tr><td> 'published with permission from Steven W Smith, <a href="http://www.dspguide.com"> www.dspguide.com</a></td></tr></tbody></table><p>Search for the code I used within the vb file:</p><p><a href="https://github.com/ajoyraman/USB_Matchbox_Scope/blob/master/VB.Net2-Code/Aj_Scope/Aj_Scope2.vb">https://github.com/ajoyraman/USB_Matchbox_Scope/bl...</a></p>
<p>Hi, </p><p>I am working on adding ICSP to the circuit. I am also working on a reconfigured circuit board for a case that I have on hand. Do you have any concerns if I place my modified schematics and KiCad files on github? </p><p>I am working on</p>
<p>Go ahead! the ICSP will definately be useful for programming the chip. I am sure many DIY enthusiasts will benefit. Please provide the github link and mark as 'I made it!'.</p>
<p>It is a simple addition. Just a pin header, and a diode to protect the Vcc from the programming voltage. As soon as I have a working prototype I will post a link. Thanks again!</p>
<p>FYI for Linux users. I was able to get the windows software to run on Wine very easily. This might be a better option than installing all of the mentioned packages here.</p>
<p>Thanks, I will try this. </p>
<p>I haven't built this yet, but I plan on building one or maybe something like it that is AVR based. It would be nice to use for my audio projects at home. I am a field service technician and it would be great to analyze a customers control signal with a laptop as well when needed. </p>
<p>Hi</p><p>Please send me the schematic I want to design my own PCB thank you.</p><p>heinrich.delange@gmail.com</p><p>Regards</p><p>Heinrich</p>
<p>Hi Heinrich, Pl download the scope2.rar file from step 13 it contains all the data.</p><p><a href="http://www.instructables.com/files/orig/FT1/6291/HMF6RWQ0/FT16291HMF6RWQ0.rar">http://www.instructables.com/files/orig/FT1/6291/H...</a></p>
<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>

About This Instructable


693 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: Pencil Box Triple Output Power Supply Long Range Ultrasonic Distance Sensor HDD Circular Chart Recorder
Add instructable to: