The versatility of the Arduino platform has been well-documented - by attaching various inputs and outputs to your Arduino, it is capable of a lot. But what if your Arduino board...could see? That's the goal of this project from SparkFun customer David Chatting - aptly known as the Arduino Eye Shield.
The Arduino Eye Shield relies on using certain types of video formats - namely PAL and NTSC. The reason is that these video formats have a fairly straightforward structure. Looking at lines from a PAL video, for example, it's not too difficult to make out the initial negative-going pulse, then a color burst, and then the picture information follows. So how does the Arduino Eye Shield use this information?
The first test of the Arduino Eye Shield.
First, an LM1881 video sync separator extracts the synchronization pulses from the video signal so the Arduino can identify a specific line in the picture. It takes at least 8 samples per line for the picture, and then a AD811 comparator sets the output high or low depending on if the video signal is above or below the reference level (which is set dynamically by the Arduino). It essentially does the same process for gray-level information, only this time with difference reference levels.
"Reflections in Cider"
The results are pretty cool - the Arduino has eyes! This is still in the developmental phases, but there are definitely some very cool applications for this project. Great work!
Here's something much better! The new Video Experimenter shield lets you capture video images in memory and display them on a TV. Resolution is 128x96.
video frame capture
The shield lets you do all kinds of other things, too.
The Arduino Eye project is quite old, and it's what got me interested in processing video in the first place!
what is the max resolution the eyeshield can get?
Nice work =]! I even tried to buy one but paypal doesn't allow my billing address being in a different country than my shipping address (I use a mail forwarding/consolidating service)...
paypal transfer saved the day =]
Thanks very much for the feature Emcee!
And nootropic your Video Experimenter shield looks awesome - very very nice job!
Cheers,
Dave
One of the really cool aspects of the Arduino phenomenon is the way it's leading people to really push the limits of the hardware. In a commercial environment, you'd often reach for a beefier microcontroller, sacrificing increased parts cost to gain time to market and room for the code to grow, but Arduino users have a natural boundary in how powerful their tools can be, so they're rediscovering old techniques and inventing new ones to accomplish impressive feats like handling video with an atmega328.
This is very cool, for some reason reminded me of my first video camera, the PXL-2000.
I'd love to re-create that camera (unfortunately mine is long gone and surviving ones tend to cost big bucks), the schematics are available from in the patents but there is some custom VLSI in there that you can't exactly buy off-the-shelf.
I'd like to maybe look into re-creating it from a process perspective if not using identical hardware, or maybe remake it in a FPGA or something, but in the meantime maybe something like the Eye Shield could be a step.
I always wanted to get deeper into video processing, you guys that have experience with it are there any resources out there that you can recommend for a newbie?
One time I used the Mitsubishi M64282FP (aka, the Game Boy Camera; http://www.seattlerobotics.org/Encoder/200205/gbcam.html) to read 128x128 (I ended up shrinking that to about 64x64, though) 4-bit grayscale video using only an A/D (http://www.facebook.com/photo.php?fbid=1239421387004&set=o.7544046722&theater). With one camera, I was able to get about 6 fps, but with two and simple image processing it was about 2 fps. Either way, it was really fun to push the Atmega328 to the limit!
Are there schematics and code available yet?
There is some code available on his website - http://www.davidchatting.com/arduinoeyeshield
...if you are asking about the Video Experimenter, yes, it is all open source hardware and software. And it's available for purchase now.
A white maze, lit from an angle (so that North walls are always light, south always dark, etc.) and a sketch that uses only the eye-board to get through it. That's the demonstration I'd like to see.
Nice! I hope that this doesn't have the camera as part of the board. I'd like to be able to switch out cameras that have been modified to be sensitive to different light wavelengths (i.e. infrared, ultraviolet, etc..). Looking forward to getting my hands on one (or three) of these!
Very interesting... lot's of "Low resolution computer vision" potential =)
I MUCH prefer the mbed, but this is a pretty cool project. Would be nice to see it in action on a proper screen rather than an LED matrix. 4D's LCDs (or OLEDs) would be really easy to adapt to this. They have a really simple putPixel function that would do the same thing but at better resolution.
Sooo....when can I buy this? :)
Eye Shield, like what you'd wear for grinding metal.
from what I understand, you don't buy you make.