Instructables

DIY - USB OSCILLOSCOPE IN A MATCHBOX

Contest Winner
Picture of DIY - USB OSCILLOSCOPE IN A MATCHBOX
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

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-simplest-real-oscilloscopelogic-/

DPScope - Build Your Own USB/PC-Based Oscilloscope,by womai
http://www.instructables.com/id/DPScope-Build-Your-Own-USBPC-Based-Oscilloscope/

LCS-1M - A Full-Featured, Low-Cost Hobby Oscilloscope,by womai
http://www.instructables.com/id/LCS-1M-A-Full-Featured-Low-Cost-Hobby-Oscillosc/

PC SOUND-CARD SCOPE INTERFACE FACILITATES DC RESTORATION, by me
http://www.instructables.com/id/PC-SOUND-CARD-SCOPE-INTERFACE-FACILITATES-DC-RESTO/

Universal Analog Hardware Testbench, by me
http://www.instructables.com/id/Universal-Analog-Hardware-Testbench/

Analog Experiments Anywhere,by me
http://www.instructables.com/id/Analog-Experiments-Anywhere/

Two-Channel PC Based Oscilloscope USB, by Gaurav Chaudhary
http://www.circuitvalley.com/2011/07/two-channel-pcbased-oscilloscope-usb.html
 
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
Input
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
 
Offset
 -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
 
Trigger
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
Heartman4 days ago

Hi,

I made it!

Ajoy, you did an awesome work.
I redesigned the PCB, double side, easy to do with the toner transfert methode.

It use an external TTL>USB converter,
I tried different converters, all works as well. the PCB size is as a credit card.

The project files to make the PCB, will be available on my blog, soon.

Regards,

DSPICoscope_Final.pngDSPICoscope_plugged.pngDSPICoscope_PCB_01.png
piotreeek28 days ago

First of all I'd like to congratulate on a wonderful and simple project.

I have a question, though - how do you program your dsPICs? I have been using AVRs so far, so I don't have experience and knowledge needed and I can't find a suitable programmer and a decent piece of software. Please help or at least point out where to search.

I have designed a nice 5x10cm board with mostly SMD parts in Eagle that I can share if anyone wants it.

ajoyraman (author)  piotreeek27 days ago
Thanks for the good words which are a source of encouragement!

I use a pickkit2 for programming the dsPic. Many pickit2 clones are available on the net.

Great work on the PCB. Once you populate the SMD board I request you to feature it with pictures under the "I made it" section. You could upload the files or send them to me for sharing with others.

Hey!

I got a no reply message (time out) from the microprocessor.

I am pretty sure that the board (design, connections, soldering) are okay.

The microchip is programmed well and I didn't change the fisebits.

I double-checked the voltages on the legs of microprocessor.

Any recommendations? Do i need to set the baudrate of virtual com port or 9600 is fine? What to check first?

I checked the FTDI communication, by brideing the Tx and Rx leg on the dsPIC side - it works properly.

miguel75 made it!1 month ago

An interesting project, thanks for sharing.
I've also done redesigning the pcb to adapt it to my needs. And I'm recomentando this instructable to my friends.
Congratulations Mr. ajoyraman

This is my version of this scope, but has a few beginner mistakes I have to correct.

2014-05-31 12.57.28.jpg2014-06-01 21.11.01.jpg
ajoyraman (author)  miguel751 month ago

Thank you miguel75 for building this version with non-smd components!

miguel75 also reported that he was able to run the Python GUI successfully.

Certainly you can use the python version, but the default installation in windows lacks many modules are needed. I comment that I had to install in case anyone needs them.
Default install: python-2.7.7.msi
Additional moduls: pyserial-2.7.win32_py3k.exe
numpy-1.5.1-win32-superpack-python2.7.exe
matplotlib-1.3.1.win32-py2.7.exe
pyparsing-2.0.2.win32-py2.7.exe
python-dateutil-2.2.win32-py2.7.exe
numpy-MKL-1.8.1.win32-py2.7.exe
six-1.6.1.win32-py2.7.exe

After installing this, is when I could run "Aj_Scope2_V2.7.pyc"

ajoyraman (author) 4 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.

IMG_20140318_093612.jpgIMG_20140318_093844.jpg

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

Thank you very much!

w_ingel ajoyraman3 months ago

I would love too a copy of your GBL files! willy1142@gmail.com

Thanks!

I would love a copy of your GBL files! paul@paulkruger.us

ajoyraman (author)  stuffdone3 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!!

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

http://sourceforge.net/projects/gerbv/

ajoyraman (author) made it!3 months ago

I built another piece of hardware based on the smd version PCB files provided by JHx.

1. The unit is very compact.

2. It functions as well as the prototype unit.

