This camera module can be a perfect project addition. It was designed to be used in security systems and does two main functions; it outputs NTSC video and can take snapshots of that video and transmit them over the TTL serial link. You can snap pictures at 640x480, 320x240 or 160x120 and they're pre-compressed JPEG images which makes them nice and small for easy storage to an SD card. It's perfect for a data-logging, security, photography, or robotics projects.
One nice thing about this particular camera is all the extras that come with it. For example, it has manually adjustable focus, auto-brightness, auto-white-balance, and auto-contrast taken care of for you as well as motion detection built in! That means you can have it alert your project when something moved in the frame.
Using the module is pretty easy and only requires two digital pins (or a TTL serial port). Default transmission rate is 38400 baud, but the baud rate can be adjusted if you need to transmit the images faster. Of course we wouldn't just leave you with a datasheet and a 'good luck'. The folks at Adafruit spent a lot of time researching the module and DSP to make a really nice Arduino library with example code that shows how to change the image size and compression quality, detect motion, control the video output stream, etc. They also have a very detailed tutorial that will help get the most use out of your camera.
Note: We have these working great with classic Arduino UNOs (and other Atmega328-based 'duinos) but they are not yet MEGA compatible.
Module size: 32mm x 32mm
Image sensor: CMOS 1/4 inch
CMOS Pixels: 30M
Pixel size: 5.6um x 5.6um
Output format: Standard JPEG/M-JPEG
White balance: Automatic
Shutter: Electronic rolling shutter
Dynamic Range: 60DB
Max analog gain: 16DB
Frame speed: 640 x 480 @ 30fps
Scan mode: Progressive scan
Viewing angle: 120 degrees
Monitoring distance: 10 meters, maximum 15meters (adjustable)
Image size: VGA (640 x 480), QVGA (320 x 240), QQVGA (160 x 120)