Need dtsi file for ArduCam B0223 (OV9281) on Jetson Orin Nano with Jetpack 6.2

Hi everyone, I’m trying to get an ArduCam B0223 camera module (OV9281 sensor) working with a Jetson ORIN NANO running Jetpack 6.2. Does anyone have a working dtsi file for this setup? I’d also be okay dropping to an earlier Jetpack version if that helps. Haven’t started any integration yet — just looking for the right device tree files to get going.

I’ve put together a patch file for the B0223 on Jetson Orin that should help. I’ve sent it over via private message — go ahead and grab it from there when you get a chance.

Got it, thanks! I’ll take a look through the patch and report back once I’ve had a chance to apply it.

Okay, here’s what I did:

  1. Applied the patch you sent over.
  2. Rebuilt the kernel following NVIDIA’s official guide for Jetpack r36.4: Kernel Customization — NVIDIA Jetson Linux Developer Guide 1 documentation
  3. Installed the rebuilt kernel on the Jetson ORIN NANO.

But when I inspect the resulting .dts file, there’s no sign of any ArduCam references in there at all. It’s like the patch changes never made it into the final device tree.

Am I missing a step in the build process to actually get your changes picked up? This is my first time doing kernel-level integration on the Jetson platform, so I might be overlooking something obvious.

Before diving deeper — what carrier board are you using? Just want to clarify because our patches and documentation are designed around the official NVIDIA Jetson development kits. If you’re on a third-party carrier board, the device tree structure may differ significantly, and the patch might not apply cleanly or get included the way you’d expect on a dev kit.

That’s a fair question. I’m actually working with a production Jetson Orin Nano module, not the dev kit. It’s on a custom carrier board for our application.

But stepping back — even with a custom carrier, shouldn’t the patch still inject the ArduCam node into the device tree during the build? I followed the NVIDIA kernel customization guide to the letter: applied the patch, rebuilt, flashed. The kernel itself compiled fine with no errors. But the .dts output has zero ArduCam entries.

Is there some separate DTS file install step or overlay mechanism I’m supposed to trigger manually that I might have missed? I’m wondering if the patch is being applied in the source tree but the build system isn’t pulling it into the final compiled device tree for my board configuration.

Unfortunately, integrating ArduCam drivers with third-party carrier boards falls outside what we can support directly through our standard channels. Our patches, documentation, and testing are all done against the official NVIDIA Jetson development kits — the carrier board’s device tree structure, pinmux configuration, and I2C bus topology can all differ on a custom board, and those differences will prevent a dev-kit-targeted patch from translating cleanly.

In general, what you’d need to do is manually port the relevant ArduCam device tree nodes into the specific .dts/.dtsi files that correspond to your custom carrier board — the patch won’t automatically map to a board config it wasn’t written for. You might also want to check that your build configuration is actually selecting the right top-level .dts file for your board, since the kernel build system only compiles what the defconfig or make target specifies.

I wish I could give you a more concrete step-by-step, but beyond the official NVIDIA dev kit path, it really becomes a board-specific integration effort.