ArduCam IMX477 installation fails with DTB not found on Jetson Orin NX 16GB

Struggling to get my ArduCam IMX477 12MP (B0250) working on a Jetson Orin NX 16GB. Every time I run the install script it fails with a ‘No DTB found’ error. I’m on JetPack 5.1-b147 / L4T 35.2.1 and followed the ArduCam Native Camera Quick Start Guide. Ran ./install_full.sh -m imx477 and it just dies partway through. Any ideas?

Thanks for the details. Could you paste the exact commands you ran and the full error output from the terminal? The DTB error usually points to the hardware detection step, but the full traceback will confirm where it’s going wrong.

Sure, here’s what I ran:

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 imx477

I was following this guide: Quick-Start-Guide - Arducam Wiki

And here’s the full output when it fails:

Traceback (most recent call last):
  File "/opt/arducam/jetson-io/config-by-hardware.py", line 125, in <module>
    main()
  File "/opt/arducam/jetson-io/config-by-hardware.py", line 94, in main
    jetson = board.Board()
  File "/opt/arducam/jetson-io/Jetson/board.py", line 230, in __init__
    self.dtb = _board_get_dtb(self.compat, self.model, dtbdir)
  File "/opt/arducam/jetson-io/Jetson/board.py", line 114, in _board_get_dtb
    raise RuntimeError("No DTB found for %s!" % model)
RuntimeError: No DTB found for NVIDIA Orin NX Developer Kit!
An unknown error occurred while installing dtoverlays.
dpkg: error processing package arducam-nvidia-l4t-kernel (--install):
installed arducam-nvidia-l4t-kernel package post-installation script subprocess returned error exit status 255
Errors were encountered while processing:
arducam-nvidia-l4t-kernel
Unknown error, please send the error message to [email protected]

Thanks, that’s useful. What’s happening is the post-installation script runs config-by-hardware.py, and when it builds the board object it calls _board_get_dtb. It’s detecting the model string ‘NVIDIA Orin NX Developer Kit’, but there’s no matching DTB available in the package for it, so it raises RuntimeError and the dpkg postinst script returns exit status 255. Before we go further, could you post front and back photos of your board and let me know what’s connected on the bottom?

I’ve attached the photos. On the bottom I have a 128GB SSD connected and a WiFi card connected. The ribbon cable shown is the one going to the IMX477.

One thing confusing me though: on the HDMI-to-ribbon connector there’s a small black knob/lever kind of thing. Does that look correct? What is that for?

That little black piece on the HDMI-to-ribbon adapter is most likely the latch for the FPC ribbon connector — it flips up to release the cable and presses down to lock it in place. Make sure the ribbon is fully seated and the latch is pushed down/clipped so it holds snugly.

Looking at the photos, I’m not 100% sure about the carrier board though — it doesn’t look like the stock NVIDIA dev kit carrier. Can you confirm the exact board model?

I looked it up and it’s a Seeed Studio reComputer J4012. Here’s the link: https://www.seeedstudio.com/reComputer-J4012-p-5586.html

That page has clearer board pictures and diagrams if it helps.

Thanks for confirming. Looking at the photos, that’s a third-party carrier board (the Seeed Studio reComputer J4012). We can’t confirm compatibility with some ArduCam cameras on that carrier, so we can’t say for sure whether the issue is with the camera or the platform.

The best test is to put the IMX477 on the official NVIDIA Jetson development kit carrier and run the same install. If it fails there too, let us know and we’ll dig further. If it works there, the problem is with the third-party board.

So you don’t want to sell or support these cameras with Seeed Studio Jetson boards? Seeed is pushing these boards pretty aggressively, so it would be nice to know they’re actually supported. Kind of leaves me in a tough spot here.

Fair point, and I’ve passed that feedback along for us to evaluate. Right now though, we can’t provide support for third-party carrier boards, and the supported path for verification is still the official NVIDIA Jetson development kit. If the camera checks out on the official carrier, that at least confirms the camera hardware itself is fine.