Raspberry Pi and IMX462 CSI-2 camera - How To

Explains how to use IMX462 CSI-2 camera with Raspberry Pi computers

Prepare SD card

There are other SD card prepare tools but for this article will stick with Raspberry Pi Imager. It will allow you to select Raspberry Pi device, operating system and some settings like wireless AP and SSH for headless installations. This is basics, and if something is not clear official Raspberry Pi instructions should be followed.

image-1750011862599.png

Raspberry Pi 4 Bookworm

Prepare SD card

Connect CSI2 camera

image-1750012601758.jpg

OS Prepare

Login to your Raspberry device and update it first.

sudo apt update
sudo apt upgrade -y

IMX462

Camera 462x-CSI-M12x, with 687.0832.10A 15 to 22pin FFC cable.

Setup camera

Edit config file:

sudo nano /boot/firmware/config.txt
# camera_auto_detect=1 --- Find camera_auto_detect=1 and comment it out.

# Paste these lines at the end of the config file
dtoverlay=imx462,clock-frequency=37125000
camera_auto_detect=0

Default camera port is cam1

Reboot

Test camera

Check if camera is detected

libcamera-hello --list-cameras

Available cameras
-----------------
0 : imx462 [1920x1080 12-bit RGGB] (/base/soc/i2c0mux/i2c@0/imx290@1a)
    Modes: 'SRGGB10_CSI2P' : 1280x720 [60.00 fps - (320, 180)/1280x720 crop]
                             1920x1080 [60.00 fps - (0, 0)/1920x1080 crop]
           'SRGGB12_CSI2P' : 1280x720 [60.00 fps - (320, 180)/1280x720 crop]
                             1920x1080 [60.00 fps - (0, 0)/1920x1080 crop]

Capture picture to /tmp/test.jpg

libcamera-jpeg -o /tmp/test.jpg -n

[0:00:22.397023744] [1717]  INFO Camera camera_manager.cpp:326 libcamera v0.5.0+59-d83ff0a4
[0:00:22.443947725] [1721]  WARN RPiSdn sdn.cpp:40 Using legacy SDN tuning - please consider moving SDN inside rpi.denoise
[0:00:22.445317429] [1721]  WARN CameraSensor camera_sensor_legacy.cpp:501 'imx462 10-001a': No sensor delays found in static properties. Assuming unverified defaults.
[0:00:22.446424374] [1721]  INFO RPI vc4.cpp:447 Registered camera /base/soc/i2c0mux/i2c@1/imx290@1a to Unicam device /dev/media1 and ISP device /dev/media2
[0:00:22.446880392] [1721]  INFO RPI pipeline_base.cpp:1121 Using configuration file '/usr/share/libcamera/pipeline/rpi/vc4/rpi_apps.yaml'
Mode selection for 960:540:12:P
    SRGGB10_CSI2P,1280x720/0 - Score: 1125
    SRGGB10_CSI2P,1920x1080/0 - Score: 1375
    SRGGB12_CSI2P,1280x720/0 - Score: 125
    SRGGB12_CSI2P,1920x1080/0 - Score: 375
Stream configuration adjusted
[0:00:22.449191874] [1717]  INFO Camera camera.cpp:1205 configuring streams: (0) 960x540-YUV420 (1) 1280x720-SRGGB12_CSI2P
[0:00:22.449765966] [1721]  INFO RPI vc4.cpp:622 Sensor: /base/soc/i2c0mux/i2c@1/imx290@1a - Selected sensor format: 1280x720-SRGGB12_1X12 - Selected unicam format: 1280x720-pRCC
Mode selection for 1920:1080:12:P
    SRGGB10_CSI2P,1280x720/0 - Score: 3000
    SRGGB10_CSI2P,1920x1080/0 - Score: 1000
    SRGGB12_CSI2P,1280x720/0 - Score: 2000
    SRGGB12_CSI2P,1920x1080/0 - Score: 0
