9

For learning and hacking purposes, I plan to study and use parts from smartphones and tablets like Galaxy or iPhone. They are really efficient and pretty cheap...

Did anybody do this before? If yes, can anybody tell me what kind of connector is this one on the galaxy camera, Galaxy Tab S 10.5 Front Facing Camera (Wi-Fi), and whether it can be found for attaching it to an Arduino project?

Edit: Someone else asked a similar question here, How to reuse quality camera from old / broken phone.

1
9

The connector on the flex circuit from that camera was made by Hirose (it has an HRS logo on it), and might be in the BM10, BM14, or BM20 series. You can measure the pin spacing, stacking height, etc. to check which series it's in. For example, the Hirose BM14 series of FPC to board connectors has pins at 0.4 mm Pitch and 0.8 stacking height.

Mouser.com carries a 24-pin BM14 connector that might mate or match with the pictured connector. For other photos of Hirose FPC connectors, see google images for hirose fpc.

While you probably can find a matching connector (via careful measurement and perhaps some trial and error) and build an interface, it may be difficult to use the camera once it's hooked up. Most Arduino models have too little RAM to support image processing. A Yun might do it, a Tre, or some other micro entirely, eg Beagle or Raspberry.

5
  • As a side question, how do you know how much RAM such a camera requires ?
    – Charaf
    Dec 28 '15 at 20:52
  • 2
    @Charaf, I don't know what protocol that camera uses. On some, the readout rate is 40 MHz, ie too fast to process in realtime on most Arduino models, but if a camera has a readout the Arduino can clock, and if your image processing can go line by line or is concentrated on a small region of the whole image, you might get by with a few thousand bytes. For whole-image processing, having a few megabytes of RAM is helpful. Dec 29 '15 at 20:29
  • 2
    The ballpark RAM required for video processing is a product of the size of the image. A camera which outputs a 30fps 640x480 image would take a minimum of 640*480*3 bytes = 920 kB per frame. This is already orders of magnitude more than the Atmel-based arduinos have. In addition, the CPU and buses must run faster than the data coming in, which is 640*480*3*30 bytes per second = 27.6 MB/s, i.e. greater than 27.6 MHz. So in summary, video processing requires closer to a "computer" than a "microcontroller", simply because of the size of video. FPGAs are a whole different story.
    – cortices
    Dec 30 '15 at 0:14
  • As a second side question, i found the iPhone 4S Rear-Facing Camera really really cheap here repairsuniverse.com/apple-iphone-4s-camera-replacement.html … But given that it's Apple featured, do you think there is a chance for the signal to be encrypted so that we could not reuse this part ? @cortices : understood. Better use it in conjonction with a raspberry, may be.
    – Charaf
    Dec 31 '15 at 2:19
  • 1
    @Charaf, the price is for a reason -- it gives you no help with decoding the signal from the camera. It's not that it's encrypted per se, just that the details of the output protocols of these proprietary camera chips are usually not public, and even if they are, it is infeasible to implement it yourself.
    – cortices
    Dec 31 '15 at 2:26
3

(summary of comment thread)

I strongly recommend against trying to use any of these smartphone camera replacement parts. While they are cheap, this is because the signal they output is nigh impossible for you to use, even if you knew its specifications, which is unlikely given proprietary parts often have proprietary, non-public protocols. Even if you did have it, you'd likely have to implement a linux kernel extension for Raspberry Pi yourself to support it. Far more work than it's worth.

If you actually want to do image processing, there is a clear recommendation: the Raspberry Pi camera interface. RasPis have a special flex socket on the board for a camera, and you can buy cameras which work with the raspivid etc. commands included in raspbian with no extra setup. This allows you to use OpenCV or similar image processing libraries, or write your own, without having to worry about bitbanging obscure camera protocols.

No-name camera boards can be bought from eBay or similar sites for less than US$20, and they support 30fps 5 MP image/video capture to the Raspberry Pi natively and easily. Just search for "Raspberry Pi camera".

However...

If you're really sure you're up to the challenge of hacking a proprietary camera module, you'll want to do thorough research finding the exact protocol specifications for these camera chips first, and try to find ones that are the most common, for the highest chance of compatibility, and likelihood of others having made progress on using them. Good luck!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.