Reading USB camera data from a microcontroller

Started by Ivan Nathvalski August 29, 2005
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?

 


> 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
"Ivan Nathvalski" <ivanNath@rotolmail.com> wrote in message 
news:4312df09$0$22557$afc38c87@news.optusnet.com.au...
> 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?
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
In comp.arch.embedded Ivan Nathvalski <ivanNath@rotolmail.com> wrote:
> 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?
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

"Ivan Nathvalski" <ivanNath@rotolmail.com> wrote in message 
news:4312df09$0$22557$afc38c87@news.optusnet.com.au...
> 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? >
Go with an older type serial cam or get a camucam2 or avr cam or similar. http://www.cs.cmu.edu/~cmucam/ http://www.jrobot.net/ http://home.teleport.ch/idobson/ using bascom avr http://home.teleport.ch/idobson/projects/UDP-webcam.htm http://home.teleport.ch/idobson/start_e.htm Alex
On Mon, 29 Aug 2005 20:11:02 +1000, "Ivan Nathvalski" <ivanNath@rotolmail.com> wrote:

>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? > > >
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. http://www.circuitcellar.com/avr2004/Second.html
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

"Ivan Nathvalski" <ivanNath@rotolmail.com> wrote in message 
news:4312df09$0$22557$afc38c87@news.optusnet.com.au...
> 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? > > > >
Rudolf Ladyzhenskii wrote:
> 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.
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. http://www.nslu2-linux.org/wiki/ -- D. Jay Newman http://enerd.ws/robots/
Rudolf Ladyzhenskii wrote:
> 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.
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. http://www.nslu2-linux.org/wiki/ -- D. Jay Newman http://enerd.ws/robots/
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

"Ivan Nathvalski" <ivanNath@rotolmail.com> wrote in message 
news:4312df09$0$22557$afc38c87@news.optusnet.com.au...
> 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? > > > >
On Mon, 29 Aug 2005 20:11:02 +1000, "Ivan Nathvalski" <ivanNath@rotolmail.com> wrote:

>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? > > >
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. http://www.circuitcellar.com/avr2004/Second.html
"Ivan Nathvalski" <ivanNath@rotolmail.com> wrote in message 
news:4312df09$0$22557$afc38c87@news.optusnet.com.au...
> 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? >
Go with an older type serial cam or get a camucam2 or avr cam or similar. http://www.cs.cmu.edu/~cmucam/ http://www.jrobot.net/ http://home.teleport.ch/idobson/ using bascom avr http://home.teleport.ch/idobson/projects/UDP-webcam.htm http://home.teleport.ch/idobson/start_e.htm Alex
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

In comp.arch.embedded Ivan Nathvalski <ivanNath@rotolmail.com> wrote:
> 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?
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.
"Ivan Nathvalski" <ivanNath@rotolmail.com> wrote in message 
news:4312df09$0$22557$afc38c87@news.optusnet.com.au...
> 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?
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
> 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
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?