I bought a new OV7670 FIFO camera to connect to my Arduino UNO a few days ago.

The picture of the cam board:

Photo of camera board interface pinout

Photo of camera board Averlogic chip

I found this forum, it is nice try but it looks chaotic and confusing with about 50 pages, where you can't find where the questions and where the answers are.

I also found this library which is for non-FIFO board and could not apply to my project. I also read the OV7670_FIFO and OV7670 and AL422 datasheets and I read I2C protocol and basics; and there are many success story on the internet but there is no schematic on them.

The problem is, I can't find any simple example for FIFO with schematic to start with. I don't know if this camera is so new or it is so hard to understand, this problem getting so serious that somebody wrote a book named "Beginning Arduino ov7670 Camera Development" about it, but I think it is a matter of an Arduino to FIFO cam schematic and example code. I ask if there is a such schematic and code for it on the web or how can I connect them?

  • I'm only on my phone so can't provide a full answer right now, but despair not, with a FIFO, things are a lot easier than they could be. With camera modules, usually it involves sending and receiving complicated and fast signals, on the edge of what an arduino is capable of handling. A FIFO, is a buffer, you can kind of think of it like RAM, and the way it works is you can take a picture, and instead of trying to receive it directly on the arduino, the data gets sent to the FIFO. Then, you can read the FIFO from your arduino, as fast, or as slow as you want.
    – Jake C
    Jul 19, 2015 at 8:15
  • So the two things you need to accomplish are, How do I send a command to the camera to take a picture? and How do I read the data from the FIFO? For the first, as far as I can tell all it is is connecting via i2c, so just the SDA and SCL pins (A4 and A5 respectively on the Uno) to their corresponding pins on the camera. For the FIFO, it is a parallel data bus, so it just means connecting the D0-D7 pins to digital pins on the arduino.
    – Jake C
    Jul 19, 2015 at 8:42
  • Are you 100% sure it's the FIFO version? I see no SPI or I2C (or are they labelled differently?).
    – Avamander
    Feb 20, 2016 at 10:07
  • The AL422B, as shown in the photo, is, to quote from the data sheet: ...a First-In-First-Output (FIFO) video frame memory used to buffer audio/video/graphic data... Feb 20, 2016 at 13:41
  • I just received this exact model, QIFIO v1.0, exactly as yours. I am very interested in use this camera in full resolution, max sensitivy, with my dccduino UNO. I will try to get this camera working, I'm a very experienced programmer, but my fear is to burn it with a excessive voltage in signal pins. I wired the vcc to 3.3v, but I don't know if I must use 10k resistances in the rest of the signals (SIOC, SIOD, VSYNC, HREF, etc.). Thanks in advance Feb 28, 2016 at 12:40

1 Answer 1


I recently brought this book off Amazon "Beginning Arduino ov7670 Camera Development". I'm loathed to recommend it, because it has a nice 80 page introduction to the Arduino and OV7670 and the rest of the 250 pages are just double space annotated code. That said, it does appear to be a very good introduction, with example code, for a OV7670-FIFO (the title of the book is incorrect).

It might be possible to find the code on the net and then you can decide if you want to buy the book or not. Oh and I am not Robert Chin, I do not know him and I have nothing to do with the book, other than owning a rather new and once read copy of it.

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