Skip to Content

Camera CMOS OV7670 VGA 640X480 With FiFo for Arduino

The OV7670 camera module is a versatile and compact device, perfect for surveillance and project applications. It seamlessly integrates with microcontroller platforms like Arduino. With remote monitoring capabilities, it allows you to track construction sites or 3D printer progress from a distance. Its small size offers flexibility in project design and easy mounting. Equipped with a FIFO buffer, it ensures smooth transmission and processing of visuals. The CMOS technology provides excellent image quality and low power consumption. Its 640x480 pixel resolution captures sharp details, and it can be used for video streaming, interactive displays, and computer vision projects. The OV7670 camera module unlocks a world of visual possibilities for your projects.

Package Includes:

  • 1 x OV7670 camera module with FIFO

39.95 AED 39.95 AED Tax Included
39.95 AED Tax Included

Not Available For Sale

This combination does not exist.

Terms and Conditions
30-day money-back guarantee
Shipping: 2-3 Business Days

 

Features:

  • High-resolution Photosensitive Array: 640 x 480 pixels for detailed images and videos.
  • Low Operating Voltage: Works at 2.5V to 3.0V.
  • Efficient Power Consumption: 60mW at 15fps (VGAYUV).
  • Energy-saving Sleeping Mode: Consumes less than 20uA.
  • Wide Operating Temperature Range: -30 to 70°C.
  • Versatile Output Formats: YUV/YCbCr4:2:2, RGB565/555/444, GRB4:2:2, Raw RGB.
  • Compact Lens Size & Wide Vision Angle: 1/6" lens, 25° field of view.
  • High Frame Rate: Up to 30fps VGA.
  • Low Light Sensitivity: 1.3V/(Lux-sec).
  • Excellent Signal-to-Noise Ratio: 46 dB.
  • Dynamic Range: 52 dB.
  • Electronic Exposure Control for optimal imaging.
  • Low Dark Current: 12 mV/s at 6°C.

Description:

The OV7670 camera module is designed for seamless integration with microcontrollers such as Arduino, making it perfect for surveillance systems and real-time monitoring. Whether you're keeping an eye on a construction site or checking the progress of a 3D printer, this module provides real-time capture in a compact, flexible form factor.

The onboard FIFO buffer ensures smooth data transfer, allowing the microcontroller to read image data without missing frames. Using CMOS technology, the module offers low power consumption and high-quality image capture. Its 640x480 resolution delivers clear results suitable for video streaming, interactive displays, and computer vision experiments.

Principle of Work:

  1. Photosensitive Array: Captures light using tiny pixels that convert light into electrical signals.
  2. ADC: Converts analog signals from the pixels into digital data.
  3. Signal Processing: Handles noise reduction, color correction, exposure, and white balance.
  4. Output Interface: Sends the processed image data through parallel or serial lines.

How It Works with Arduino (MCU):

  1. Connection: Camera pins connect to Arduino data, control, and power pins.
  2. Initialization: Arduino configures resolution, exposure, color format.
  3. Image Capture: Arduino triggers camera to start frame capture.
  4. Data Transfer: Camera sends pixel data via parallel lines to Arduino memory.
  5. Image Processing: Arduino may run filters, detection algorithms, or compression.
  6. Output/Display: Data can be streamed, saved, or displayed.

Pinout of the Module:

pinout

  1. VCC: 3.3V
  2. GND: Ground
  3. SIOC: Clock (SCCB/I2C)
  4. SIOD: Data (SCCB/I2C)
  5. VSYNC: Vertical sync
  6. HREF: Horizontal reference
  7. D7–D0: Data output lines
  8. RST: Reset
  9. PWDN: Power-down
  10. STR: Strobe
  11. RCK: Read clock
  12. WR: Write clock
  13. OE: Output enable
  14. WRST: Write reset
  15. P1: Configurable pin

Applications:

  • Surveillance systems
  • Robotics & drones for navigation and object tracking
  • Image processing & computer vision
  • Remote monitoring of 3D printers
  • Video streaming and recording
  • Interactive displays & AR setups
  • Educational embedded systems projects

Circuit:

circuit

Library Installation:

  1. Open Arduino IDE.
  2. Go to Sketch → Include Library → Manage Libraries.
  3. Search for “OV7670”.
  4. Install the library.
  5. Restart the IDE if needed.

Code:

#include "Wire.h"
#include "OV7670.h"

OV7670 camera;

void setup() {
  Serial.begin(9600);
  camera.begin();

  #ifdef useVga
    camera.setResolution(VGA);
    camera.setColorSpace(BAYER_RGB);
    camera.writeRegister(0x11, 25);
  #elif defined(useQvga)
    camera.setResolution(QVGA);
    camera.setColorSpace(YUV422);
    camera.writeRegister(0x11, 12);
  #else
    camera.setResolution(QQVGA);
    camera.setColorSpace(YUV422);
    camera.writeRegister(0x11, 3);
  #endif
}

void loop() {
  captureImage();
  delay(1000);
}

void captureImage() {
  Serial.println("RDY");

  while (!digitalRead(3));
  while (digitalRead(3));

  #ifdef useVga
    camera.captureFrame(640, 480);
  #elif defined(useQvga)
    camera.captureFrame(320, 240);
  #else
    camera.captureFrame(160, 120);
  #endif
}

Technical Details:

  • Lens Size: 1/6"
  • Field of View: 25°
  • Pixel Size: 3.6um x 3.6um
  • SNR: 46 dB
  • Output Formats: YUV/YCbCr, RGB565/555/444, GRB4:2:2, Raw RGB
  • Voltage: 2.5V–3.0V
  • Max Frame Rate: 30fps VGA
  • Dynamic Range: 52 dB
  • Power: 60mW
  • Sleep Mode: <20uA
  • Operating Temperature: -30 to 70°C
  • Photosensitive Array: 640x480
  • Sensitivity: 1.3V/(Lux-sec)
  • Electronic Exposure: 1–510 rows
  • Dark Current: 12 mV/s at 6°C

Resources:

  • embeddedprogrammer.blogspot.com.es/2012/07/hacking-ov7670-camera-module-sccb-cheat.html
  • web.archive.org/.../nicolasfley.fast-page.org
  • rpg.fi/desaster/blog/

Comparison: With FIFO vs Without FIFO

With FIFO:

  1. Has internal buffer for frame storage.
  2. Smooth, uninterrupted data readout.
  3. Less data loss.
  4. Easier for slower microcontrollers.

Without FIFO:

  1. No internal frame buffer.
  2. MCU must read pixel data in real time.
  3. Simpler hardware, cheaper module.
  4. Harder for slower or busy microcontrollers.