Go Down

Topic: ov7670 with both arduino uno and now mega (Read 85 times) previous topic - next topic


Hi! I'm a beginner of electronics. I'm wondering that can I use uno3 to control OV7670 with FIFO to take a picture and save it as a file. Then send it to my PC by using Ethernet shell. Is it possible to do that?

Thanks in advance.



Mar 09, 2014, 04:07 pm Last Edit: Mar 11, 2014, 10:31 pm by Koepi Reason: 1
I'm also absolutely new to Arduino, will shortly have 5 different Arduino Nano versions.

But I also ordered the cheap non-FIFO OV7670 (and also the FIFO version which seems only to be usable with different platform like RasPi). After reading through this thread I realized that the 2k SRAM definitly is insufficient. Thus I also ordered 5 pieces of 16MBit SPI eeproms, and SOIC8-to-DIP sockets to carry them. Quite cheap, actually altogether about 7 Euros. If I understand SPI/I2C correctly, I share the MISO/MOSI/SCK line and only need one pin for addressing each of the different devices like EEPROM and SDCARD. My idea is to fetch the image without the FIFO byte-by-byte and directly write through to the EEPROM (it supports writing even single bytes according to the data sheet) which could even hold 2 images in 640x480x3 RAW format (921KByte x 2). As soon as it is stored in EEPROM, I have all the time in the world to copy that over to SDcard.
My project is a long-time observation with 1 image per day, for example each evening at 18h one image (RTC is also on the way). I would put the Arduino-timelapse-cam somewhere where it is dry but the nature is well visible. From theory, the Arduino needs so little power, for one image per day, that with a single LiIon 18650 battery charge it should give me 365 images without needing any service. ;)

Do you have any suggestions if I'm on the right track?
Is there maybe some 8 MBit RAM module out there which could be used via SPI?
Is this camera a total loss and I should spend the money on a JPEG camera, about triple to quadruple the price?

I hope I won't need to stress your help too much and too often as soon as the items arrive :D

Another thought about the FIFO version. A friend suggested - if I need to pause read-out for writing the data, instead of using the /RE pin which isn't available in pinout, set the RCLK (read clock) to 0. Sounds plausible as solution.

Thanks a million,
Best regards,


Edit4: Some major cleanup with properly using links, additional info about FIFO camera module...


Hi Mr arduino;
I am getting an completeley white image from OV7670+fifo driven by Arduino mega. Do you have any idea why this is happen?


I submitted a pull request that may solve some issues but I doubt it will work. There are two problems first of all the Ethernet shield that you are using uses pins 2,4,10,11,12,13 you appear to have pins 2 and 4 hooked up to the ov7670 also I think that the function you are using to send data to the wiznet 5100 is too slow try directly sending the data without using those silly arduino library functions.

Hum... so, my function that sends the pixels to the server is slow? Well, I will change this, I just need to finish the article about the project... hehe
And the shield ethernet is using the pins 10,11,12 and 13. I think that just this. The pin 4 is used for the sdCard, so I disabled it. The registers are right?


My name is Desislav,  am Bulgarian.
Advance I want to apologize for my bad English.
I have the ARDUINO MEGA, LCD and camera MT9D111
I downloaded the code and https://github.com/ComputerNerd/arduino-camera-tft,
and I have two problems:
1. Can you give me a wiring diagram of the three modules?
2. When I try to compile my project out error:
Error 15 exiticon.h: No such file or directory, this file miss.

Go Up