Arducam IMX519 CSI camera not detected on Jetson Xavier NX (JetPack 5.1.2)

Hey everyone, I’m trying to get an Arducam 16MP IMX519 (Sony IMX519 sensor) working on my NVIDIA Jetson Xavier NX Developer Kit via the CSI connector, but the system just doesn’t see it at all.

Running v4l2-ctl --list-devices shows nothing related to the IMX519. Checked dmesg and there’s absolutely no mention of the sensor being registered during boot or when I connect it.

The camera itself is fine — I tested it on a Raspberry Pi 4 with libcamera and the imx519.dtbo overlay and it works perfectly there. So it’s not a hardware fault with the camera module.

I’m on JetPack 5.1.2 (L4T R35.4.1), Ubuntu 20.04. I’m building a real-time crop analysis system for autonomous farming using OpenCV and TensorFlow, so getting this camera working is pretty critical.

Anyone know what’s going on? Do I need a specific driver for the IMX519 on Jetson?

The IMX519 isn’t plug-and-play on Jetson like it is on Raspberry Pi — you need to install the Arducam driver for it to register with the V4L2 subsystem.

Give this a try. Run the MIPI_Camera install script:

cd ~
wget https://github.com/ArduCAM/MIPI_Camera/releases/download/v0.0.3/install_full.sh
chmod +x install_full.sh
./install_full.sh -m imx519

That should pull down the appropriate driver package for your L4T version and set everything up. Full guide is here: Quick-Start-Guide - Arducam Wiki

Let me know how it goes or what output you get.

Alright, ran the script but it failed. Here’s the output:

Cannot find the corresponding deb package, please send the following information to [email protected]

It also dumped some system info:

  • Kernel version: 5.10.216-tegra-35.6.3-20250919144642
  • Jetson type: NVIDIA Jetson Xavier NX Developer Kit
  • L4T version: R35.6.3

Huh, looks like my L4T actually updated to R35.6.3 at some point — I originally thought I was on R35.4.1. Kernel is 5.10.216-tegra now.

Is the script just not recognizing this L4T version? What do I do now?

Yeah, that’s the issue — the v0.0.3 release of the install script doesn’t have a pre-built .deb package for L4T R35.6.3 with kernel 5.10.216-tegra. That’s why it’s failing to find a match.

Before I go further down the driver compatibility rabbit hole, could you post some photos of your Jetson board — both front and back? I want to verify the exact hardware platform we’re dealing with here. Sometimes what people have doesn’t quite match what they think they have, and that can cause all sorts of problems with these camera drivers.

Sure, here are photos of my Jetson device:

Front:
front

Back:
back

Let me know if you spot anything.

Thanks for the photos — and I think I’ve found the problem.

Here’s the thing: what you’re using is a third-party carrier board, not an NVIDIA official Jetson Xavier NX Developer Kit carrier board. Looking at the board layout, the CSI connector routing, and the overall PCB design, this isn’t the reference design from NVIDIA.

I’ve marked up what I’m seeing:

board comparison
board comparison

This is the root cause of your issue. The Arducam camera drivers and the MIPI_Camera install scripts are developed and tested specifically against NVIDIA’s official development kit carrier boards. Third-party boards often use different CSI pin mappings, different I2C bus assignments, different power delivery for the camera connector, or different device tree configurations — any of which can prevent the camera from being detected.

There’s no amount of driver fiddling that will fix this if the hardware-level CSI/I2C paths don’t match what the driver expects. That’s why it works fine on your Raspberry Pi (standardized CSI pinout there) but is completely invisible on this board.

Your path forward is to get hold of an NVIDIA official Jetson Xavier NX Developer Kit carrier board. Once you have that, the driver installation should work as expected:

cd ~
wget https://github.com/ArduCAM/MIPI_Camera/releases/download/v0.0.3/install_full.sh
chmod +x install_full.sh
./install_full.sh -m imx519

With the official carrier board, the CSI lanes, I2C bus, and power rails will match what the Arducam driver and device tree expect, and the camera should show up in v4l2-ctl --list-devices and dmesg after a reboot.

Out of curiosity, what carrier board is that exactly? Might be useful for others who run into the same situation.