Stream configuration adjusted
[0:00:27.706623667] [1717]  INFO Camera camera.cpp:1205 configuring streams: (0) 1920x1080-YUV420 (1) 1920x1080-SRGGB12_CSI2P
[0:00:27.708885648] [1721]  INFO RPI vc4.cpp:622 Sensor: /base/soc/i2c0mux/i2c@1/imx290@1a - Selected sensor format: 1920x1080-SRGGB12_1X12 - Selected unicam format: 1920x1080-pRCC
Still capture image received

 

Raspberry Pi 4 CM Bookworm

Prepare SD card

Connect CSI2 camera

image-1750012137831.jpg

In this picture camera is connected to cam1 port.

OS Prepare

Login to your Raspberry device and update it first.

sudo apt update
sudo apt upgrade -y

IMX462

Camera 462x-CSI-M12x

Setup camera

Edit config file:

sudo nano /boot/firmware/config.txt
# camera_auto_detect=1 --- Find camera_auto_detect=1 and comment it out.

# Paste these lines at the end of the config file
dtoverlay=imx462,cam1,clock-frequency=37125000
camera_auto_detect=0

Reboot

Test camera

Check if camera is detected

libcamera-hello --list-cameras

Available cameras
-----------------
0 : imx462 [1920x1080 12-bit RGGB] (/base/soc/i2c0mux/i2c@0/imx290@1a)
    Modes: 'SRGGB10_CSI2P' : 1280x720 [60.00 fps - (320, 180)/1280x720 crop]
                             1920x1080 [60.00 fps - (0, 0)/1920x1080 crop]
           'SRGGB12_CSI2P' : 1280x720 [60.00 fps - (320, 180)/1280x720 crop]
                             1920x1080 [60.00 fps - (0, 0)/1920x1080 crop]

Capture picture to /tmp/test.jpg

libcamera-jpeg -o /tmp/test.jpg -n

[0:04:03.062321913] [1710]  INFO Camera camera_manager.cpp:326 libcamera v0.5.0+59-d83ff0a4
[0:04:03.107442902] [1713]  WARN RPiSdn sdn.cpp:40 Using legacy SDN tuning - please consider moving SDN inside rpi.denoise
[0:04:03.108303290] [1713]  WARN CameraSensor camera_sensor_legacy.cpp:501 'imx462 0-001a': No sensor delays found in static properties. Assuming unverified defaults.
[0:04:03.109060881] [1713]  INFO RPI vc4.cpp:447 Registered camera /base/soc/i2c0mux/i2c@0/imx290@1a to Unicam device /dev/media1 and ISP device /dev/media2
[0:04:03.109105270] [1713]  INFO RPI pipeline_base.cpp:1121 Using configuration file '/usr/share/libcamera/pipeline/rpi/vc4/rpi_apps.yaml'
Mode selection for 960:540:12:P
    SRGGB10_CSI2P,1280x720/0 - Score: 1125
    SRGGB10_CSI2P,1920x1080/0 - Score: 1375
    SRGGB12_CSI2P,1280x720/0 - Score: 125
    SRGGB12_CSI2P,1920x1080/0 - Score: 375
Stream configuration adjusted
[0:04:03.110893565] [1710]  INFO Camera camera.cpp:1205 configuring streams: (0) 960x540-YUV420 (1) 1280x720-SRGGB12_CSI2P
[0:04:03.111358953] [1713]  INFO RPI vc4.cpp:622 Sensor: /base/soc/i2c0mux/i2c@0/imx290@1a - Selected sensor format: 1280x720-SRGGB12_1X12 - Selected unicam format: 1280x720-pRCC
Mode selection for 1920:1080:12:P
    SRGGB10_CSI2P,1280x720/0 - Score: 3000
    SRGGB10_CSI2P,1920x1080/0 - Score: 1000
    SRGGB12_CSI2P,1280x720/0 - Score: 2000
    SRGGB12_CSI2P,1920x1080/0 - Score: 0
