Hi, I’m stuck with the ArduCAM IMX477 camera for the Jetson Nano. The Nano just won’t recognize the camera at all. I’ve double-checked the physical connection and it looks right to me. I’m on a completely stock Nano — nothing modified. Not sure where to even start debugging this.
Thanks for posting. Based on what you’re describing, the physical connection should be fine, which points us toward software or cable orientation. I’ve sent you some reference images via private message showing the ribbon cable at both ends — the camera side and the Jetson Nano side. Please compare your connection against those. Also, which JetPack version are you running and which carrier board are you using?
Thanks. Two things I need: 1) which way does the cable go on the camera side, and 2) exact step-by-step instructions to get this working on a stock Jetson Nano. I’d rather not follow the website docs because they seem inconsistent. My setup: stock Jetson Nano as purchased. The only other machine I have is a Raspberry Pi running Ubuntu 22.04, and the camera isn’t connected to it. I also looked into TeamViewer so you could take a look, but the installer looks like x86 software and I couldn’t find one that runs on the Nano. Honestly I’d rather sort this out with instructions than remote access anyway.
Check your private messages — the reference images should answer the cable orientation for both ends. As for TeamViewer, it can be installed on the Jetson Nano even though the download page looks x86-focused; I’ve sent the remote support details privately if you want to go that route. But before that, when you boot the stock Nano with the camera connected, what exactly happens? Does it just not appear, or do you get errors?
Quick update after a full day of testing. I actually have two carrier boards: the original NVIDIA B01 carrier and a brand new Waveshare carrier. On the B01 carrier, the Nano reboots whenever I try to access the camera. I also found one of the camera connectors on the carrier was bad, so I moved the camera to the good connector. On the Waveshare board, /dev/video0 actually shows up, but I can’t get any image out of it no matter what I try. So the camera fails on both boards.
That’s really helpful. One heads-up: the IMX477 module isn’t guaranteed to work on third-party carrier boards like the Waveshare — those differ from the official NVIDIA carrier. For the B01 board that reboots, I’d like photos of both ends of the ribbon cable plus a diagnostic report. Please run this on the Nano:
wget -O arducam-camera-bug-report-nvidia https://github.com/ketai-dhr/arducam-camera-bug-report/releases/download/tools/arducam-camera-bug-report-nvidia
chmod +x ./arducam-camera-bug-report-nvidia
./arducam-camera-bug-report-nvidia
That generates arducam-bug-report.txt in the current directory — attach it here.
I already ran those steps. But I have to push back on something: why would the ArduCAM camera be incompatible with third-party carrier boards at all? CSI is a hardware standard — the interface should be identical no matter which carrier board you use. My suspicion is the incompatibility comes from the ArduCAM-provided drivers, not the CSI interface itself. What specifically breaks on the Waveshare board?
Fair question, and I’ll explain the carrier board side properly once we have your logs. For now, could you attach the actual arducam-bug-report.txt so I can see the kernel messages and device tree? Without that report or remote access I’m working blind and can’t isolate whether the issue is on the Nano, the carrier board, or the camera.
I’ve since tried a second camera unit and it behaves exactly the same — so it doesn’t look like a bad camera. I’ll generate the bug report again once I have the camera reconnected and send it over. But my question about what makes these cameras incompatible with the Waveshare board is still unanswered.
The second unit behaving identically strongly suggests the camera hardware itself isn’t the fault. I still need that bug report to move forward — it captures the device tree and driver state at boot. While you’re at it, have you tested any other camera on either of the two carrier boards? That would tell us whether this is specific to the IMX477 module or something board-level.
I’ll get you the report when the camera is reconnected. To be clear: I still haven’t gotten an answer on what makes ArduCAM cameras incompatible with Waveshare carrier boards. Since you’ve said that board is incompatible, I’m not going to keep testing with it. The only camera I care about is the IMX477 with the automatic IR-cut filter — if it can’t work on my hardware, including the NVIDIA B01 carrier, I’ll have to look at another manufacturer. And no, I haven’t tried any other cameras on either board.
Let me answer the incompatibility question directly. The IMX477 module is designed and validated against the official carrier board. Third-party boards like the Waveshare can differ in both hardware routing and software implementation. Each third-party carrier has its own device tree, and we don’t have the Waveshare device tree — so we can’t guarantee or support the camera on that platform. The CSI interface is standard, but the device tree and lane mapping still have to match what the driver expects, which is where third-party boards often diverge. On your B01 board, the reboot is a different symptom, and that’s what the bug report will help us diagnose.
I now have two expensive cameras I can’t use. And why aren’t the IMX477 drivers and related software available on ArduCAM’s GitHub? I’m not going to buy another Jetson Nano Developer Kit just to use these cameras. Is the Waveshare device tree really the only thing missing to support that board, or is there more to it?
To summarize where things stand: the camera is currently only supported on the official carrier board. We can’t guarantee that the device tree on third-party boards like the Waveshare matches the official board, and providing support for the camera on those boards falls on the third-party carrier manufacturer. We don’t have access to the Waveshare device tree, so we can’t provide support for it today — third-party board support may be added gradually in the future. For your setup, the realistic paths forward are to test the camera on an official carrier board (which should confirm the module itself works) or reach out to the Waveshare manufacturer for their camera support on that board.