Bookmark and Share

The Raspberry Pi And Embedded Vision: Almost Out Of The Oven

Late last November, I mentioned that a 5 Mpixel add-in camera module was under active development for the popular (at least to most folks), inexpensive Raspberry Pi hobbyist board. At the time, I passed along its then-only-estimated $25 price tag, and wasn't able to share an availability timeframe with you. I still don't have a firm production date, but a more recent blog update from the Raspberry Pi Foundation suggests that we're getting close; the above photograph (and its below counterpart of the module back-side) shows the claimed final hardware:

Due in no small part to continued software driver development and optimization work, the Foundation isn't yet ready to release the module into the wild. The blog post author comments, "I don’t have a release date for you yet, but we’re probably at least a month away (and possibly more) from being able to sell these at the moment." Still, the reported progress makes for encouraging news. And as BDTI senior software engineer Eric Gregori noted in last November's writeup, the Raspberry Pi hardware is capable of implementing not only elementary image capture but also embedded vision processing least the $35 first-generation hardware is.

Some of you may have already heard about the Raspberry Pi "A" model, which at $25, is $10 lesser than its earlier-released "B" sibling. How did the Foundation accomplish this cost-slimming move? Here are the fundamental differences between the two versions:


Model A

Model B




Memory (SDRAM, shared with GPU)

256 MB

512 MB

USB 2.0 ports



Onboard networking


10/100 Mbps Ethernet

Power consumption

300 mA (1.5W)

700 mA (3.5W)

While it might be convenient to use Ethernet to interface the Raspberry Pi to a networked webcam, other camera connectivity options also exist on the model "A"; the sole remaining USB 2.0 port, for example, or the interface leveraged by the above-mentioned camera module. The only variation between the two versions that notably concerns me from an embedded vision capability standpoint is the reduction in system memory; I've asked Gregori to comment on the matter. Until then, content yourself with a model "A" first-purchaser's video of initial experiences:

And here's some additional reading material on the camera module:

UPDATE: Now shipping!

Zizek Ryu
Last seen: 1 year 28 weeks ago
Level 1: Prestidigitator
Joined: 2013-03-10
Points: 2

Thank you for your good jobs!!

Eric Gregori
Eric Gregori's picture
Last seen: 1 year 29 weeks ago
Level 6: Enchanter
Joined: 2011-08-16
Points: 202

I am very excited about the possibilities for a camera on the Raspberry Pi.  I am looking forward to all the embedded vision projects the community will build around it.

At 5M pixels (assuming RGB565) each frame take almost 4% of your total memory with the model A.  Unless the camera can be configured to output lower resolution video streams, the model A is going to be dropping a lot of frames due to a small video buffer queue.  Even 512MB is going to be tight at the full 5M resolution.

I would highly recommend the 512MB of memory if you plan on using OpenCV with Linux.  If you are planning on implementing your own algorithms directly on the V4L2 framebuffer, 256MB will work with simpler algorithms.


I have implemented simple embedded vision algorithms on systems running linux as small as 400Mhz ARM9's with only 64MB of memory.  So it can be done.