The OV7725 camera module is based on Omnivision OV7725 image sensor which is a low voltage CMOS device that provides the full functionality of a single-chip VGA camera and image processor, as well as the extraordinary high frame rate and low light performance. The OV7725 provides full-frame, sub-sampled or windowed 8-bit/10-bit images in a wide range of formats, controlled through the Serial Camera Control Bus (SCCB) interface. This device has an image array capable of operating at up to 60 frames per second (fps) in VGA with complete user control over image quality, formatting and output data transfer. All required image processing functions, including exposure control, gamma, white balance, color saturation, hue control and more, are also programmable through the SCCB interface. In addition, OmniVision sensors use proprietary sensor technology to improve image quality by reducing or eliminating common lighting/electrical sources of image contamination, such as fixed pattern noise, smearing, blooming, etc., to produce a clean, fully stable color image.
- High sensitivity for low-light operation
- Standard SCCB interface
- Output support for Raw RGB, RGB (GRB 4:2:2, RGB565/555/444) and YCbCr (4:2:2) formats
- Supports image sizes: VGA, QVGA, 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
- Lens shading correction
- Saturation level auto adjust (UV adjust)
- Edge enhancement level auto adjust
- De-noise level auto adjust
- Frame synchronization capability
- Key Specifications
- Optical Size: 1/4”
- Resolution: 640 x 480
- Pixel Size: 6.0um x 6.0um
- Shutter: Electronic Rolling Shutter
- Max Frame Rate: 60fps for VGA
- Sensitivity: 3.8V/(Lux*sec)
- Output Format: YUV, RGB, RAW
- EFL: 3.96mm
- FNo: 2.6
- FOV : 56.8º
- MOD : 10cm
- IR: 650nm
- Cellular phones
- Other battery-powered products
- Can be used in Arduino, Maple, ChipKit, STM32, ARM, DSP, FPGA platforms
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.
The connector part number is SFV24R-1STE1HLF which is bottom contact 24POS 0.50MM pitch right angle FFC connector. User need extra 0.5pitch FPC cable to extend the camera to controller board.
|Pin No.||PIN NAME||TYPE||DESCRIPTION|
|2||AGND||Ground||Analog Power ground|
|3||SDATA||Bi-directional||Two-Wire Serial Interface Data I/O|
|4||AVDD||POWER||Analog Power supply|
|5||SCL||Input||Two-Wire Serial Interface Clock|
|6||RESET||Input||Sensor Reset, Active Low|
|7||VSYNC||Output||Active High: Frame Valid; indicates active frame|
|8||PWDN||Input||Power down, Active High|
|9||HREF||Output||Active High: Line/Data Valid; indicates active pixels|
|10||DVDD||POWER||Digital Core Power supply|
|11||DOVDD||POWER||Digital IO Power supply|
|12||DOUT9||Output||Pixel Data Output 9 (8bit Mode MSB)|
|13||XCLK||Input||Master Clock into Sensor|
|14||DOUT8||Output||Pixel Data Output 8|
|15||DGND||Ground||Digital Power ground|
|16||DOUT7||Output||Pixel Data Output 7|
|17||PCLK||Output||Pixel Clock output from sensor|
|18||DOUT6||Output||Pixel Data Output 6|
|19||DOUT2||Output||Pixel Data Output 2 (8bit Mode LSB)|
|20||DOUT5||Output||Pixel Data Output 5|
|21||DOUT3||Output||Pixel Data Output 3|
|22||DOUT4||Output||Pixel Data Output 4|
ArduCAM provides a full demonstration for OV7725 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.
This program requires the latest ArduCAM library and ArduCAM Shield_V2 ArduCAM shield and use Arduino IDE 1.6.8 compiler or above.