The following schematic diagram show a basic camera based system. The camera module is powered from a single +3.3V power supply. An external oscillator provide the clock source for camera module XCLK pin. With proper configuration to the camera internal registers via I2C bus, then the camera supply pixel clock (PCLK) and camera data (Data[9:0]) back to the host with synchronize signal like HREF and VSYNC.
The host may have integrate camera interface like STM32F2 or STM32F4 series MCUs, or ARM9/11 which has dedicate camera port, and DPS like TI TMS320DM series, as well as FPGAs that user can design special logic for camera application. The typical connection between these system and camera module would show like following diagram.
For the host that doesn’t have a dedicate camera interface, additional hardware is needed. User need to buffer a entire frame before read them out with low speed MCUs. For example ArduCAM shield is a additional hardware that can be connected to Arduino UNO/Mega board, user can take a photo or something like that easily. The following diagram show the system without dedicate camera interface.
- Cellular phones
- Other battery-powered products
- Can be used in Arduino, Maple, ChipKit, STM32, ARM, DSP, FPGA platforms
Features & Specs
- Optical size 1/6 inch
- Resolution 640×480 VGA
- Onboard regulator, only single 3.3V supply needed
- Standard 0.1inch (2.54mm) pin pitch header connector
- Mounted with high quality F1.8 / 6mm lens
- Output support for Raw RGB, RGB (GRB 4:2:2, RGB565/555/444), YUV (4:2:2) and YCbCr (4:2:2) formats
- High sensitivity for low-light operation
- Low operating voltage for embedded portable apps
- Standard SCCB interface compatible with I2C interface
- Supports image sizes: VGA, CIF, and any size scaling down from CIF to 40×30
- VarioPixel® method for sub-sampling
- Automatic image control functions including: Automatic Exposure Control (AEC), Automatic Gain Control (AGC), Automatic White Balance (AWB), Automatic
- Band Filter (ABF), and Automatic Black-Level Calibration (ABLC)
- Image quality controls including color saturation, hue, gamma, sharpness (edge enhancement), and anti-blooming
- ISP includes noise reduction and defect correction
- Supports LED and flash strobe mode
- Supports scaling
- Lens shading correction
- Flicker (50/60 Hz) auto detection
- Saturation level auto adjust (UV adjust)
- Edge enhancement level auto adjust
- De-noise level auto adjust
|Pin No.||PIN NAME||TYPE||DESCRIPTION|
|1||VCC||POWER||3.3v Power supply|
|3||SCL||Input||Two-Wire Serial Interface Clock|
|4||SDATA||Bi-directional||Two-Wire Serial Interface Data I/O|
|5||VSYNC||Output||Active High: Frame Valid; indicates active frame|
|6||HREF||Output||Active High: Line/Data Valid; indicates active pixels|
|7||PCLK||Output||Pixel Clock output from sensor|
|8||XCLK||Input||Master Clock into Sensor|
|9||DOUT9||Output||Pixel Data Output 9 (MSB)|
|10||DOUT8||Output||Pixel Data Output 8|
|11||DOUT7||Output||Pixel Data Output 7|
|12||DOUT6||Output||Pixel Data Output 6|
|13||DOUT5||Output||Pixel Data Output 5|
|14||DOUT4||Output||Pixel Data Output 4|
|15||DOUT3||Output||Pixel Data Output 3|
|16||DOUT2||Output||Pixel Data Output 2 (LSB)|
ArduCAM provides a full demonstration for OV7670 camera module on Arduino platform. Please download the ArduCAM_Shield_V2_Camera_Playback.ino from github.
It will turn the ArduCAM into a real digital camera with capture and playback functions.
1. Preview the live video on LCD Screen.
2. Capture and buffer the image to FIFO when shutter pressed quickly.
3. Store the image to Micro SD/TF card with BMP format.
4. Playback the capture photos one by one when shutter button hold on for 3 seconds.