jeudi 2 octobre 2008

The cheapest dual trace scope in the galaxy


This submini USB scope is based on a Atmel Tiny45 cpu and cost less than 5€ with a homemade pcb

It has 2 analog inputs and can supply 5V ont the 4 pins header on the right. One of the inputs can be scaled down with the trim pot.
The firmware in the Tiny45 is written in C and compiled with Winavr and usb source code from obdev. As you can see, there is no crystal , the software sync the internal 16.5Mhz pll clock with the USB clock.

The cost with a home made pcb is around 5€.
Of course, do not expect 1Gs/s HID does not alow that data rate !
But it is using a 10bits AD.

It has been designed to plug into a project breadboard so there is no need for a power supply.
On this picture it is used to test a high precision light sensor.

It does connect to a PC with usb in HID mode, without the need to install any specific driver. Data are diplayed on the PC with .NET C# software. This is an exemple of my display programOf course you can write your own code to capture or display the datas

Here is the schematic, so simple !

 Thank you to[Milka2009] who made a nice video

Bill of material

1 Led (any)
1 R for led, from 220 to 470 ohm, smaller is brighter
2 R 68 ohm on USB D+ & D-lines
1 Pull up R 1.5K for USB device detection
2 Zener 3.6V for right USB signal levels
2 Bypass caps 100nf & 47uf
2 filter caps on analog inputs ( from 10nf to 470nf or nothing, up to you)
1 or 2 trimpots on analog inputs to scale your voltage to AD range (1.2V or 2.5V by software )
1 USB socket (A,B, mini, you chose)
1 Atmel Tiny45-20.

eagle files: usbscope-tiny.zip

Here is the C source for the firmware including usb lib and HID descriptors
and for those who do not want to mess with compilers, the .HEX file ready to flash main.hex.
Do not forget to set the fuses for internal PLL clock

And last for today, the Windows display software UsbADC.zip. There is no setup with it, so copy in a folder with the dll and try. It is .NET so you need the framework.

UPDATE: for all who requested the C# code for this app, here is the link usb-scope.zip done with Visual Studio 2005
UPDATE: broken links to source files have been fixed.

Thanks for reading.