• Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

USB data aqusition

Not open for further replies.


New Member
I'm wanting to build a data monitoring system that displays the incoming data onto a computer VIA USB. The system will work with at least 4 potentiometers (0 - 5 volts) at 12 bit resolution. Speed isn't a huge concern but the faster the better. I'm a programmer, not a electrician so I'm a little lost, but here is what I came up with. Let me know if you can help or tell me if I'm out to lunch:

First, I was thinking I could use a USB interface like this one:
which looks like it can take 20bits of incoming data and transmit that data via USB. But how do I get the 20bits of info from the Potentiometers?

I was thinking that I could use 4 (or more) 12 bit AD converters. Each of these would take a turn sending their incoming data to the 20 bit USB interface bus. Perhaps I could rotate between the ADC's with a clock and add 2 more bits of data to the ADC's data indicating which ADC is supplying the data? Or instead of a clock/counter would it be better to use a microcontroller and add on 2 more bits of data indicating which ADC is supplying the current data?

Like I said, I have no idea as to what I'm doing, but any help would be appreciated...

Cheers :?


New Member
Computer I/O port

I see no problem here other than deciding which of the myriad options to use !

Depending on the speed of your chosen A/D you could consider an analogue multiplexer choosing which pot the A/D works with - you need to consider A/D cost versus speed. A single fast A/D or multiple slower A/Ds.

A suggested (one of many) method of control would be an 8-bit data port to the A/D(s) using D0-D7 and PA0-PA3 to select one analogue input (either via the analogue multiplexer or A/D select pins).
As you said you wanted 12 bit A/Ds you would then use PA7 to select LSByte/USByte from the A/D port, PA4-PA6 are then available for more analogue input selects.
This leaves PB0-PB7 and PC4-PC7 unused !
Everything is then controlled by the computer telling the Devasys card which input value to select and then requesting the current value (as two bytes), so software shouldn't be too difficult.


New Member
HC08 Option


The MC68HC08JB8 might be good option, the flash MCU has USB1.1 interface, apart from 2 pins from PORTE (for usb D+ and D-) the rest of the I/O pins can be used for general purpose A/D, the motorola laso has some nice reference design on this MCU. Hope this helps.

Not open for further replies.

EE World Online Articles