# 5. Camera Integration

### 5.1 Supported Cameras Matrix

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

<table><thead><tr><th width="177.428466796875">Camera</th><th width="137.000244140625">Interface</th><th width="114.9996337890625">Status</th><th>Notes</th></tr></thead><tbody><tr><td>OV9281</td><td>CSI 2-lane</td><td><mark style="color:$primary;background-color:$primary;"><strong>Default</strong></mark></td><td>Enabled by default in standard flash</td></tr><tr><td>IMX477</td><td>CSI 2-lane /<br>4-lane</td><td><mark style="color:$primary;background-color:$primary;"><strong>Default</strong></mark></td><td>Enabled by default; 4-lane on DCS2</td></tr><tr><td>IMX219</td><td>CSI 2-lane</td><td><mark style="color:$success;background-color:$success;"><strong>Supported</strong></mark></td><td>Config_6 required; use dtb from Airvolute (see below)</td></tr><tr><td>Allied Vision Alvium</td><td>CSI 4-lane</td><td><mark style="color:$success;background-color:$success;"><strong>Supported</strong></mark></td><td>Config_7 (AVT config); 2-lane on DCS1, 4-lane on DCS2</td></tr><tr><td>e-con CAM80_CUNX</td><td>CSI</td><td><mark style="color:$success;background-color:$success;"><strong>Supported</strong></mark></td><td>e-con driver also supports eimx290, ar0521, eimx415</td></tr><tr><td>e-con<br>e-CAM25_CUONX</td><td>CSI</td><td><mark style="color:$warning;background-color:$warning;"><strong>Not supported</strong></mark></td><td>Different sensor from supported CAM80; DIY driver integration required</td></tr><tr><td>FLIR Hadron 640R</td><td>CSI + USB</td><td><mark style="color:$success;background-color:$success;"><strong>Supported</strong></mark></td><td>G-Hadron adapter board required; EXT_VSYNC available via jumper pads</td></tr><tr><td>FLIR Boson (standalone)</td><td>USB</td><td><mark style="color:$warning;background-color:$warning;"><strong>Not supported</strong></mark></td><td>Standard Linux USB camera integration; not an Airvolute camera</td></tr><tr><td>Sony ILX-LR1 /<br>IP cameras</td><td>Network /<br>USB</td><td><mark style="color:$info;background-color:$info;"><strong>Customer integration</strong></mark></td><td>No device tree required if stream is not opened on Jetson</td></tr></tbody></table>

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):

```
sudo cp tegra234-p3767-0000-p3509-a02.dtb /boot/dtb/tegra234-p3767-0000-p3509-a02.dtb
```

4. Reboot. The nv\_imx219 kernel module will load automatically.
5. Verify: ls /dev/video\*

{% hint style="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.
{% endhint %}

***

### 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)

```
# Basic display pipeline (HDMI out)
gst-launch-1.0 nvarguscamerasrc sensor-id=0 \
  ! 'video/x-raw(memory:NVMM),width=1920,height=1080,framerate=30/1' \
  ! nvvidconv ! nvdrmvideosink
 
# UDP stream to GCS
gst-launch-1.0 nvarguscamerasrc sensor-id=0 \
  ! 'video/x-raw(memory:NVMM),width=1280,height=720,framerate=30/1' \
  ! nvvidconv ! nvv4l2h265enc ! rtph265pay ! udpsink host=192.168.1.100 port=5600
```

#### 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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.airvolute.com/hidden-wip/discord-export/5.-camera-integration.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