Stream configuration adjusted
[0:04:08.370889477] [1710]  INFO Camera camera.cpp:1205 configuring streams: (0) 1920x1080-YUV420 (1) 1920x1080-SRGGB12_CSI2P
[0:04:08.374117010] [1713]  INFO RPI vc4.cpp:622 Sensor: /base/soc/i2c0mux/i2c@0/imx290@1a - Selected sensor format: 1920x1080-SRGGB12_1X12 - Selected unicam format: 1920x1080-pRCC
Still capture image received

 

Raspberry Pi 5 Bookworm

Prepare SD card

Connect CSI2 camera

image-1750065886673.jpg

OS Prepare

Login to your Raspberry device and update it first.

sudo apt update
sudo apt upgrade -y

IMX462

Camera 462x-CSI-M12x

Setup camera

Edit config file:

sudo nano /boot/firmware/config.txt
# camera_auto_detect=1 --- Find camera_auto_detect=1 and comment it out.

# Paste these lines at the end of the config file
dtoverlay=imx462,cam0,clock-frequency=37125000
camera_auto_detect=0

Reboot

Test camera

Check if camera is detected

libcamera-hello --list-cameras

Available cameras
-----------------
0 : imx462 [1920x1080 12-bit RGGB] (/base/axi/pcie@1000120000/rp1/i2c@88000/imx290@1a)
    Modes: 'SRGGB10_CSI2P' : 1280x720 [60.00 fps - (320, 180)/1280x720 crop]
                             1920x1080 [60.00 fps - (0, 0)/1920x1080 crop]
           'SRGGB12_CSI2P' : 1280x720 [60.00 fps - (320, 180)/1280x720 crop]
                             1920x1080 [60.00 fps - (0, 0)/1920x1080 crop]

Capture picture to /tmp/test.jpg

libcamera-jpeg -o /tmp/test.jpg -n

[0:00:18.871385025] [1789]  INFO Camera camera_manager.cpp:326 libcamera v0.5.0+59-d83ff0a4
[0:00:18.878529284] [1792]  INFO RPI pisp.cpp:720 libpisp version v1.2.1 981977ff21f3 29-04-2025 (14:13:50)
[0:00:18.889916414] [1792]  WARN CameraSensor camera_sensor_legacy.cpp:501 'imx462 10-001a': No sensor delays found in static properties. Assuming unverified defaults.
[0:00:18.890301599] [1792]  INFO RPI pisp.cpp:1179 Registered camera /base/axi/pcie@1000120000/rp1/i2c@88000/imx290@1a to CFE device /dev/media3 and ISP device /dev/media0 using PiSP variant BCM2712_C0
Mode selection for 960:540:12:P
    SRGGB10_CSI2P,1280x720/0 - Score: 1125
    SRGGB10_CSI2P,1920x1080/0 - Score: 1375
    SRGGB12_CSI2P,1280x720/0 - Score: 125
    SRGGB12_CSI2P,1920x1080/0 - Score: 375
Stream configuration adjusted
[0:00:18.890887136] [1789]  INFO Camera camera.cpp:1205 configuring streams: (0) 960x540-YUV420 (1) 1280x720-RGGB_PISP_COMP1
[0:00:18.890972340] [1792]  INFO RPI pisp.cpp:1483 Sensor: /base/axi/pcie@1000120000/rp1/i2c@88000/imx290@1a - Selected sensor format: 1280x720-SRGGB12_1X12 - Selected CFE format: 1280x720-PC1R
Mode selection for 1920:1080:12:P
    SRGGB10_CSI2P,1280x720/0 - Score: 3000
    SRGGB10_CSI2P,1920x1080/0 - Score: 1000
    SRGGB12_CSI2P,1280x720/0 - Score: 2000
    SRGGB12_CSI2P,1920x1080/0 - Score: 0
Stream configuration adjusted
[0:00:24.120965985] [1789]  INFO Camera camera.cpp:1205 configuring streams: (0) 1920x1080-YUV420 (1) 1920x1080-RGGB_PISP_COMP1
[0:00:24.124285707] [1792]  INFO RPI pisp.cpp:1483 Sensor: /base/axi/pcie@1000120000/rp1/i2c@88000/imx290@1a - Selected sensor format: 1920x1080-SRGGB12_1X12 - Selected CFE format: 1920x1080-PC1R
Still capture image received

 

