8MP IMX219¶
Introduction¶
The Raspberry Pi Camera Module 2 replaced the original Camera Module in April 2016. The v2 Camera Module has a Sony IMX219 8-megapixel sensor (compared to the 5-megapixel Omni Vision OV5647 sensor of the original camera).The Camera Module 2 can be used to take high-definition video.
Specifications¶
Parameter | Value |
---|---|
Sensor Model | IMX219 |
Shutter Type | Rolling Shutter |
Active Pixels | 3280 (H) × 2464 (V) |
Resolution | 8 Megapixels |
Frame Rate (Video Mode) | - 1080p @ 47fps - 1640x1232 @ 41fps - 640x480 @ 206fps |
Image Sensor Format | Type 1/4" |
Pixel Size | 1.12μm × 1.12μm |
CSI-2 Data Output | 2-Lane |
Data Format | 10-bit RAW Bayer |
Release Time¶
In 2016, the V2 camera (8MP IMX219) was out with upgrades in resolution and image quality.
Product Series¶
Since the release of IMX219, we have designed several versions with different features according to different needs: IR-CUT, Motorized Focus, PT & PTZ , M12/CS .
IR-CUT¶
Arducam 8MP IMX219 Motorized IR-CUT Camera Modules are designed for both daylight and night vision photography. The motorized IR cut filter can be switched ON/OFF automatically, and the infrared LEDs are automatically ON/OFF according to the light environment. The cameras in this serial are fully supported by all the Raspberry Pi board versions including Pi 4, Pi 3 and Pi Zero. They can be widely used in wildlife photography, agriculture NDVI applications and etc.
Motorized Focus¶
Arducam 8MP IMX219 Motorized Focus Camera Modules are designed for you to control the focus via software, so you can see closer and see where you want to see.
PT & PTZ¶
Arducam PT camera can move in two dimensions with 180 degrees horizontal and 145 degrees vertical movements. So it can be used to monitor places that should be covered by multiple ones commonly in the surveillance system.
Product List¶
Product Image | SKU | Pin/Connect Type | Features | Lens Type | Field of View(D/H/V) | Focus Type | IR Sensitivity |
---|---|---|---|---|---|---|---|
![]() |
B0102 | 15/Bottom | CS Mount | CS | 59°(H )x44°(V) | Manual Focus | 650nm IR-cut filter |
B0153 | Night Vision | without IR-cut filter | |||||
![]() |
B0103 | Replaceable Lens | M12 | 70°(H )x52.6°(V) | 650nm IR-cut filter | ||
B0152 | Night Vision | 100°(H )x75°(V) | without IR-cut filter | ||||
B0154 | Day And Night Vision | Motorized IR-CUT Filter | |||||
![]() |
B0180 | 15/NA | Wide Angle | M12 | 155°(H) x 115°(V) | Manual Focus | 650nm IR-cut filter |
B0184 | Low Distortion | 75°(H) x 56.3°(V) | |||||
B0188 | without IR-cut filter | ||||||
![]() |
B0182 | Motorized Focus | Stock Lens | 77.6°(D) x 65°(H) x 51°(V) | Motorized Focus | 650nm IR-cut filter | |
B0190 | 65°(H) x 51°(V) | without IR-cut filter | |||||
![]() |
B0194 | Wide Angle | M12 | 155°(H) x 115°(V) | Manual Focus | ||
B0286 | Fisheye | 220°(H) x 165°(V) | 650nm IR-cut filter | ||||
![]() |
B0209/NFS | 15/Bottom | Night Vision | Stock Lens | 62.2° (H) x 48.8° (V) | Fixed Focus | without IR-cut filter |
B0390 | Mini Size | 650nm IR-cut filter | |||||
B039001 | Camera Case | ||||||
![]() |
B0392 | Wide Angle | M12 | 155°(H) x 115°(V) | Manual Focus | ||
B0394 | Low Distortion | 75°(H) x 56.2°(V) | |||||
![]() |
B0395 | Night Vision | Stock Lens | 62.2° (H) x 48.8° (V) | Fixed Focus | without IR-cut filter | |
B0393 | Auto Focus | 62.1° (H) x 46.5° (V) | Auto Focus | 650nm IR-cut filter | |||
![]() |
B01678MP | 15/Bottom | Pan-Tilt-Zoom Kit | CS | H(67°~18°),V(49°~13°) | Motorized Focus | Motorized IR-CUT Filter |
![]() |
B0167B8 |
Supported Platforms and OS¶
Note for Supported Platform and OS | |||
---|---|---|---|
Platform | Bookworm(rpicam) | Bullseye(libcamera/rpicam) | Buster(raspistill) |
Raspberry Pi 5 / CM5 | √ | ||
Raspberry Pi 4B / 3B+ / 3A+ / Zero / Zero 2 W | √ | √ | √ |
Raspberry Pi CM3 / CM3+ / CM4 (extra adapter board required) |
√ | √ | √ |
Hardware Connection¶
Please refer to the following doc for common hardware connection method of RPI Camera:
Quick Start Guide - Hardware Connection
Software Configuration¶
Note
To maintain alignment with the official Raspberry Pi OS release cycle, this documentation exclusively covers setup and configuration for Bullseye (kernel 6.1.21+) and Bookworm.
Instructions for the older Raspberry Pi OS, Buster, have been omitted from this guide. We highly recommend all users migrate to a newer, supported operating system for the best performance and ongoing support.
However, if using Buster is a mandatory requirement for your project, please reach out to us for separate assistance.
This section guides you through the necessary software configuration to enable your IMX219 camera, followed by instructions on how to use it. The process is divided into three main parts:
-
System Configuration: This is a required first step for the Raspberry Pi to recognize the camera. You need to reboot your Pi to take effect the changes.
-
Using the Camera: Commands to preview and capture images.
- Troubleshooting: Solutions for common display issues.
1. System Configuration¶
Before you begin, please identify your Raspberry Pi Model and your OS Version (Bookworm or Bullseye), as the instructions vary.
Raspberry Pi 5 & CM 5¶
The Pi 5 currently supports Bookworm OS only. Its configuration file is located at /boot/firmware/config.txt.
-
Open the configuration file for editing:
sudo nano /boot/firmware/config.txt
-
Find the line
camera_auto_detect=1
and change it to:camera_auto_detect=0
-
Locate the line
[all]
and add the following line below it:dtoverlay=imx219
-
Save the changes and exit the editor (in nano, press
CTRL + X
, thenY
, andEnter
). -
Reboot your Raspberry Pi to apply the changes:
sudo reboot
Note
The Pi 5 has two camera ports. If you have connected the camera to the port labeled CAM0, you must modify step 3. The line you add should be:
dtoverlay=imx219,cam0
Raspberry Pi 4¶
The Pi 4 supports both Bookworm and Bullseye OS. The configuration steps are the same, but the location of the config.txt file is different. Select your OS below to get the correct command.
On Bookworm, the file is at /boot/firmware/config.txt
. Open it with:
sudo nano /boot/firmware/config.txt
On Bullseye, the file is at /boot/config.txt
. Open it with:
sudo nano /boot/config.txt
Once the correct file is open, make these two edits:
- Find the line
camera_auto_detect=1
and change it to0
. - Find the
[all]
section and adddtoverlay=imx219
below it. - Save the changes and exit the editor (in nano, press
CTRL + X
, thenY
, andEnter
). -
Reboot your Raspberry Pi to apply the changes:
sudo reboot
Raspberry Pi Zero to Pi 3¶
These models support both Bookworm and Bullseye OS. The setup process is significantly different for each, especially on Bullseye. Please select your OS below to get the correct instructions.
On Bookworm, the procedure is standard and straightforward. The configuration file is located at /boot/firmware/config.txt
.
-
Open the configuration file for editing:
sudo nano /boot/firmware/config.txt
-
Inside the file, find the line
camera_auto_detect=1
and change it to0
. - Locate the
[all]
section and adddtoverlay=imx219
on a new line directly underneath it. - Save the file and reboot your Raspberry Pi.
On Bullseye, the setup is a two-part process. You must first edit the config.txt
file and then enable a special graphics setting in raspi-config
. Both parts are required for the camera to work correctly.
Step 1: Edit config.txt
The configuration file is located at /boot/config.txt
.
-
Open the file for editing:
sudo nano /boot/config.txt
-
Find
camera_auto_detect=1
and change it to0
. - Add
dtoverlay=imx219
under the[all]
section. - Save the file but do not reboot yet! Proceed directly to Step 2.
Step 2: Enable Glamor Graphic Acceleration
This setting is required for proper camera operation on these models with Bullseye OS.
-
Open the Raspberry Pi Configuration tool in your terminal:
sudo raspi-config
-
Navigate to
6 Advanced Options
. - Select
A3 Glamor
. - Choose
<Yes>
at the prompt to enable Glamor graphic acceleration. - Select
<Finish>
in the main menu, and now choose<Yes>
to reboot the Raspberry Pi.
Raspberry Pi Compute Module 3 & 4 (CM3/CM4)¶
The CM3 and CM4 support both operating systems and have two camera ports (cam0, cam1). Select your OS below to find the correct config.txt path.
The configuration file is at /boot/firmware/config.txt
. Open it with:
sudo nano /boot/firmware/config.txt
The configuration file is at /boot/config.txt
. Open it with:
sudo nano /boot/config.txt
After opening the correct file, apply the standard edits (camera_auto_detect=0
and dtoverlay=imx219
) and then save and reboot.
Note
If you wish to use the CAM0 interface, append ,cam0 to the overlay line, making it dtoverlay=imx219,cam0. This applies to both Bookworm and Bullseye.
2. Camera Usage¶
After completing the system configuration and rebooting, your camera is ready to use. The command you need to execute depends on your operating system version. Please select your OS from the tabs below to view the correct instructions.
On Bookworm, the rpicam-apps
suite is used, and the primary command is rpicam-still
.
-
Confirm camera detection by listing available cameras:
rpicam-still --list-cameras
-
Start a live preview to see the camera feed (Press
Ctrl+C
to exit):rpicam-still -t 0
-
Capture an image named
test.jpg
after a 5-second preview:rpicam-still -t 5000 -o test.jpg
On the older Bullseye system, the libcamera-apps
are used, and the primary command is libcamera-still
.
-
Confirm camera detection by listing available cameras:
libcamera-still --list-cameras
-
Start a live preview to see the camera feed (Press
Ctrl+C
to exit):libcamera-still -t 0
-
Capture an image named
test.jpg
after a 5-second preview: ```bash libcamera-still -t 5000 -o test.jpg
For more details, you can refer to the following guide: Getting Started with Raspberry Pi
3. Display Issues¶
If you encounter a black screen or other display issues, it may be due to the camera not being recognized by the system. Here are some troubleshooting steps:
If the issue persists, please reach out to our support team for further assistance.
IMX219 4-lane Configuration¶
Note
Not all Arducam IMX219 cameras support 4-lane configurations. Please refer to the specific product details page to check support status.
Preparation¶
-Hardware Preparation
-Software Version
Please make sure you are using the Raspberry Pi Bookworm OS released after 13 May 2025.
Configuration¶
# open the terminal and edit the config file(based on Bookworm OS)
sudo nano /boot/firmware/config.txt
-For cam0
port
#add dtoverlay=imx219,cam0,4lane to the [all] tag.
dtoverlay=imx219,cam0,4lane
-For cam1
port
#add dtoverlay=imx219,cam0,4lane to the [all] tag.
dtoverlay=imx219,4lane
-Save and reboot
sudo reboot
#save the config file and reboot the device
Preview¶
-Check the Resolution&fps
rpicam-still --list-cameras
-Preview
rpicam-still -t 0