12MP IMX378
Introduction
Based on Sony’s IMX378 high-quality image sensor, Arducam IMX378 camera module is a ready-to-use embedded vision solution for the Raspberry Pi family. With a resolution of 12.3MP and a V2-like form factor, it is compatible with any existing Pi models and works with the latest software from the foundation. It can be widely used in machine vision systems and outdoor applications.
Image Sensor
Sensor Model | IMX378 |
---|---|
Shutter Type | Rolling Shutter |
IR Sensitivity | Bulit in 650nm IR-cut filter, Visible light only |
Active Pixels | 4056×3040 |
Resolution | 12.3 MP |
Image Sensor Format | 1/2.3″ |
Pixel Size | 1.55μm×1.55μm |
Video Modes on Raspberry Pi | RAW10: 1332×990@120fps; RAW12: 2028×1080@50fps, 2028×1520@40fps, 4056×3040@10fps |
Color Filter Array | Quad-Bayer RGB |
Output Format | RAW10/RAW12 |
Product
Product Image | SKU | Pin/Connect Type | Features | Lens Type | Field of View(D/H/V) | Focus Type | IR Sensitivity |
---|---|---|---|---|---|---|---|
B0406 | 22/TOP | Wide Angle | Stock Lens | 95°(H) x 72° (V) | Fixed Focus | 650nm IR-cut filter | |
B0412 | High Resolution | 65°(H) x 48.8° (V) |
Hardware Connection
-
For Raspberry Pi 4B and 3B(3B+)
-
For Raspberry Pi CM3/CM4
-
For Raspberry Pi Zero
Software
Software Configuration
At present, we support using libcamera and raspistill to capture images with IMX378 camera, please refer to the following messages:
Modify the confix.txt file
-
Bookworm OS & Pi 5
For Raspberry Pi Bookworm users running on Pi 5, please execute:
sudo nano /boot/firmware/config.txt
#Find the line: camera_auto_detect=1, update it to:
camera_auto_detect=0
#Find the line: [all], add the following item under it:
dtoverlay=imx378
#Save and reboot.
If you want to enable the camera kit on the
cam0
port of Pi5, please refer to the following modifications:
sudo nano /boot/firmware/config.txt
#Find the line: camera_auto_detect=1, update it to:
camera_auto_detect=0
#Find the line: [all], add the following item under it:
dtoverlay=imx378,cam0
#Save and reboot.
-
Bookworm/Bullseye OS & Pi 4
For Raspberry Pi Bookworm/Bullseye users running on Pi 4, please execute:
Bookworm OS on Pi4
sudo nano /boot/firmware/config.txt
#Find the line: camera_auto_detect=1, update it to:
camera_auto_detect=0
#Find the line: [all], add the following item under it:
dtoverlay=imx378
#Save and reboot.
Bullseye OS on Pi4
sudo nano /boot/config.txt
#Find the line: camera_auto_detect=1, update it to:
camera_auto_detect=0
#Find the line: [all], add the following item under it:
dtoverlay=imx378
#Save and reboot.
-
Bookworm/Bullseye OS & Pi 0 ~ Pi 3
For Raspberry Pi Bookworm/Bullseye users running on Pi 0 ~ 3, please execute:
Bookworm OS on Pi0-Pi3
sudo nano /boot/firmware/config.txt
#Find the line: camera_auto_detect=1, update it to:
camera_auto_detect=0
#Find the line: [all], add the following item under it:
dtoverlay=imx378
#Save and reboot.
Bullseye OS on Pi0-Pi3
sudo nano /boot/config.txt
#Find the line: camera_auto_detect=1, update it to:
camera_auto_detect=0
#Find the line: [all], add the following item under it:
dtoverlay=imx378
#Save and reboot.
Open a terminal
Run sudo raspi-config
Navigate to Advanced Options
Enable Glamor graphic acceleration
Reboot your Pi
If you encounter the display issues, please also execute the following steps:
Open a terminal
Run sudo raspi-config
Navigate to Advanced Options
Navigate to GL Driver
Select GL (Full KMS)
Reboot your Pi
-
Raspberry Pi Compute Module 3/4
For Raspberry Pi Compute Module 3/4:
The latest software only supports one camera at this time, CM4 uses `CAM1` by default.
Using libcamera to access the camera
The Raspberry Pi Bullseye system support using libcamera to capture images. Please make sure you have downloaded the official Bullseye as follows:
- List all cameras:
libcamera-still --list-cameras
- Open a preview window:
libcamera-still -t 0
- Save a jpg file in your pi after 5s preview:
libcamera-still -t 5000 -o test.jpg
Using raspistill to access the camera
The raspberry pi Bullseye system support using raspistill command to capture image too, you need to run the raspi-config to enable legacy, please see the following:
- Run raspi-config
Open your terminal and input sudo rapi-config
sudo raspi-config
- Move to interface option
- Enable the legacy
- Save and reboot
sudo reboot
- Detect the camera
vcgencmd get_camera
If the camera is detected, the output will be the follows:
- Run the camera
Preview:
raspistill -t 0
Save a file:
raspistill -t -5000 -o test.jpg
For more usage of raspistill or previous command, please refer to the following messages:
Getting Started with Raspberry Pi