Raspberry Pi 5 CM Bookworm

Prepare SD card

Connect CSI2 camera

image-1750065490758.jpg

OS Prepare

Login to your Raspberry device and update it first.

sudo apt update
sudo apt upgrade -y

IMX462

Camera 462x-CSI-M12x

Setup camera

Edit config file:

sudo nano /boot/firmware/config.txt
# camera_auto_detect=1 --- Find camera_auto_detect=1 and comment it out.

# Paste these lines at the end of the config file
dtoverlay=imx462,cam0,clock-frequency=37125000
camera_auto_detect=0

Note absent cam1 argument in dtoverlay string. If cam1 or cam0 is present Raspberry Pi will not recognize camera.

Reboot

Test camera

Check if camera is detected

libcamera-hello --list-cameras

Available cameras
-----------------
0 : imx462 [1920x1080 12-bit RGGB] (/base/axi/pcie@1000120000/rp1/i2c@88000/imx290@1a)
    Modes: 'SRGGB10_CSI2P' : 1280x720 [60.00 fps - (320, 180)/1280x720 crop]
                             1920x1080 [60.00 fps - (0, 0)/1920x1080 crop]
           'SRGGB12_CSI2P' : 1280x720 [60.00 fps - (320, 180)/1280x720 crop]
                             1920x1080 [60.00 fps - (0, 0)/1920x1080 crop]

Capture picture to /tmp/test.jpg

libcamera-jpeg -o /tmp/test.jpg -n

[0:10:00.777872901] [1898]  INFO Camera camera_manager.cpp:326 libcamera v0.5.0+59-d83ff0a4
[0:10:00.784948139] [1901]  INFO RPI pisp.cpp:720 libpisp version v1.2.1 981977ff21f3 29-04-2025 (14:13:50)
[0:10:00.797335934] [1901]  WARN CameraSensor camera_sensor_legacy.cpp:501 'imx462 10-001a': No sensor delays found in static properties. Assuming unverified defaults.
[0:10:00.797738960] [1901]  INFO RPI pisp.cpp:1179 Registered camera /base/axi/pcie@1000120000/rp1/i2c@88000/imx290@1a to CFE device /dev/media0 and ISP device /dev/media2 using PiSP variant BCM2712_D0
Mode selection for 960:540:12:P
    SRGGB10_CSI2P,1280x720/0 - Score: 1125
    SRGGB10_CSI2P,1920x1080/0 - Score: 1375
    SRGGB12_CSI2P,1280x720/0 - Score: 125
    SRGGB12_CSI2P,1920x1080/0 - Score: 375
Stream configuration adjusted
[0:10:00.798351119] [1898]  INFO Camera camera.cpp:1205 configuring streams: (0) 960x540-YUV420 (1) 1280x720-RGGB_PISP_COMP1
[0:10:00.798444510] [1901]  INFO RPI pisp.cpp:1483 Sensor: /base/axi/pcie@1000120000/rp1/i2c@88000/imx290@1a - Selected sensor format: 1280x720-SRGGB12_1X12 - Selected CFE format: 1280x720-PC1R
Mode selection for 1920:1080:12:P
    SRGGB10_CSI2P,1280x720/0 - Score: 3000
    SRGGB10_CSI2P,1920x1080/0 - Score: 1000
    SRGGB12_CSI2P,1280x720/0 - Score: 2000
    SRGGB12_CSI2P,1920x1080/0 - Score: 0
Stream configuration adjusted
[0:10:06.029136925] [1898]  INFO Camera camera.cpp:1205 configuring streams: (0) 1920x1080-YUV420 (1) 1920x1080-RGGB_PISP_COMP1
[0:10:06.034005267] [1901]  INFO RPI pisp.cpp:1483 Sensor: /base/axi/pcie@1000120000/rp1/i2c@88000/imx290@1a - Selected sensor format: 1920x1080-SRGGB12_1X12 - Selected CFE format: 1920x1080-PC1R
Still capture image received

 

