OV2640, an evergreen image sensor from OmniVision. It was released in 2005 and discontinued in 2009, yet still used a lot in today’s products. While this image sensor remains popular, there are also uncertainties ahead. You may have questions like the followings:
- What’s good about it?
- What makes it so popular?
- How to deal with its end-of-life issue?
As one of the major advocates of OV2640, Arducam will answer your questions in this article.
Let’s get started.
OV2640 Specs
Attribute | Values |
---|---|
Array Size | 1600 x 1200 (UXGA) |
Power Supply | Core: 1.3V DC ± 5% Analog: 2.5~3.0V DC I/O: 1.7V to 3.3V |
Power Consumption | YUV mode full res & framerate: 125mW Compressed mode full Res & framerate: 140mW Standby:600μA |
Image Sensor Format | Type 1/4″ |
Maximum Image Transfer Rate | 1600×1200@15fps, SVGA@30fps, CIF@60fps |
Sensitivity | 0.6V/Lux-sec |
S/N ratio | 40dB |
Dynamic Range | 50dB |
Pixel Size | 2.2 x 2.2 μm |
Dark Current | 15mV/s at 60°C |
Well Capacity | 1.2Ke |
Fixed Patter Noise | <1% of VPEAK-TO-PEAK |
Image Area | 3590 x 2684 μm |
Package Dimensions | 5725 x 6285 μm |
Resolution | UXGA SVGA and below |
Output Format | YUV/RGB/Raw RGB Data |
Shutter Type | Rolling Shutter |
Color Filter Array | RGB Bayer Array |
ISP Functions | AE, AWB, Sharpness, Noise Reduction, Defect Reduction, Gamma, Color Saturation, Special Effects |
Release in 2005, it was the world’s first fully-integrated Type 1/4-inch 2 MP Image sensor.
In its product brief back in 2006, we can see the full specs of this camera module.

OV2640 Datasheet
Here you can download the OV2640 datasheet.

Get OV2640 camera solutions from Arducam
Arducam offers OV2640 Compact Camera Modules (CCM), ESP32 Cams, OV2640 Camera Breakout Boards, SPI cameras.
As well as alternative image sensors and solutions to the OV2640.
Off-the-shelf products
OV2640 Camera Modules
OV2640 ESP32 CAM
Why OV2640 is an excellent sensor
Compared to the latest Huawei or iPhone camera, OV2640 is not fancy at all in terms of the sensor format, the resolution, the image quality.
But it doesn’t bother make the OV2640 to be an excellent image sensor.
The OV2640 is a SOC sensor that has an on-chip ISP which can do auto-exposure, auto-white balance in such a small sensor package to represent a nice image.
The sensor interface is DVP which standards for digital video port, a kind of parallel source synchronization camera interface with 8bit data, horizontal/vertical synchronization signal, and an associated pixel clock.

It is very friendly to most of the low-end ARM and RISC microcontrollers like STM32, ESP32, compared to the MIPI interface, only high-end processors support such camera interface.
The most important feature of OV2640 is the hardware JPEG encoder, it off-loads the processing power and reduces memory footprint usage from the microcontrollers.
A typical 1600×1200 RGB565/YUV format image occupies 3.66MB RAM space, while a JPEG format same decent image only occupies 150KB, almost x25 compression ratio.
With lower image resolution or higher compression ratio, the output JPEG image size will be even smaller, that can be easily stored and processed in microcontrollers internal RAM memory. It is huge!
In conclusion, a friendly camera interface, nice image quality, powerful on-chip ISP with JPEG encoding, makes the OV2640 image sensor unique and popular for IoT camera applications at all times.
What make it even more popular
OV2640 on Arduino
In 2012, the Arducam team firstly introduced the OV2640 sensor into the Arduino platform with our SPI camera solution and made the camera driver opensource. (After that the OV2640 is ported to STM32 and ESP32 platforms and so on.)
This Arduino-compatible camera was a huge success. It was impossible for a microcontroller like Arduino to handle image sensor with a resolution as high as 2MP or above.
Here is the original blog of release the Arduino camera solution back in 2012.

ArduCAM – An Arduino Camera Shield
This camera shield is replaced by newer Rev.C+ shield and ArduCAM-Mini board ArduCAM is Arduino based open source camera platform which is well mated to Arduino boards. It now supports Arduino UNO board and we will add support Mega1280/2560 and new released Leonardo, Maple and Chipkit are also in planning.
OV2640 on ESP32
The ESP32 could not support a camera in the first place. At around the end of 2018, it is updated to support a parallel camera. As the newer ESP32 boards with a camera interface comes with PSRAM, the camera application is easier on this microcontroller for IoT applications, or even simple AI application.
Arducam’s also offered an ESP32-based board in Arduino UNO form factor that supports parallel cameras:

Introducing Arducam IoTai – The Ultimate IoT (Internet of Things) Board with Camera Support, Based on ESP32 and in the Shape of Arduino UNO
IoT Platform with ESP32 If you are interested in maker boards and IoT projects, you must have heard of ESP platforms such as the ESP-32 series. Considering the Wifi and Bluetooth features integrated, it is really an extremely cheap and cool gadget. Cost-effective IoT Solution with Arduino Arduino, on the other hand, is another widely […]
OV2640 CCM Compact Camera Modules
We offer various kinds of OV2640 CCM camera modules with a different lens and cable length. Let us know if you have specific needs for the module.

