5. Camera Integration

5.1 Supported Cameras Matrix

The following table reflects the accurate camera support status as of JetPack 5.1.2:

Camera
Interface
Status
Notes

OV9281

CSI 2-lane

Default

Enabled by default in standard flash

IMX477

CSI 2-lane / 4-lane

Default

Enabled by default; 4-lane on DCS2

IMX219

CSI 2-lane

Supported

Config_6 required; use dtb from Airvolute (see below)

Allied Vision Alvium

CSI 4-lane

Supported

Config_7 (AVT config); 2-lane on DCS1, 4-lane on DCS2

e-con CAM80_CUNX

CSI

Supported

e-con driver also supports eimx290, ar0521, eimx415

e-con e-CAM25_CUONX

CSI

Not supported

Different sensor from supported CAM80; DIY driver integration required

FLIR Hadron 640R

CSI + USB

Supported

G-Hadron adapter board required; EXT_VSYNC available via jumper pads

FLIR Boson (standalone)

USB

Not supported

Standard Linux USB camera integration; not an Airvolute camera

Sony ILX-LR1 / IP cameras

Network / USB

Customer integration

No device tree required if stream is not opened on Jetson

CSI interface count: DCS2 Pilot supports 2× 2-lane CSI and 1× 4-lane CSI. The 4-lane connector cannot be split into two 2-lane connections. The documentation listing 4 CSI cameras is incorrect.


5.2 IMX219 Camera Setup

The IMX219 is not active in the default flash. To enable it:

  1. Flash with the standard config (not the AVT config): python3 dcs_deploy.py flash orin_nx 512 2.0 nvme full

  2. Download the pre-compiled IMX219 device tree binary from Airvolute support (tegra234-p3767-0000-p3509-a02.dtb for CAM0 connector)

  3. Place the file in /boot/dtb/ (not /boot/ — a common mistake):

  1. Reboot. The nv_imx219 kernel module will load automatically.

  2. Verify: ls /dev/video*

circle-info

Note:

Do not use /opt/nvidia/jetson-io/jetson-io.py for camera configuration — this tool is not supported on DroneCore boards and will not work correctly.


5.3 GStreamer Pipeline Quickstart

GStreamer is the recommended framework for camera streaming and processing on the Jetson. Three approaches in order of complexity:

CLI (prototyping)

Python (moderate control)

Use the GStreamer Python bindings (gst-python) with GstApp or appsink to access individual frames for processing with OpenCV. Attach a probe callback to the pipeline to overlay text or shapes.

C++ (production)

Use the GStreamer C API for lowest latency. Refer to NVIDIA's Accelerated GStreamer documentation and the av-stribog-cam repository (gitlab.com/airvolute_oss/dronecore.os/av-stribog-cam) for reference implementations.


5.4 FLIR Hadron EXT_VSYNC Hardware Trigger

The Hadron expansion board provides access to the EXT_VSYNC pin for hardware-triggered image capture. This pin is not labelled on the expansion board silkscreen. To enable it:

  • Locate the two solder pads on the expansion board that enable EXT_VSYNC (consult the 3D model in the Hadron adapter documentation — pads are marked in the top-facing view)

  • Bridge the pads with a solder jumper

  • The EXT_VSYNC signal is then accessible on the EO connector and the Boson connector as labelled in the 3D model detail views

Last updated