Raspberry Pi Zero 2 W

Prepare SD card

Connect CSI2 camera

image-1750013107665.jpg

OS Prepare

Login to your Raspberry device and update it first.

sudo apt update
sudo apt upgrade -y

This is important, when tested current OS without updating camera did not work. Will take a while to complete.

IMX462

Camera 462x-CSI-M12x

Setup camera

Edit config file:

sudo nano /boot/firmware/config.txt
# camera_auto_detect=1 --- Find camera_auto_detect=1 and comment it out.

# Paste these lines at the end of the config file
dtoverlay=imx462,clock-frequency=37125000
camera_auto_detect=0

Reboot

Test camera

Check if camera is detected

libcamera-hello --list-cameras

Available cameras
-----------------
0 : imx462 [1920x1080 12-bit RGGB] (/base/soc/i2c0mux/i2c@1/imx290@1a)
    Modes: 'SRGGB10_CSI2P' : 1280x720 [60.00 fps - (320, 180)/1280x720 crop]
                             1920x1080 [60.00 fps - (0, 0)/1920x1080 crop]
           'SRGGB12_CSI2P' : 1280x720 [60.00 fps - (320, 180)/1280x720 crop]
                             1920x1080 [60.00 fps - (0, 0)/1920x1080 crop]

Capture picture to /tmp/test.jpg

libcamera-jpeg -o /tmp/test.jpg -n

[0:00:52.859887270] [1022]  INFO Camera camera_manager.cpp:326 libcamera v0.5.0+59-d83ff0a4
[0:00:53.151726905] [1073]  WARN RPiSdn sdn.cpp:40 Using legacy SDN tuning - please consider moving SDN inside rpi.denoise
[0:00:53.153496072] [1073]  WARN CameraSensor camera_sensor_legacy.cpp:501 'imx462 10-001a': No sensor delays found in static properties. Assuming unverified defaults.
[0:00:53.155367635] [1073]  INFO RPI vc4.cpp:447 Registered camera /base/soc/i2c0mux/i2c@1/imx290@1a to Unicam device /dev/media3 and ISP device /dev/media0
[0:00:53.155573103] [1073]  INFO RPI pipeline_base.cpp:1121 Using configuration file '/usr/share/libcamera/pipeline/rpi/vc4/rpi_apps.yaml'
Mode selection for 960:540:12:P
    SRGGB10_CSI2P,1280x720/0 - Score: 1125
    SRGGB10_CSI2P,1920x1080/0 - Score: 1375
    SRGGB12_CSI2P,1280x720/0 - Score: 125
    SRGGB12_CSI2P,1920x1080/0 - Score: 375
Stream configuration adjusted
[0:00:53.169940083] [1022]  INFO Camera camera.cpp:1205 configuring streams: (0) 960x540-YUV420 (1) 1280x720-SRGGB12_CSI2P
[0:00:53.170743937] [1073]  INFO RPI vc4.cpp:622 Sensor: /base/soc/i2c0mux/i2c@1/imx290@1a - Selected sensor format: 1280x720-SRGGB12_1X12 - Selected unicam format: 1280x720-pRCC
Mode selection for 1920:1080:12:P
    SRGGB10_CSI2P,1280x720/0 - Score: 3000
    SRGGB10_CSI2P,1920x1080/0 - Score: 1000
    SRGGB12_CSI2P,1280x720/0 - Score: 2000
    SRGGB12_CSI2P,1920x1080/0 - Score: 0
Stream configuration adjusted
[0:00:58.453761956] [1022]  INFO Camera camera.cpp:1205 configuring streams: (0) 1920x1080-YUV420 (1) 1920x1080-SRGGB12_CSI2P
[0:00:58.457460706] [1073]  INFO RPI vc4.cpp:622 Sensor: /base/soc/i2c0mux/i2c@1/imx290@1a - Selected sensor format: 1920x1080-SRGGB12_1X12 - Selected unicam format: 1920x1080-pRCC
Still capture image received