3. JHx has intelligently placed all standard components (PIC microcontroller, USB connector, Cylindrical capacitors) on the top side & all the smd devices (FDTI chip, PGAs, 3.3V regulator) on the bottom side. All major soldering is only on the bottom.

4. It's very easy to fabricate.

The PCB design files are available on request.

Aj_hari.jpg
paulckruger3 months ago

How about this little gem?

http://www.futurlec.com/Mini_USB.shtml

It is a complete controller board using the USB chip that is used in this project. $13.00

ajoyraman (author)  paulckruger3 months ago

Thanks for the gem!

The design files shared by JHx who has built an SMD version has been done in a professional way. I can send them to any member who desires.

Eternal669 months ago
thats cool, i think using analog buffer in input will be helpful and handle high voltage in input!
ajoyraman (author)  Eternal669 months ago
Currently the input handles +/- 12.5V range which could be increased to +/- 25V if we add another 1 Mega Ohm resistor in series with a corresponding compensating capacitor in parallel.

Beyond this, we need to keep in mind that the ground is common with the PC/Laptop and the corresponding safety considerations would apply.

How about a opto-isolater to separate the PC from the inputs?

ajoyraman (author)  stuffdone3 months ago

Yes, this would isolate the PC inputs but would not isolate power and ground as the scope runs off the PC USB supply.

ajoyraman (author) 4 months ago

Many thanks gandalfit for the positive comments!

I wish many more Instructable members would make this!

gandalfit made it!4 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.

board.jpg
abuhafss6 months ago

Dear Ajoyraman, it is really a simple and wonderful project. I am planing to build it but, the PIC30F2020 is not available in my area. Can I use some other PIC?

madhavdivya8 months ago
Dear Ajoyraman, Congrats and kudos for the wonderful project. It is an inspiration for all students / hobbyists and hardware engineers to make and use one. I would be pleased to provide whatever necessary support in my own small way to bring it as a kit so that everyone can benefit. Please let me know how we can proceed further. Madhav / 9849169056 / madhavdivya@gmail.com
ajoyraman (author)  madhavdivya8 months ago
Dear Madhavdivya, Thank for your interest.

I am in this activity on a totally non-commercial mode providing these instructables with full technical data and software to benefit the student and hobby community.

I encourage anyone including yourself to build a prototype and then if you consider it useful propagate this project in any way you feel fit.

I can provide any technical clarifications and email based help required.

Best Wishes !

Ajoy Raman
pityukecske8 months ago
To my great-great surprise: this isn't among the finalists in the microcontroller contest. I found it weird that the complexity and usability of this project hasn't been appreciated enough. It doesn't really matter, but it's a grand prize winner from my point of view.

keep up the good work!
ajoyraman (author)  pityukecske8 months ago
Dear Pityukecske,

Thank you for your kind words ! They encourage me to keep up this activity.

Yes, it is a bit sad not to make the finalists. Possibly the entry did not meet the overall criteria.

Thanks again and best wishes,

Ajoy Raman
Drillbert9 months ago
This is a great design. Did you consider a SSOP to DIP adapter for the FT chip? Also, is a Gerber file available?
ajoyraman (author)  Drillbert9 months ago
Thanks ! I will consider your suggestion. Message me your email address and I will send the Gerber.
Light_Lab9 months ago
It would be really cool if someone made this into a kit, I no longer have the facilities to etch boards and get the parts. I can drill and solder though.
I would really like my son who is disinterested in nearly everything to see an oscilloscope display the waveforms from my old synthesizer.
ajoyraman (author)  Light_Lab9 months ago
Great Thought !
I could provide any help required if someone wants to convert it to a kit. This would indeed benefit the worldwide student community.
pityukecske9 months ago
I haven't run a check on the others here, but i think i can say, this certainly will be among the winners. Useful, simple enough to build, well described.
Special thanks for not using an arduino, like most of the contestants here! :)

One thing i really didn't like: the way you connected your FT chip, that looks really bad in a really nice project like this. Even so, i wish you all the luck you need to win this contest!

What did you use to design your PCB?

Istvan
ajoyraman (author)  pityukecske9 months ago
Thanks for the critical comments ! Yes, the FT chip looks unprofessional but it was the only DIY solution I could think of compatible with the toner transfer method.

I have a very old version of Orcad for the PCB design.
ASCAS9 months ago
That's great, and really useful! But why not use arduino? It's readymade, and easier to use.
ajoyraman (author)  ASCAS9 months ago
Firstly 'Truly DIY' which I was aiming for requires full control of the HW & SW.
Next I wanted a minimum chip count solution. These were some of the drivers for my approach.

The Arduino Due is an excellent piece of HW and could be an alternate approach if an analog interface is added to increase input impedance to 1 Mega Ohm.