Two Arducam AR0234 cameras not working simultaneously on Jetson Orin Nano

I’m having trouble running two Arducam 2.3MP AR0234 Color Global Shutter Cameras on my Jetson Orin Nano Developer Kit (purchased from Botland, order #1617145). Only one camera works at a time. I’ve updated the drivers on both the Jetson and the cameras but still no luck. I’ve never been able to get both working simultaneously. Any ideas?

Thanks for reaching out and for sharing your order details. This is a known limitation with the Jetson Orin Nano Developer Kit. The issue isn’t with your cameras or the driver itself—it’s actually a hardware limitation of the dev kit carrier board.

The CAM0 interface (closest to the power jack) is fully supported by the Jetvariety drivers and NVIDIA’s BSP, but the CAM1 interface on the official dev kit is not properly routed for this class of camera module. The carrier board has asymmetrical support across its CSI interfaces, so running two independent camera streams using nvarguscamerasrc on both CAM0 and CAM1 simultaneously isn’t possible with the standard setup.

That’s frustrating to hear. So there’s no way to get two independent cameras working on this dev kit? My application needs one camera pointing forward to detect QR codes and another pointing downward to detect QR codes—they run two different algorithms, so they don’t need to be synchronized or anything like that. I saw this blog post about multi-camera modules (https://blog.arducam.com/multi-camera-solutions-for-nvidia-jetson-nano/) and was wondering if those would work on CAM0?

I understand your use case—completely independent QR code detection, no stereo vision needed. Unfortunately, the CSI adapter/HAT solution mentioned in that blog post has been discontinued for some time and is no longer available. The underlying issue is that CSI adapter limitations and Device Tree modifications on the Orin Nano make dual-CSI-camera setups very difficult.

For your specific “Dual-QR Detection” project, I’d recommend a different approach: use two Global Shutter USB (UVC) cameras instead. We have OV2311 or AR0234 USB modules that would work perfectly. Each camera shows up as a separate device (e.g., /dev/video0 and /dev/video1), so your two algorithms can access and control their respective cameras independently without any performance interference. USB cameras are plug-and-play, avoiding all those CSI lane limitations and specialized driver headaches. The Orin Nano has high-speed USB ports that can easily handle two simultaneous Global Shutter streams at high framerates.

That sounds promising. But I already have one of the AR0234 CSI cameras running on a CAM port. Could I get the AR0234 USB module and run it alongside my existing CSI camera? So I’d have one camera on the CSI port and one USB camera running at the same time—would that work?

Yes, absolutely—that’s actually a very popular and stable setup. Running a CSI camera alongside a USB (UVC) module works great on the Jetson Orin Nano. Here’s why:

  1. No hardware conflict: One camera uses the CSI (MIPI) bus and the other uses the USB bus, so they’re on completely separate hardware paths. The Jetson’s CPU/GPU can handle data streams from both buses simultaneously.

  2. Separate software stacks: Your existing CSI camera continues to be managed by the NVIDIA/Arducam Jetvariety driver. The AR0234 USB module is a standard UVC device that works out of the box with the native Linux kernel driver—no additional drivers needed.

  3. Independent operation: You’ll see them as /dev/video0 (CSI) and /dev/video1 (USB) or similar, and each can be accessed by a different process without interfering with the other.

So you can keep your current CSI camera on CAM0 for one direction (say, forward-facing) and add the AR0234 USB module for the other direction (downward-facing). This completely bypasses the dev kit’s limitation of only having one fully functional CSI slot for specialized cameras.