Cameras for Raspberry Pi

  1. Home
  2. Docs
  3. Cameras for Raspberry Pi
  4. Synchronized Stereo Camera HAT
  5. Camarray – Arducam 1MP (OV9782 Color) Quad-Camera Bundle Kit

Camarray – Arducam 1MP (OV9782 Color) Quad-Camera Bundle Kit


This Arducam Camarray HAT (supports four inputs) is an upgraded version of the Arducam synchronous stereo camera HAT (supports two inputs). This quad-camera bundle kit aggregates four OV9782 color cameras into one video stream, compared to its counterpart OV9282 monochrome quad-camera bundle kit. So that it is completely synchronized, the output is a standard MIPI CSI-2 interface, which can be connected to Raspberry Pi, Jetson Nano, Jetsno NX, and other platforms.

1 8


Follow the picture below for hardware connection (refer to the picture below for four-camera OV9281, only the camera is different).

2 7

The HAT can be plugged into the Jetson Nano and powered by a 2×3 row of female sockets through its 2×20 GPIO pin header.

Camera Board

UC 760 camera board sizing

Camarray HAT


1. Perform any hardware operations on the HAT only when the power is off.

2. Make sure the camera boards keep away from the GPIO pins of Raspberry Pi / Jetson boards to avoid any short issues.

3. Software

3.1. Driver installation

Refe r to the link to install the Arducam driver.

3.1.2. install libcamera

You need to install our libcamera.

./ -p libcamera_dev
./ -p libcamera_apps

3.2. Access the camera with libcamera

3.2.1. Perview

libcamera-still -t 0

3.2.2. Save a test picture after 5 seconds preview

libcamera-still -t 5000 -o test.jpg

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

3.3. Switch Composition Mode

3.3.1. 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

3.3.2. Detect I2C signal

Take i2c 10 node as an example

image 3

3.3.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

3.3.4. Test

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

Was this article helpful to you? Yes No