CMOS camera

In mobile robotics miniature CMOS cameras are often used. They have different resolution and lenses. Here you can find a few photos of cameras: C3188A, C3038 and 9650FB.


From the available CMOS camera with a CIF resolution (Common Intermediate Format 352x288) the C3088 camera module with OV6620 OmniVision sensor has been chosen. Selected parameters of OV6620 sensor are shown in the table below.

  Parameter Value or Description
1 Array resolution
Real resolution
352x288 (CIF)
2 Pixel Size 9.0x8.2 µm
3 Array of color filters Bayer filter
4 Dynamic Range >72 dB
5 S/N Ratio >48 dB
6 FPN (Level of Fixed Pattern Noise)
7 Max Frame/Sec 60 fps
8 Electronic Exposure 500:1
9 Power Supply
Acceptable voltage range on inputs (High state)
3,35V DC
10 Power Requirements
Active state

<80 mV
<30 µW

The C3088 camera is equipped with the OV6620 image sensor which has 80 registers. In these registers data are stored corresponding to the parameters of the camera. For the user only 52 (8-bit) registers are available. By changing individual bits in these registers, we can adjust the various parameters of the camera. Setting the camera registers is done by SCCB interface. Among the entire group of registers we can identify the registers responsible for:
  • the parameters of the synchronization signals (VSYNC, HREF and PCLK)
  • image output format (RGB, YUV, 8 or 16 bit data mode)
  • output resolution (CIF - 352x288, QCIF - 176x144)
  • settings of automatic control systems (AEC, AGC, AWB)
  • settings of parameters such as brightness, contrast, sharpness and saturation
The camera sends a single byte (pixels) of the image according to PCLK signal (rising or falling edge). The frequency of PCLK can be adjusted using 6 younger bits of CLKRC register and the oldest bit of COMO register. By default the oldest bit of COMO (0x3E hex) is set and if we reset it the frequency of PCLK will reduce by half.
PCLK frequency can be calculated using the following formula:

Active state (polarization) of individual synchronization signals (VSYNC, HREF, PCLK) can be set in the appropriate registers as shown in the table below. 
Sync signal The Camera register responsible for the polarization
In default mode, the camera sync signals active state is a High state (H) and this mode was used in the experiments. After a reset signal (COMA[7]=1) the camera works with a frequency of PCLK=8,86 MHz in 16-bit YUV mode. Data from the camera can be transmitted in a 16, 8 or 4-bit format. In addition for each format you can select RGB or YUV mode. To determine the output data format the COMA, COMB, COMC, COMD and COMH registers are used. Bit COMA[3] sets the mode to RGB(
COMA[3]=1) or YCrCb(COMA[3]=0). Bit COMB[5] allows to determine whether the data will appear on both ports (Y and UV) or only on port Y. Through the negation of bit COMD[0] you can change the sequence of output bytes (e.g. from UVUV to VUVU for 16-bit format). Further possibilities of changes gives us setting of COMH register. By setting the state COMH[7]=1 we set an 8-bit "On-Line" RGB output format, from which using sequential scan we obtain accurate Bayer grid.
The default camera resolution is 352x288 (CIF). By setting the bit COMC[5]=1 we change the resolution to 176x144 (QCIF). The advantage of this camera is easily adjustable parameters such as brightness, contrast, sharpness and saturation. The following table shows the addresses of registers controlling these parameters, together with range of adjustment.
Parameter Register
Default value Range of adjustment
Saturation 0x3 0x80 0x00xFF
Contrast 0x5 0x48 0x00xFF
Brightness 0x6 0x80 0x00xFF
Sharpness 0x7 0xC6 Bits[7:4] threshold settings (080 mV)
Bits[3:0] - regulation

                        Fig. 1. Timing for different values of the registry  COML