The OV7670 is a compact VGA camera module capable of capturing 640x480 resolution images at up to 30 frames per second. It serves as a costeffective solution for Arduino and microcontrollerbased vision and image capture projects.
| Parameter | Value |
|---|---|
| Sensor | OmniVision OV7670 [citation:5] |
| Resolution | 640x480 (VGA) [citation:1][citation:5] |
| Max Frame Rate | 30fps [citation:1][citation:5] |
| Output Formats | RGB565, YUV, Raw RGB [citation:1][citation:5] |
| Data Interface | 8bit parallel (D0D7) [citation:5] |
| Control Interface | SCCB (I2C-like) [citation:1][citation:5] |
| Operating Voltage | 3.3V (I/O) [citation:3][citation:5] |
| Typical Power | 60mW at 15fps [citation:4][citation:6] |
= Key Features =
High Frame Rate - 30fps for smooth image capture [citation:1]
Flexible Output - Supports RGB565, YUV, and Raw formats [citation:1]
Automatic Controls Builtin exposure, gain, white balance [citation:1][citation:6]
Low Power Mode - <20µA standby current for battery projects [citation:4]
SCCB Interface I2Clike control for adjusting image settings [citation:1]
√ No FIFO buffer (standard); assumes a microcontroller to read data directly [citation:3]
√ Widely used with Arduino, STM32, and ESP32
√ Comprehensive online libraries and resources available
Interfacing with an Arduino UNO is more challenging due to RAM and pin constraints. An Arduino MEGA or ESP32 is often recommended [citation:3]. The camera uses multiple signal lines:
| Signal | Description |
|---|---|
| VSYNC | Frame synchronization [citation:5] |
| HREF | Line valid signal [citation:5] |
| PCLK | Pixel clock [citation:5] |
| XCLK | External clock input (requires external signal) |
| SIOD/SIOC | SCCB data and clock for configuration [citation:3] |
| D0-D7 | Parallel data bus [citation:5] |
> The sensor uses parallel communication, consuming many I/O pins and requiring the generation of an XCLK signal [citation:3]
No image:
Noisy image: