I would like to implement a camera to my Arduino project.

So far I have worked with some sensors (e.g. distance), Wifi and Bluetooth modules, buzzer etc. You can find some very good examples on the web on how to use these things on your project, from the wiring to the sketch.

But when we talk about cameras, I feel like things start to be more difficult - I don't know if it's because camera users should know better what they are doing and therefore don't need a step by step guide, if simply there is a lack of information.

I see myself like this guy and this guy. We just can't find a tutorial!

I'm looking forward to buy a VGA OV7670 AL422 FIFO camera or a Serial TTL JPEG with NTSC video, but I don't want to spend my money on something I won't be able to use.

There is any better camera I could buy (by better I mean an easier camera to start working and with some information for the implementation)?

Thank you.

  • 6
    An arduino really isn't a very good platform for camera projects - limited goals involving still or slowly updated images are possible but tricky and it isn't even remotely cost effective. If you want to do something with a camera, get a low end embedded linux platform and a cheap webcam, or find an outdated Android phone. Nov 29, 2015 at 8:43
  • 1
    Is there a particular reason why you want to specifically use an Arduino to use a camera? There are ressources out there: haven't proofread in depth, but this example using a MSP430 launchpad looks good. Also a good excuse to give Energia & launchpads a try, if you only know Arduino.
    – CQuinson
    Mar 23, 2016 at 12:25
  • 1
    Funnily enough there is another question about cameras and the Arduino.
    – Nick Gammon
    Jun 7, 2016 at 23:05

3 Answers 3


I am currently experimenting with this module: http://www.uctronics.com/mega-pixel-camera-module-mt9d111-jpeg-out-p-227l.html

I2C connection and supplies are working fine with an Arduino Uno, but getting the image data with an Arduino might be not possible. You can slow down the Pixel Clock of this module to 375kHz, bit I think the GPIO read-out speed (at least with the standard digitalRead functions) and memory of the Arduino are not sufficient...


Take a look at the Arducam mini (http://www.arducam.com/tag/arducam-mini/)

I just made a custom Arduino based PCB using this camera and it works great.


I am using this camera, it has an OV568 on board. Getting a photo takes a few seconds, on the UART, which is slow, but could probably sped up if I change the baud rate. But for now I don't need to fiddle with that. Also the image is a JPEG, and what can you do with that in an Arduino? In my little project, it doesn't matter, the Arduino passes the data along to a computer, which handles it. No problemo.

But as a proof of concept, I used the JPEGDecoder library to display the photo on my Arduino Mega, with a small 2.2" TFT screen. If takes between 50 to 60 seconds to decode the JPEG and display it on the screen. And that JPEG was in an array, not even on an SD card. Gasp.

So depending on what you're looking into, you might want to rethink the whole idea. You'd be better off with a Raspberry Pi or a Beagle. Arduino won't cut it. There may be some 32-bit MCUs, like the Chipkit series, that could provide a performance boost.

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