Overview

The IMX219 (specifically the IMX219PQ) is a 1/4"1/4\text{"} 8.08-megapixel back-illuminated stacked CMOS image sensor manufactured by Sony. Equipped with Exmor R technology, a 1.12 μm×1.12 μm1.12\ \mu\text{m} \times 1.12\ \mu\text{m} square pixel array, an internal 10-bit A/D converter, and a 2-lane MIPI CSI-2 high-speed serial output interface, it powers the official Raspberry Pi Camera Module v2.

Capable of capturing full-resolution 3280×24643280 \times 2464 pixel still images and streaming 1080p30, 720p60, or 640x480p90 video, the IMX219 is widely used in Raspberry Pi and NVIDIA Jetson computer vision pipelines (OpenCV, OpenCV-CUDA, picamera2, libcamera), AI object detection, and robotics vision.

Quick reference

Optical format1/4-inch (3.674 mm×2.760 mm3.674\text{ mm} \times 2.760\text{ mm} active area)
Active pixel array3280 (H)×2464 (V)3280 \text{ (H)} \times 2464 \text{ (V)} (~8.08 Megapixels)
Pixel size1.12 μm×1.12 μm1.12\ \mu\text{m} \times 1.12\ \mu\text{m}
Color filter arrayBayer RGB pattern
Output interface2-Lane MIPI CSI-2 (up to 755 Mbps per lane)
Control interfaceI2CI^2C CCI control bus (0x10)
Video modes1080p30, 720p60, 640x480p90
Connector15-pin 1.0 mm pitch FPC ribbon cable (standard Pi CSI connector)

Connector Pinout (Raspberry Pi 15-Pin CSI Ribbon)

text
        Pin 1 (GND) ────────────────────── Pin 15 (GND)
        [ 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 ]
PinNameTypeDescription
1GNDPowerGround reference (0 V)
2CAM_D0_NMIPI OutputMIPI CSI Data Lane 0 (-)
3CAM_D0_PMIPI OutputMIPI CSI Data Lane 0 (+)
4GNDPowerGround
5CAM_D1_NMIPI OutputMIPI CSI Data Lane 1 (-)
6CAM_D1_PMIPI OutputMIPI CSI Data Lane 1 (+)
7GNDPowerGround
8CAM_CLK_NMIPI OutputMIPI CSI Clock Lane (-)
9CAM_CLK_PMIPI OutputMIPI CSI Clock Lane (+)
10GNDPowerGround
11CAM_GPIO / SHUTDOWNDigital InputCamera enable / LED control
21SCLDigital InputI2CI^2C Clock
13SDADigital Input / OutputI2CI^2C Data
143V3Power+3.3 V Power supply
15GNDPowerGround

Specifications

ParameterSymbolMinTypMaxUnitConditions
Analog Supply VoltageVANAV_{ANA}2.62.83.0VSensor analog core
Digital Supply VoltageVDIGV_{DIG}1.11.21.3VSensor digital core
I/O Supply VoltageVIOV_{IO}1.71.81.9VInterface logic
Max Frame Rate (8MP)FPS8MFPS_{8M}3030fps3280×24643280 \times 2464 full resolution
Max Frame Rate (1080p)FPS1080pFPS_{1080p}4760fps1920×10801920 \times 1080 cropped
Max Frame Rate (720p)FPS720pFPS_{720p}9090fps1280×7201280 \times 720 binned
SensitivitySsensS_{sens}214mV/lux-secGreen channel
Dynamic RangeDRDR67dBMax dynamic range

Supported Video Modes

ModeResolutionAspect RatioMax Frame RateFOVBinning / Cropping
03280×24643280 \times 24644:330 fpsFullNone (Full sensor array)
11920×10801920 \times 108016:930 / 60 fpsPartialPartial crop (1080p1080\text{p})
21280×7201280 \times 72016:960 / 90 fpsPartial2×22 \times 2 binning
3640×480640 \times 4804:390 fpsPartial4×44 \times 4 binning

Wiring

The IMX219 camera module connects directly to the 15-pin MIPI CSI-2 connector on Raspberry Pi single-board computers via a flexible flat cable (FFC):

  • Orient the cable so the blue plastic stiffener faces away from the Ethernet / USB ports (contacts facing towards the HDMI port) on standard Pi 4 boards.
  • Push the collar latch down firmly to secure the ribbon cable.

Example (Python libcamera / picamera2 on Raspberry Pi OS)

python
from picamera2 import Picamera2
import time

picam2 = Picamera2()

# Configure for 1920x1080 30fps stream
camera_config = picam2.create_preview_configuration(main={"size": (1920, 1080)})
picam2.configure(camera_config)

picam2.start()
print("Streaming video... capturing image in 2 seconds.")
time.sleep(2)

picam2.capture_file("test_image.jpg")
print("Image saved to test_image.jpg")

picam2.stop()

Common mistakes

  • Inserting FFC ribbon cable backwards: Connecting the ribbon cable with contacts facing the wrong side results in camera detection failure (No camera detected).
  • Attempting to interface via GPIO SPI pins: The IMX219 outputs raw MIPI CSI-2 differential signals (up to 755 Mbps). It cannot be connected to standard SPI GPIO pins or 8-bit microcontrollers (Arduino).

Notes

  • IMX219 vs OV5647 vs IMX477: OV5647 was the original 5MP Camera v1; IMX219 is the 8MP Camera v2; IMX477 is the 12.3MP High Quality Camera featuring interchangeable C/CS mount lenses.

Assets & downloads