Hey everyone, I’m stuck trying to get two Arducam TOF cameras working simultaneously on my Jetson setup. Here’s what I’m running:
NVIDIA Jetson Dev Kit with ORIN NX 16GB
JetPack 6.2.1
Two Arducam TOF cameras connected via 2-lane MIPI CSI to cam0 and cam1 ports
I’m using the preview_depth.py script from the official Arducam TOF camera repo. When I open the first camera with:
ret = cam.open(ac.Connection.CSI, 0)
It streams perfectly fine. But when I try to open the second camera with cam.open(ac.Connection.CSI, 1) or even index 2, the call just hangs and all I get are black frames. Only camera index 0 ever works.
Both cameras are physically connected properly as far as I can tell. Has anyone run into this before?
Disconnected one camera and tested each camera solo — both work perfectly fine on their own, streaming normally.
Swapped the ribbon cables and the CSI ports around — same behavior persists. The camera on cam0 always works, the one on cam1 never does when both are connected.
Tried passing index 1 and index 2 to cam.open() — neither changes anything. Still only the first camera streams, the second instance hangs.
I’m pretty confident this isn’t a hardware issue at this point. The cameras and cables are fine. Feels like something in the driver or the MIPI pipeline isn’t handling the second camera correctly on this platform.
Your troubleshooting has been really methodical — that rules out a lot. And unfortunately, I think you’ve already found the answer through the process of elimination.
This is actually a known limitation with the Arducam TOF camera driver on the Jetson Orin NX platform. The driver currently only supports a single TOF camera instance, and it’s tied to the cam0 port. Even though the hardware and CSI subsystem on the Orin NX are technically capable of handling multiple MIPI streams, the TOF driver itself hasn’t been extended to manage a second camera instance on this specific platform.
So what you’re seeing — first camera works, second hangs with black frames regardless of index or port — is expected behavior given the current driver state.
Well, that’s disappointing but makes sense given everything I tried. Is there any workaround at all? Maybe a device tree overlay I can apply, or some alternative configuration that could route the second camera through a different pipeline? I saw some multi-camera examples in other Arducam repos but nothing specific to the TOF camera on Orin NX.
I completely understand the frustration. To answer your questions directly:
There are no device tree overlays or alternative configurations that would enable a second TOF camera stream on the Orin NX at this time.
The multi-camera examples you’ve seen in other Arducam repos don’t apply here — those are for different camera modules with different driver stacks. The TOF camera uses its own driver that simply hasn’t been built out for multi-instance support on this platform yet.
So unfortunately, there’s no workaround right now. Running two TOF cameras simultaneously on Jetson Orin NX isn’t possible with the current driver. This isn’t a hardware defect or anything you’ve misconfigured — it’s purely a software/driver limitation.
That said, your detailed report (the testing you did, the JetPack version, the specific behavior with different indices) has been really helpful. I’ve added it to our internal feature request tracker so the engineering team has a solid reference when prioritizing multi-camera TOF support in a future development cycle. I can’t give a timeline, but you’re not the only one asking for this and your report helps build the case.