Jetson Cameras

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

Camarray – Arducam 5MP OV5647 Synchronized Stereo Camera Bundle Kit

Introduction

​This Arducam 5MP Synchronized Stereo Camera Bundle Kit is capable of running two OV5647 Camera Modules simultaneously through a single MIPI CSI-2 camera slot connection on popular embedded systems like Jetson Nano and Jetson Xavier NX. It consists of two OV5647 camera modules 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.

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.

NOTE

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.

Common Specs

Image Sensor

Sensor ModelOV5647
Shutter TypeRolling Shutter
Active Pixels2592×1944
Resolution5MP*2
Image Sensor FormatType 1/4″
Pixel Size1.4μm×1.4μm
OV5647 Block Diagram
OV5647 Block Diagram

Lens Assembly

InterchangeabilityNo
F/NO2.8
Focus TypeFixed Focus
Focusing Range10cm to infinity (when focused to infinity)
Focal Length3.51 mm
Field of View(FoV)66° Horizontal
Lens MountM12 Lens
IR SensitivityVisible light

Board

Camera Board Size105(L) x 24(W) x 20.1(H) mm
HAT Size65×56 mm
UC 512.Rev .C DIM 01
HAT Mechanical Drawing
Pin No.Pin NameTypeDescription
13V3Power3.3V power supply
2FSINInputFrame Sync Input
3STBOutputLED Strobe Output
4GNDGroundGround
53V3Power3.3V power supply
6SDAI/OSCCB serial interface data I/O
7SCLInputSCCB serial interface clock input
8GNDGroundGround

Connector & Cable

Connector InterfaceMIPI CSI-2 15-pin 2-lane
Ribbon Cable Length150mm (22-pin), 300mm(15-22pin),
Pin No.Pin NameTypeDescription
1GNDPowerGround
2CAM_D0_NOutputMIPI Data Lane 0 Negative
3CAM_D0_POutputPixel Data Lane0 Positive
4GNDPowerGround
5CAM_D1_NOutputMIPI Data Lane 1 Negative
6CAM_D1_POutputMIPI Data Lane 1 Positive
7GNDPowerGround
8CAM_CK_NOutputMIPI Clock Lane Negative
9CAM_CK_POutputMIPI Clock Lane Positive
10GNDPowerGround
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

Quick Start Guide

NOTE

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

Hardware Setup

Arducam Stereo Camera 5MP B0217J5 2
The HAT can be plugged into a Jetson Nano and powered by GPIO.

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 V4L2 driver.

1.Driver type

There is three drivers for Jetson:​​

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

NOTE

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

1) The Arducam IMX477 driver and Arducam V4L2 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

3) Installing the Arducam IMX477 driver is the same process as installing the Arducam V4L2 driver, only the driver package (.deb) is different.

The product is driven by the Arducam V4L2 driver.

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 V4L2 Driver

Please go to this page for detailed instruction.

First Use

1.Install V4L2 python module

for Python3.x:

wget https://bootstrap.pypa.io/get-pip.py
Install V4L2 python module1

After you type the following command and press【Enter】, it will take several minutes to finish downloading.

sudo python3 get-pip.py
Install V4L2 python module2
Install V4L2 python module3
sudo pip3 install v4l2
Install V4L2 python module4

NOTE: The V4L2 of Python3.x has a known bug that requires a manual fix, and the following error occurs when you import the v4l2 module into Python3.x:

Install V4L2 python module5

You can refer to this link to fix this bug: https://bugs.launchpad.net/python-v4l2/+bug/1664158

2.Download the demo code

git clone https://github.com/ArduCAM/MIPI_Camera.git
Download the demo code1
Download the demo code2

3.Check whether the camera is detected

ls /dev/video0
Check whether the camera is detected1

4.Check the video format supported

v4l2-ctl --list-formats-ext
Check the video format supported1

5.Display images in real time

If accessing Jetson via remote software (e.g., MobaXterm), the following command (executed only once) is required to display the image.

export DISPLAY=:0.0

Enter program directory: 

cd MIPI_Camera/Jetson/Jetvariety/example/

OV5647 currently supports the following commands:

#RAW8

python3 arducam_displayer.py -f BA81 --width 5184 --height 1944 -d 0 --fps

#RAW10

python3 arducam_displayer.py -f Y16 --width 5184 --height 1944 -d 0 --fps

BA81 for RAW8 and Y16 for RAW10.

-width and -height indicate the width and height of the input image.

–fps means to display the current frames. If you don’t want to display frames, you can remove this command parameter.

For example, execute the following command:

python3 arducam_displayer.py -f BA81 --width 5184 --height 1944 -d 0 --fps
Display images in real time1
Display images in real time2 ov5647 stereo camera

NOTE

Display resolution settings may affect the frames displayed.

Press Ctrl+C to exit image display.

Dropped frame?

Select Arducam/arducam_displayer.py, right-click on “open with Text Editor“.

dropped frame1

The circled value below represents the number of column in the display resolution. Try making the value lower if the frame is dropped.

dropped frame2

Even if the display resolution is reduced, dropped frames may still exist due to the platform performance.

It is possible to test the actual input frames by only receiving data without displaying the image.

#RAW8

v4l2-ctl --set-fmt-video=width=5184,height=1944,pixelformat='BA81' --stream-mmap --stream-count=-1 -d /dev/video0

#RAW10

v4l2-ctl --set-fmt-video=width=5184,height=1944,pixelformat='Y16 ' --stream-mmap --stream-count=-1 -d /dev/video0
only receiving data without displaying the image.

Display the Image via VLC Media Player

1.Install VLC media player

sudo apt-get install vlc

2.Display the image

Open VLC media player

VLC media player

Press Ctrl+C

display1

Video device name】→ select “/dev/video0“→ click 【Play】.

display2
OV5647 stereo camera

It may be stuck due to player performance.

Application Note

Use with Arducam USB2.0 Camera Shield

columnrawFPSbandwidths/MB
256080054.0105.5
256080021.041.0

The USB2.0 Camera Shield has a small bandwidth (around 40MB) and requires frame skipping to produce images (16.8fps original, 4.2fps after frame droppinging).

Please strictly follow the installation and operation order below, otherwise errors will occur!

1.Download File here.

2.Connect the camera module to the HAT then connect HAT to the USB Camera Shield in the case of a total power failure.

3.Power the HAT through micro USB port,then power the USB Camera Shield.

4.Run USBTest

USB test

5.Scan and select the camera device number

scan and select device0

6.Select CfgFile

Download the CfgFile here.

7.Click 【load】- Click【open】

8.Power down the HAT then power the HAT.

9.Click【play】

usb2 camera shield ov5647 stereo camera

Using Arducam Camarray on ROS

Please refer to this page:

Using Arducam Camarray on ROS

Was this article helpful to you? Yes No