OV2640 Alternative
The OV2640 is so nice, but it has been EOL for more than 10 years. You might be curious why there are still so many camera modules available on the market?
This sensor was targeted to the mobile phone industry, the production volume is quite large, there is a lot of stock out there. You still need to be aware of the supply issue when using this camera into your own product and find some alternatives.
Arducam carries a list of camera modules that features on-chip ISP, DVP camera interface and JPEG compression engine, and can be an alternative to the current OV2640 camera.
1. 720p sensor
NT99141 is from Novatek which is 1/4″ 1280×720 image sensor with 8bit parallel camera interface with build-in ISP processing of following features:
- 1) Pixel Size: 3.0um x 3.0um
- 2) Shutter: electronic rolling shutter
- 3) Frame rate: 640×360@60fps, 1280×800@30fps
- 4) Color Filter Arrays: RGB Bayer pattern
- 5) Power consumption: 215mw@HD JPG, standby < 10uA
- 6) Output format: YCbCr 4:2:2, RGB565, RGB555, RGB444, Raw, CCIR656, JPEG encoding
- 7) On-chip scaling from 1280×720
- 8) Auto exposure (AE), Auto-White Balance (AWB) control functions
- 9) Support Sharpness, noise reduction, defect correction, gamma, color saturation adjustment.
- 10) Sepcical effects
2. 2MP MT9D111
MT9D111 is original from Micron, later Aptina and now ONSemi. Like the OV2640, the MT9D111 sensor is built at the same age but it is still in production. The MT9D111 is 1/3.2″ 1600×1200 image sensor with 8bit parallel camera interface with build-in ISP processing of following features. Note that the MT9D111 JPEG encoder doesn’t include a JPEG header in the video stream, user need to append the JPEG header to create a viewable image. This is the main encoder difference from the OV2640.
- 1) Pixel Size: 2.8um x 2.8um
- 2) Shutter: electronic rolling shutter
- 3) Frame rate: 800×6000@30fps for prewiew, 1600×1200@15fps for still
- 4) Color Filter Arrays: RGB Bayer pattern
- 5) Power consumption: 348mw@2MP
- 6) Output format: YCbCr 4:2:2, RGB565, RGB555, RGB444, Raw, JPEG encoding
- 7) Auto exposure (AE), Auto-White Balance (AWB), Auto-Focus (AF) control functions
3. 3MP
OV3640, OV3660 are 3MP 2048 x 1536 (QXGA) SoC image sensors from Omnivision. They are both upgrade version of the 2MP OV2640. OV3640 is 1/4″ sensor while the OV3660 is cost down version that is 1/5″ sensor.
Sensor | OV3640 | OV3660 |
Optical size | 1/4″ | 1/5″ |
Pixel Size | 1.75um x 1.75um | 1.4um x 1.4um |
Active Resolution | 2048×1536 | 2048×1536 |
Color Filter | RGB Bayer Pattern | RGB Bayer Pattern |
Shutter Type | Electronics Rolling Shutter | Electronics Rolling Shutter |
Frame Rate | 2048×1536@15fps 1024×768@30fps | 2048×1536@15fps 1080p@20fps 720p@45fps VGA@60fps QVGA@120fps |
Output Format | YUV422/420, YCbCr422, RGB565/555/444, RAW, JPEG | YCbCr422, RGB565/555/444, RAW, JPEG |
Interface | DVP | DVP |
AWB,AE | ☑ | ☑ |
Noise Reduction | ☑ | ☑ |
Lens Shading Correction | ☑ | ☑ |
Gamma Correction | ☑ | ☑ |
Windowing and Cropping | ☑ | ☑ |
Flip/Mirror | ☑ | ☑ |
4. 5MP
OV5640, OV5642, MT9P111, S5K4ECGX, they are 5MP 1/4″ SoC image sensors with on-chip ISP and JPEG compression.
OV5640 and OV5642 are from Omnivision. OV5642 is used on Arducam Mini 5MP Plus SPI camera and OV5640 is big brother of OV5642. MT9P111 is from ONSemi, and S5K4ECGX is from Samsung.
Sensor Spec | OV5640 | OV5642 | MT9P111 | S5K4ECGX |
Optical size | 1/4″ | 1/4″ | 1/4″ | 1/4″ |
Pixel Size | 1.4um x 1.4um | 1.4um x 1.4um | 1.4um x 1.4um | 1.4um x 1.4um |
Active Resolution | 2592×1944 | 2592×1944 | 2592×1944 | 2592×1944 |
Color Filter | RGB Bayer Pattern | RGB Bayer Pattern | RGB Bayer Pattern | RGB Bayer Pattern |
Shutter Type | Electronics Rolling Shutter | Electronics Rolling Shutter | Electronics Rolling Shutter | Electronics Rolling Shutter |
Frame Rate | 5MP@15fps 1080p@30fps 720p@60fps VGA@90fps QVGA@120fps | 5MP@15fps 1080p@30fps 720p@60fps VGA@90fps QVGA@120fps | 5MP@15fps 1080p@30fps 720p@60fps | 5MP@15fps 1080p@30fps 720p@60fps QVGA@120fps |
Output Format | YUV422/420, YCbCr422, RGB565/555/444, RAW, JPEG | YUV422/420, YCbCr422, RGB565/555/444, RAW, JPEG | YCbCr422, RGB565/555/444, RAW, JPEG | YUV422, RGB565, RGB888, RAW, JPEG |
Interface | DVP and MIPI | DVP and MIPI | DVP and MIPI | DVP and MIPI |
AWB,AE, AF | ☑ | ☑ | ☑ | ☑ |
Noise Reduction | ☑ | ☑ | ☑ | ☑ |
Lens Shading Correction | ☑ | ☑ | ☑ | ☑ |
Gamma Correction | ☑ | ☑ | ☑ | ☑ |
Windowing and Cropping | ☑ | ☑ | ☑ | ☑ |
Flip/Mirror | ☑ | ☑ | ☑ | ☑ |
Why do you like to use the OV2640 Camera Module?
Leave your comment below!