Reading USB camera data from a microcontroller

Aug 29, 2005 8 Replies

Can some USB, microcontroller expert advise me how can a USB webcam be interfaced with a microcontroller (PIC, ATMega, etc) so that we can capture image frames (low speed, low res) with the microcontroller?


you'd need a usb host on the board to interface with the micro, power to run the cam from the board... you may be better ripping a cheap cam apart and pulling a direct video output before the usb out (if possible)

-mark

Forget it. Better just to buy one of the cameras with a video output. Key thing about USB, is that it is designed to make the 'slave' device relatively easy to produce. The 'host' device, requires a _lot_ more hardware and code. It is possible to produce a basic host, but you are looking at perhaps 5 to 10* as much work as producing a direct video grabber...

Best Wishes

About as well as you could pull a 20-ton cargo trailer up a hill using a bicycle. You need a USB host for that, which needs between one and two orders of magnitude more CPU power than what you're envisioning.

Hans-Bernhard Broeker (broeker@physik.rwth-aachen.de) Even if all the snow were burnt, ashes would remain.

Cypress makes some nice little USB host chips - I'd reccomend taking a look at those as I doubt a 8b micro could handle the complexities of a USB host interface. Best of luck!

-M. Noone

Go with an older type serial cam or get a camucam2 or avr cam or similar.

formatting link
formatting link

formatting link
using bascom avr
formatting link
formatting link

Alex

Not a USB solution, but John Orlando and Brent Taylor won 2nd prize in Circuit Cellar's AVR contest last year with an ATmega8 controlled camera.

formatting link

USB is a master-slave system. Camera is a slave, so you need a master (USB host). Low-end micros with USB are USB slaves too.

You need a USB host. It is either built into the higher-end processors or you need external chip. But this is only half a problem. Then you need USB host stack, typically found in larger OS, like Linux.

Rudolf

I'm solving this problem with a Linksys NSLU2 (Network storage system). This device has one ethernet port, two USB host, and 1.5 serial ports.

You can load a version of Linux on it that will handle a webcam.

I am planning on preporoccesing the image there and then passing on the relevent information to my main processor.

formatting link

-- D. Jay Newman

formatting link

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required