1. Home
  2. Docs
  3. Jetson Cameras
  4. Multiple cameras on the Jetson Nano
  5. Camarray – Arducam 12MP IMX477 Synchronized Stereo Camera Bundle Kit

Camarray – Arducam 12MP IMX477 Synchronized Stereo Camera Bundle Kit


​This Arducam 12MP Synchronized Stereo Camera Bundle Kit is capable of running two 12MP IMX477 Camera Modules simultaneously through a single MIPI CSI-2 camera slot connection on popular embedded systems like Raspberry Pi, Jetson Nano and Jetson Xavier NX. It consists of two 12MP High Quality IMX477 camera module and an Arducam stereo camera HAT. The stereo camera HAT is enabled by ArduChip to disguise the dual-camera connection as a single camera to be accepted by the single-board computers. You can use this bundle to build your stereo camera system for depth-related vision applications or upgrade your IMX219 stereo setup.

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


Our IMX477 camera module support 4-lane in hardware, but the 4-lane camera driver requires extra customization. Here is why:
 1.Standard Raspberry Pi and Jetson Nano/Xavier NX can’t physically support a 4-lane connection (both of them only have 2-lane CSI connectors). Only the Raspberry Pi Compute Module and some 3rd party Jetson Carrier Boards come with 4-lane hardware support. Therefore, it’s not a general need.
2.Extra works, specifically camera drivers, are required for a 4-lane connection other than the 4-lane physical connector. And the drivers are limited by the performances of the platform itself. For example, 4-lane can’t unlock 4k video on Raspberry Pi because the VideoCore does not currently support it. Jetson Nano is also to some extent limited because of the encoding capabilities. You need to make sure you really need it.

Common Specs

Image Sensor

Sensor ModelIMX477
Shutter TypeRolling Shutter
Active Pixels4056×3040
Image Sensor FormatType 1/2.3″
Pixel Size1.55μm×1.55μm
Color Filter Array650nm
IMX477 Block Diagram
IMX477 Block Diagram

Lens Assembly

Focus TypeManual Focus
Focusing Range20cm to infinity (when focused to infinity)
Focal Length6 mm
Field of View(FoV)65° Horizontal
Lens MountCS Lens
IR SensitivityVisible light
cs lens 65H 1


Camera Board Size38×38 mm
HAT Size65×56 mm
UC 517 DIM

OV9281 Camera Board Mechanical Drawing

UC 512.Rev .C DIM 01
HAT Mechanical Drawing
Pin No.Pin NameTypeDescription
13V3Power3.3V power supply
2FSINInputFrame Sync Input
3STBOutputLED Strobe Output
53V3Power3.3V power supply
6SDAI/OSCCB serial interface data I/O
7SCLInputSCCB serial interface clock input

Connector & Cable

Connector InterfaceMIPI CSI-2 15-pin 2-lane
Ribbon Cable Length150mm (22-pin), 300mm(15-22pin),
Pin No.Pin NameTypeDescription
2CAM_D0_NOutputMIPI Data Lane 0 Negative
3CAM_D0_POutputPixel Data Lane0 Positive
5CAM_D1_NOutputMIPI Data Lane 1 Negative
6CAM_D1_POutputMIPI Data Lane 1 Positive
8CAM_CK_NOutputMIPI Clock Lane Negative
9CAM_CK_POutputMIPI Clock Lane Positive
11CAM_IO0InputPower Enable
12CAM_IO1InputLED Indicator
13CAM_SCLBidirectionI2C SCL
14CAM_SDABidirectionI2C SDA
15CAM_3V3Power3.3V Power Input

Driver Performance

Video FormatGERY(8-bit)/Y10P(10-bit)
Output Interface2-lane MIPI serial output
Output Formats8/10-bit RAW
Frame Rate[email protected]*2×3040

Quick Start Guide


Same operation on Xavier NX.The only difference is the driver package.

Hardware Setup

B0265N 02
B0265N 01

Check the Driver

This step is to check if you have other drivers installed. If you are sure that you don’t have other drivers installed, you can skip this step and go to install Arducam IMX477 Stereo Camera Driver.

