Capturing video with an Arduino

[Carlos Agell] sent in a tip where he captured images from an analog camera with an Arduino.

We’ve seen a few AVR/Arduino hacks that generate video, although overclocking is necessary if you want to do anything beyond a Breakout clone. [Carlos]‘ hack bucks that trend and now he can capture video with an Arduino.

The project captures individual frames from NTSC video at a resolution of 128×96. Although the Arduino isn’t powerful enough for real-time capture, [Carlos] managed this by capturing only thresholds and sending them over to a computer running a program coded in LabVIEW. The PC program reassembles the images of the thresholds and produces a tiny image in 3-bit grayscale.

[Carlos] used the Video Experimenter shield which is impressive in it’s own right. The Video Experimenter is able to do object tracking and edge detection, so we’re wondering when we’ll see robots with computer vision running off an Arduino. Check out a demo of the nootropic design video experimenter shield after the break.

UPDATE: Carlos wrote a sketch in Processing that does the same thing as his LabVIEW program.


  1. Rob says:

    I wonder if something like the Video Experimenter would be possible with component video

  2. GCL says:

    It might.

    As it happens Sparkfun sells a camera, and JPEG trigger board who’s basically an Arduino wired to simply use that camera to collect stills and store them on a microSD card.

    And they practically admit it as such, since that’s how its programmed.

  3. cagell says:

    The big difference of this solution VS the JPEG solution is that you can process the data on the Arduino when it is not compressed.

    There is no way to decode JPEG on the arduino to process the images, whereas the solution proposed is less resolution, monochrome, but let’s you take decisions based on data.

    If you want to store data on an SD card then it is better the JPEG solution, if you want to take decision based on the image info, then use the video experimenter shield.

    BTW there is no way to decode the color info with the latter solution.

  4. kdw says:

    Wow, this is pretty impressive given the fact that an 8-bit MCU is fairly under-powered for such purpose.

  5. @Rob, colour wheel from old DLP projector and use LM1881 + PLL to sync it with the frame rate of the camera.

  6. steaky says:

    its a shame that vabview is EXPENSIVE!!

  7. steve says:

    Wow. Arduino bringing back all the shit that ppl had sorted out since 1990 using a regular MC. congrats

  8. K!P says:

    @steve, you mean people developing a skill set that requires innovative solutions to deal with low computing power? Yeah efficiency sucks…

  9. cagell says:

    As promised in the blog I am now publishing a Processing Sketch matching the Arduino code, to acquire images from the Arduino to the PC using the Video Experimenter board.

    Check it out

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


Get every new post delivered to your Inbox.

Join 97,541 other followers