Electronic – Using standalone smartphone camera

cameracomponentsinterface

Is there any possibility to use smartphone camera modules without their smartphone?
those modules are relativity cheap and provide good results,
can someone explain how to do it?

Best Answer

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.

Related Topic