CMOS OV7670 Camera Module : Working & Its Applications

The camera module is one kind of device in mobiles, tablets, laptops, used to capture pictures and record videos. A high-level technology is necessary for all regions which need miniaturization, high resolution, low-power, high stiffness, and slimming. There are different smart mobile companies available where Samsung company is using core technology to design a first-class camera module with the actuator, PKG technology, and lens. This article discusses an overview of a CMOS OV7670 camera module and its working with applications.

What is a CMOS OV7670 Camera Module?

The CMOS OV7670 camera module is one kind of CMOS image sensor available in low voltage, high sensitive, and small size. This module provides the complete single-chip VGA camera functionality & an image processor within a tiny footprint package.

This OV7670 camera module offers complete frame, sub-sampled 8-bit images in a variety of formats which are controlled throughout the SCCB which stands for “Serial Camera Control Bus” interface. This module includes an image array that operates up to 30 frames for each second in VGA through entire user control on the quality of image, transfer of output data & formatting.

CMOS OV7670 Camera Module
CMOS OV7670 Camera Module

The necessary image processing functions mainly include gamma, control of exposure, color saturation, white balance, hue control which are also programmable throughout the SCCB interface. The OV7670 camera module functions at 30 fps maximum & 640 x 480 resolutions which are equal to 0.3 Megapixels.

Once the image is captured then it can be processed through the digital signal processing before it coming out. So this kind of preprocessing is configured through the SCCB. Additionally, the image sensor from OmniVision has been used in unique sensor technology applications by decreasing the tail, fixed pattern noise to enhance the image quality & obtain stable & clear color images.

Features & Specifications

The features and specifications of the CMOS OV7670 camera module include the following.

  • For low light operation, it is sensitive highly
  • Operating voltage is low for portable apps
  • Correction of shading in the lens
  • Enhancement range of edge is auto adjust
  • Auto adjustment of saturation level
  • It supports flash strobe mode & LED
  • Scaling support
  • Image signal processor includes defect correction & reduction of noise
  • Auto adjustment of de-noise range
  • Image control functions are automatic like AEC (automatic exposure control), AGC (automatic gain control), AWB (automatic white balance), ABF (automatic band filter) & ABLF (automatic black-level calibration)
  • The quality of image controls like hue, saturation of the color, sharpness, gamma, anti-blooming, etc.
  • The operating voltage is 3.3V DC
  • Resolution is 640×480 VGA
  • Optical size is ⅙ inch
  • Power utilization is 60mW
  • Signal to noise ratio is 46 dB
  • Transfer rate of image (Max) for VGA is 30 FPS
  • The enhancement level of the edge is auto adjust
  • Supports different image sizes like CIF, VGA, etc
  • The saturation level is auto-adjusted
  • High-quality 6mm lens or F1.8
  • For different formats, the support of output is YUV (4:2:2), YCbCr (4:2:2) & Raw RGB (GRB 4:2:2, RGB565 or 555 or 444).
  • Typical SCCB interface is compatible with through I2C interface

CMOS OV7670 Camera Module Pin Configuration

The pin configurations of the CMOS OV7670 camera module include the following. This module includes 6-pins where each pin and its functionality are discussed below. These camera modules are invented by different distributors & manufacturers where the pinout of this might change because some modules have 18-pins where additional pins may be PWDN & RESET.

OV7670 Pin Configuration
OV7670 Pin Configuration
  • Pin1 (VCC): DC input power pin (+3.3V)
  • Pin2 (GND): It is a Ground pin
  • Pin3 (SCL): This is an I2C Serial CLK pin
  • Pin4 (SDA): This is I2C Serial Data Input/output
  • Pin5 (VSYNK): Vertical Sync output; Active High; Indicates active frames
  • Pin6 (HREF): This is also known as Horizontal Reference where Active High specifies active pixels
  • Pin7 (PCLK): This is a Pixel CLK output from the sensor
  • Pin8 (XCLK): This is a Master CLK into the sensor
  • Pin9 (Dout9): This is a Pixel Data o/p 9 pin
  • Pin10 (Dout8): This is a Pixel Data o/p8 pin
  • Pin11 (Dout7): This is a Pixel Data o/p7 pin
  • Pin12 (Dout6): This is a Pixel Data o/p6 pin
  • Pin13 (Dout5): This is a Pixel Data o/p5 pin
  • Pin14 (Dout4): This is a Pixel Data o/p4 pin
  • Pin15 (Dout3): This is a Pixel Data o/p3 pin
  • Pin16 (Dout2): This is a Pixel Data output2 pin

The required software for analyzing the o/p image using CMOS OV7670 is Serial Port Reader & Arduino IDE. Alternatives CMOS OV7670 Camera Modules are IMX219 & Arducam HQ. Equivalent CMOS OV7670 Camera Modules are OV2640, OV7675, OV7725, OV5647, OV5642, etc.

The functional block diagram of the OV7670 camera module mainly includes A/D converters, timing generators, DSP, array of image sensors, test pattern generators, digital video port for image scalar, LEDs & strobe flash control o/p.

OV7670 Module Block Diagram
OV7670 Module Block Diagram

The above block diagram will show how a camera module-based system works. The voltage supply used by this module is 3.3V. The connection of this module can be done to an exterior oscillator that gives the source of CLK for the XCLK pin of the camera module.

So with the suitable configuration to the internal registers of the camera through the I2C bus, this module gives the pixel CLK & the data o/p back to the host with the help of two ports like VSYNC & HREF.

CMOS OV7670 Camera Module Circuit Diagram

The interfacing of the CMOS OV7670 camera module with an Arduino Uno is shown below. This module mainly includes serial data & CLK pin which means the Arduino UNO board can converse through the camera module with I2C. In addition, it works with 3.3 V thus if we want to transmit data to the CMOS camera module using the Arduino board, we should utilize a voltage divider to reduce the level.

OV7670 Module Interfacing with Arduino Uno
OV7670 Module Interfacing with Arduino Uno

Here, we have to notice that there is no efficient technique for the microcontroller to show the captured image. What it simply does is control the module to capture a picture, obtain the picture and after that transmit it to a computer through the USB port of Arduino. Therefore, you must have an alternate application that will show the picture from the USB port to your computer. Here the required code is used to capture a picture with the OV7670 camera module & Arduino

After that, we require an application for desktop that will examine the data of pictures from the USB port of Arduino & exhibit it on the monitor.

Where to use/Applications

The applications of the CMOS OV7670 camera module include the following.

  • Cellular phones
  • Facial Recognition
  • Scanning of Documents
  • Surveillance Systems
  • Avoidance of Obstacle
  • PDAs
  • Electronic Toys
  • Battery operated products
  • Use in different platforms like Maple, Arduino, ChipKit, ARM, STM32, DSP, FPGA, etc.

Thus, this is all about an overview of the CMOS OV7670 camera module datasheet which includes pin configuration, features, specifications, circuits working with applications. Some precautions that need to take while using CMOS OV7670 camera module are; short wires or short jumpers need to use, need to avoid loose connections on the camera module or Arduino. If the Arduino provides 5Vo/p toward GPIO then a level shifter needs to use. Maintain the input voltage of OV7670 is 3.3 V, if we exceed this voltage then the camera module can be damaged. Here is a question for you, what are the advantages of the CMOS OV7670 camera module?