Cameras for Raspberry Pi

  1. Home
  2. Docs
  3. Cameras for Raspberry Pi
  4. Synchronized Stereo Camera HAT
  5. Camarray – Arducam 12MP Synchronized Quad Camera Bundle Kit

Camarray – Arducam 12MP Synchronized Quad Camera Bundle Kit


This Arducam quadrascopic camera bundle incorporates four 12MP IMX477 autofocus cameras and the cutting-edge MIPI stereo camera breakthrough from Arducam – The Arducam Camarray HAT.

As the upgraded version of Arducam Synched Stereo Camera HAT, the Camarray further pushes the multi-camera limits and doubles the interfacing capabilities to allow 4 synchronized MIPI camera modules to be interfaced to a single MIPI CSI-2 slot on prevailing single-board computers like Raspberry Pi, Jetson Nano, and Jetson Xavier NX.

This Bundle kit adopts the Variable Baseline Extension solution. Compared to the fixed stereo camera module, this stereo camera bundle has higher flexibility. The separated cameras can be used with a variable baseline device and controlled through the computer control system to achieve rapid and dynamic interactive adjustment of the moving parts for multi-degree-of-freedom stereo quadrascopic vision.

What is Camarray

Camarray is a series of embedded stereo cameras and multiple camera solutions from Arducam. Upgraded from Arducam Sync Stereo Camera HAT, the Camarry can disguise up to 4 synched camera modules as a single camera slot connection to embedded systems like the Raspberry Pi, Jetson nano, and Xavier NX. With Arducam camarray, your camera connectivities are no longer limited to the camera connectors on the motherboard or the carrier board. Along with Arducam-provided camera drivers, more flexibility can be added to your multi-camera applications.


1. The Camarray HAT does not support digital pan in half resolution combined and programmable pan speed control.
2. The Camarray HAT is not a crop and a half (halving the horizontal resolution of each camera and halving the field of view) but a compressed half (halving the horizontal resolution of each camera but leaving the field of view unchanged), so it does not need to support scan mode.


Arducam 12MP*4 Quadrascopic Camera Bundle Kit for Raspberry Pi, Nvidia Jetson Nano/Xavier NX, Four IMX477 Color Camera Modules and Camarray Camera HAT

Common Specifications

-Camarray HAT

Support PlatformRaspberry Pi
Inputs4x CSI-2 2-lane Input Ports
Outputs1x CSI-2 2-lane Output Port
CSI-2 Speed1.0 Gbps/Lane
Camera ControlI2C Broadcasting for all cameras, no individual control
ISP SupportSupports
External Trigger SupportNot support
Multiple HAT SyncNot support
Aggregate modeSide-by-Side, Camera 0 only, Camera 1 only
HAT Size65 x 56 mm


SensorSony 12MP IMX477
Shutter TypeRolling Shutter
Pixel Size1.55 µm x 1.55 µm
Active Pixels4056 (H) × 3040 (V)
Optical Size1/2.3″
IR SensitiveIntegral IR filter, visible light only
Output Interface2-lane MIPI serial output
Board Size25mm x 24mm


Optical Format1/2.3”
Focus typeFixed focus
Focal Length3.9 mm
Field of View (FOV)75 ° (H)
MountM12 lens
Back Focal Length4.49mm

Hardware Connection

How to Access the Camera

Before you Start

This camera bundle kit is developed and designed for the Bullseye OS. Please ensure that you are using the Raspberry Pi Bullseye OS before you start to run the camera.

If you haven’t downloaded the Bullseye system yet, please refer to the following steps to download it.


The camera kit doesn’t need to install an extra driver. And it supports the latest version of Raspberry Pi OS. (January 28th,2022 or later releases, Debian version:11(Bullseye)).
Please make sure your Raspberry Pi OS is downloaded from this official source:
Raspberry Pi Bullseye >
At present, we don’t recommend using the camera on Buster legacy system. But if you have any requirements about it, you can contact [email protected] for customization.

Before you use the camera, please refer to the following steps to configure your pi. The Bullseye Raspberry Pi system supports using libcamera stack. You need to update the config file and use libcamera apps.

  • For Raspberry Bullseye users running on Pi 4, please do the following:
sudo nano /boot/config.txt 
Find the line: camera_auto_detect=1, update it to:
Save and reboot.
  • For Bullseye users running on Pi 0 ~ 3, please also
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
  • For Raspberry Pi Compute Module 3/4

The latest software only supports one camera at this time, CM4 uses CAM1 by default.


Please ensure your Camarray HAT and the cameras are in charge before you use them.
After modifying the above config file, you need to reboot the Raspberry Pi.

Run the Camera Bundle Kit

Using libcamera apps


libcamera-still -t 0

Save a test picture after 5 seconds preview:

libcamera-still -t 5000 -o test.jpg

Record video:

For example, record an H.264 10s video with a frame size 1920W × 1080H.

libcamera-vid -t 10000 --width 1920 --height 1080 -o test.h264

For more usage of libcamera apps, please refer to the libcamera command.

Switch Composition Mode

Check I2C node:

[email protected]:~ $ i2cdetect -l
i2c-1	i2c       	bcm2835 ([email protected])          	I2C adapter
i2c-22	i2c       	bcm2835 ([email protected])          	I2C adapter
i2c-0	i2c       	i2c-22-mux (chan_id 0)          	I2C adapter
i2c-10	i2c       	i2c-22-mux (chan_id 1)          	I2C adapter

Detect I2C signal:

Take i2c 10 node as an example

image 3

Select the Channel:



# Set to single channel 0
i2cset -y 10 0x24 0x24 0x02
# Set to single channel 1
i2cset -y 10 0x24 0x24 0x12
# Set to single channel 2
i2cset -y 10 0x24 0x24 0x22
# Set to single channel 3
i2cset -y 10 0x24 0x24 0x32
# Set to double channel (single channel 0 and single channel 1)
i2cset -y 10 0x24 0x24 0x01
# Set to double channel (single channel 2 and single channel 3)
i2cset -y 10 0x24 0x24 0x11
# Set to four in one mode (Default)
i2cset -y 10 0x24 0x24 0x00


Single-channel test:

#Single channel test
[email protected]:~ $ i2cset -y 10 0x24 0x24 0x02
[email protected]:~ $ libcamera-still -t 0

After setting the channel, you can directly use the libcamera command to capture images.

Dual-channels test:

#Dual channels test
[email protected]:~ $ i2cset -y 10 0x24 0x24 0x01
[email protected]:~ $ libcamera-still -t 0


By default, the quad-camera kit works in synchronized 4-channel mode, and Raspberry Pi recognizes the whole kit as one camera.
Any manual focus or camera control adjustments (exposure/gain/white balance/etc.) will also be applied to 4 cameras at the same time.

If you encounter any problems when using the camera, please directly contact [email protected] for help.

Was this article helpful to you? Yes 1 No