1.Driver type

There is three drivers for Jetson:​​

  • Official IMX219 driver
  • Arducam IMX477 driver
  • Arducam V4L2 driver


These three drivers are in conflict with each other and only one of the three options is available.​

The product is driven by the Arducam IMX477.

1) The Arducam IMX477 driver will automatically overwrite the other drivers and you don’t need to uninstall the other drivers.

2) If you want to use the official IMX219 driver, please type the following command to uninstall Arducam IMX477 driver or Arducam V4L2 driver.

sudo dpkg -r arducam-nvidia-l4t-kernel

2.Check your driver

Execute the following command and see if it responds. If there is no response, the corresponding driver is not installed.​​​

#Check if you have installed Official IMX219 driver

dmesg | grep imx219
Check your driver1
For example, no response, you don’t install the official IMX219 driver.

#Check if you have installed Arducam IMX477 driver

dmesg | grep imx477
Check your driver2
For example, no response, you don’t install the Arducam IMX477 driver.

#Check if you have installed Arducam V4L2 driver

dmesg | grep arducam
Check your driver3

For example, it has response, you installed Arducam V4L2 driver. Failed means you haven’t connected Arducam IMX477 camera or the connection is wrong.

Install Arducam IMX477 Stereo Camera Driver

1.Check system version

#Check the L4T version

cat /etc/nv_tegra_release
Check the L4T version
From the example above, its L4T version is R32 4.3

#Check the kernel version

uname -a
Check the kernel version
From the example above, its kernel version is 4.9.140

2.Download Arducam driver package

Open the link below:


Depending on the hardware platform and system version currently in use, find the corresponding driver.

Download Arducam driver package1
Download Arducam driver package2
Download the driver package3

Download it and put it under the root directory.

root library


If you can’t find a driver package matching your kernel version, please contact Arducam to update that.

3.Install Arducam driver package

Then type the following command to install the V4L-utils The driver package name (.deb) should be changed according to the actual download.

sudo dpkg -i arducam-nvidia-l4t-kernel_4.9.140-32.4.3-20201012171010_arm64_imx477_stereo.deb
Install Arducam driver package1

Reboot your system.

sudo reboot

Execute the following command after rebooting.

dmesg | grep imx477
It has response, Arducam IMX477 driver is installed.
Uninstall the Arducam IMX477 driver
sudo dpkg -r arducam-nvidia-l4t-kernel

First Use

1.Check whether the camera is detected

ls /dev/video0

2.Preview the camera feed in real time


FRAMERATE=13 # Framerate can go from 2 to 13 for 4032x3040 mode
gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! "video/x-raw(memory:NVMM),width=4032,height=3040,framerate=$FRAMERATE/1" ! nvvidconv ! "video/x-raw(memory:NVMM),width=1432,height=1080,framerate=$FRAMERATE/1" ! nvoverlaysink
Preview the camera feed in real time1

4032×3040 exceeds the system resolution and requires zooming to display.


FRAMERATE=60 # Framerate can go from 2 to 60 for 1920x1080 mode
gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! "video/x-raw(memory:NVMM),width=1920,height=1080,framerate=$FRAMERATE/1" ! nvvidconv ! nvoverlaysink


FRAMERATE=30 # Framerate can go from 2 to 30 for 2592x1944 mode
gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! "video/x-raw(memory:NVMM),width=2592,height=1944,framerate=$FRAMERATE/1" ! nvvidconv ! "video/x-raw(memory:NVMM),width=1440,height=1080,framerate=$FRAMERATE/1" ! nvoverlaysink
2592×1944 1


FRAMERATE=40 # Framerate can go from 2 to 40 for 2560x1440 mode
gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! "video/x-raw(memory:NVMM),width=2560,height=1440,framerate=$FRAMERATE/1" ! nvvidconv ! "video/x-raw(memory:NVMM),width=1920,height=1080,framerate=$FRAMERATE/1" ! nvoverlaysink
ResolutionMaximum Frame Rate

Was this article helpful to you? Yes No