NerdCam1 - Something I have been waiting for...
May 3, 2012
With this post I would like to introduce to you my latest creation - the NerdCam1. You might wonder why to take the risk to self-develop a CMOS-camera module when there are plenty of other commercial modules available, with a wide price range, with different features, in small sizes. The point is, I personally did not find a commercial and affordable board camera module that fits all my needs for stereoscopic vision, where camera synchronization is a big issue among other aspects like a documented I2C-interface. Furthermore a dedicated digital BT.656-conforming video output directly on the camera level would be the ultimate nice-to-have feature for me. But to my deep disappointment, there is apparently no camera module available that exactly covers my wish list.
After a while I tried to find information about CMOS imaging chips in general and stumbled across those of Aptina, in particular the SoC imager MT9V135. This image processor is available via Farnell or Digi-Key at a moderate price. It is also "well" documented via different data sheets circulating the Internet. When I read all this stuff I thought, hmm why not making a camera module on my own? It's risky, it's challenging, maybe a little bit expensive on the first run, but at the end I was ready to go.
So here it is - the cam you (or at least I) have been waiting for so long - the one and only NerdCam1. Including:
- Analog CVBS color video output (NTSC or PAL),
- Digital standard definition ITU-R BT.656 color video output (NTSC or PAL),
- Vcc ranging from 5V to 18V with on-board 3.3V and 2.5V power generation,
- 3.3V logic level digital interface comprising 8bit BT.656 video data output, 27MHz clock output or input, I2C-interface (5V tolerant) with selectable I2C-address switch,
- Selectable internal or external 27MHz clock.
The board has a size of 40mm x 46mm, which is of course a little bit larger than those commercial camera modules, but hey, it's just a double layer PCB with single-sided SMD component placement. For the M12-lens holder two different mounting hole sets are implemented, one with 21mm distance (fits recycled lens mount form my old commercial cams) and one with 22mm for the Sunex CMT103 lens holder.
In particular I would like to highlight the clock generation feature. The camera has its own 27MHz oscillator which when turned on feeds the image processor and whose signal is available as a 3.3V-logic level output for other devices. When disabled the same clock output pin becomes a clock input pin, where an external 27MHz clock signal can be injected. In this way you can for instance let one camera do the clock generation and feed this signal into another camera to have a fully synchronized pair of board cameras.
While designing the schematic and the PCB was interesting, the board assembly was challenging. I decided to buy the Beta-Reflow-Kit and the Reflow Controller V2, a decision I really do not regret. The next photos describe some assembly steps of the CMOS camera module.
PCB after solder paste printing with metallic stencil and component assembly with tweezers
Inside the reflow (ex. pizza) oven with thermo-couple for temperature sensing
The reflow controller V2 doing its job
After reflow soldering - flawless, no bridges over neighboring pins
Before changing the lens holder and lens to the new board camera
After changing the lens holder and lens to the new board camera
Looking back to this first trial I'm still astonished how simple the PCB assembly was. The board looks very pretty, almost industrial quality level, as far as I can judge it. Difficult IC packages like the CLCC-48 of the image sensor are no longer a problem. I really recommend this kind of reflow soldering using the pizza oven and the oven controller. BTW the controller can be purchased separately without any other equipment and can be used with any other pizza oven due to its temperature response curve learning feature.
Any comments are welcome.