Most of the of the Canon A series cameras are able to run the free and stunningly capable CHDK - Canon Hack Development Kit and also here.
- CHDK allows you to communicate via USB, control the camera's every know feature and add extra features. eg you can set up motion sensing of a selected area with action of choice to follow even though this facility is probably available as std on none of the cameras concerned.
CHDK is installed on an SD card which is inderted in the camera and the camera loads and runs it along with any "program" files at power up. The camera is not altered. I understand that the latest Canon A series camera are not compatible, but the project is ongoing and capable.
Overview here
They say:
Enhanced Image Capture: CHDK supports RAW format for pictures (in addition to JPEG), longer recording time and length for videos (up to 1 hour or 2GBs), and several new compression options.
Additional Information On-Screen: With CHDK, you can customize your on-screen display to your heart's content, including worthwhile information like remaining battery life, histogram, depth of focus, and more.
Additional Photographic Settings: CHDK takes many of the features already available on your camera and gives you way more options, including longer exposure times (up to 65 seconds), faster shutter speeds (1/25,000 sec or faster), automatic bracketing of your photos, and more.
Support for Small Programs/Scripts: CHDK can run small scripts that will allow your camera to perform a set of actions based on the conditions of the script. Tons of scripts are available, and they provide functionality like motion-sensing photography (which reportedly works for lightning strikes) and unlimited interval time-lapse photography (see video below).
Click to view
Even better, CHDK is being actively developed, which means that new features are always on the horizon. There are actually several versions of CHDK in development, but the version we're going to focus on is called the Allbest build—a build that incorporates many of the best features available in other builds (get it?).
What You'll Need
To use CHDK, all you need is a supported Canon digital camera and an SD memory card. If you've already got a supported camera then it only follows that you've got the memory card, so you're already well on your way.
Depends on the camera and how "raw" it is.
A raw CMOS sensor usually spits data out in a 16-24 bit framed parallel bus. It's the same kind of system you see on the input of HDMI transmitters or some LCD panels. There is usually also an I2C interface for controlling the sensor. Other sensors use the same thing but transmit via LVDS (this is very common with bare LCDs). If you want an overview of how a CMOS sensor actually works, wikipedia is a good place to start.
Basically you are looking at driving the sensor with a pixel clock and a few control signals to tell it when to capture and shift the pixel data out. The clock is usually on the order of at least a few dozen MHz for bare sensors (say 5MP capturing at 30 frames a second, that's 150MHz at a minimum).
Newer sensors make use of the MIPI (Mobile Industry Processor Interface) standards and implement a high speed, multi-lane differential communications link, usually CIS-1 or CIS-2. Interfacing to these cameras is very difficult without specialized hardware, as it's a communications link similar to PCI Express.
To muddy the waters even more, some sensors have image processors built in to them and you talk to the image processor rather than the sensor itself. This isn't a bad thing, but it's something you need to be aware of. The image processor does all the black level adjustment, dead pixel correction, white balance, anti-shake, bayer compensation and other fun things that make the image sensors create such nice pictures in the first place.
Without more information from you regarding what specific module you're looking at, we can't give you a straightforward answer.
Edit 1
Given that you want it small and simple, take a look at the TCM8240MD as a starting point. It's $10 on Sparkfun. It's 1.3MP, uses an 8-bit parallel bus output with the standard pixel bus signals and an I2C control interface. It'll even output JPEG data for you. You can easily connect that to a CPLD/FPGA or something like a Cypress FX2LP to give you a two-chip USB2 streaming camera.
That's just a starting point. As I said, different sensors have different interfaces and different requirements (this one does AWB and lots of other processing that a "raw-er" camera wouldn't do).
Edit 2
If you don't need the digital image data, you have lots of easier options. this is essentially the guts of a regular old analogue security camera. It all depends on what you're after.
Edit 3
This guy seems to have gotten it working. The source is in the tcm820 directory. It was found buried in the sparkfun forum for the part.
Best Answer
You use a black/white sensor that has no RGB filters.
Then, you put your IR filter in front of the camera. Now you have a camera that sees infrared only.
Most CMOS camera elements are IR sensitive and have an extra filter to remove IR so as not to make a mess when using RGB.
You can get black and white CMOS cameras commercially, some even have built in IR LEDs that can be used to "light up" the view field with IR.
Take a look around. You may even find a commercial unit with the correct IR filter already built in.