Skip to content

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+)


34B

  • For Raspberry Pi CM3/CM4


CM3

  • For Raspberry Pi Zero


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.

dt


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:

-Raspberry Pi Bullseye

  • 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

378-2

  • Enable the legacy

378-3-1

378-3-2

  • Save and reboot
sudo reboot
  • Detect the camera
vcgencmd get_camera

If the camera is detected, the output will be the follows:

378-5

  • 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