Hi, I’m trying to get an Arducam AR0234 MIPI camera working on a Jetson Orin NX 16GB mounted on a Forecr DSBOARD-ORNX carrier board. I’m on Jetpack 5.1 / L4T 35.3.1, kernel 5.10.104-tegra-35.3.1-20230319081403. I followed the quick start guide and ran:
The installer fails with “Cannot find the corresponding deb package” for that kernel. I also tried manually placing driver files from the Arducam debian packages for Jetson Orin and Jetson Nano, rebooted, but there is no i2c communication with the AR0234 and nothing shows up on the i2c bus. I suspect the device tree files for this third-party carrier board are the problem. Do I need an intermediate adapter circuit board for the Orin NX i2c bus? Are there AR0234 breakout boards? How do I modify/exchange device tree files on a non-NVIDIA carrier board?
On the triggering side: the AR0234 supports 1.8V trigger injection at the camera board (I believe this is the XVS pin). Can the 22-pin CSI FPC connector be used to trigger image acquisition? Is it possible to inject a higher-voltage ~3V trigger, and is there a breakout board for a 3V trigger?
Thanks for the report. Can you paste the exact installer output and confirm the environment details? The “Cannot find the corresponding deb package” error usually means the script can’t match your kernel to a prebuilt package. Please include the kernel version and Jetson type exactly as the installer prints them, plus the L4T version and carrier board model.
Carrier board: Forecr DSBOARD-ORNX (NVIDIA Jetson Orin NX / Orin Nano carrier)
Camera: Arducam AR0234 MIPI sensor module
Kernel: 5.10.104-tegra-35.3.1-20230319081403
L4T: 35.3.1
Jetson type: Orin NX 16GB for DSBOARD-ORNX
The installer output was:
Cannot find the corresponding deb package, please send the following information to support
Kernel version: 5.10.104-tegra-35.3.1-20230319081403
Jetson type: Orin NX 16GB for DSBOARD-ORNX
Looking at that log, kernel 5.10.104-tegra-35.3.1-20230319081403 is not in the supported Kernel List (https://github.com/ArduCAM/MIPI_Camera/releases/download/v0.0.3/arducam_links.txt). That is why install_full.sh cannot find a matching deb package. On top of that, the Forecr DSBOARD-ORNX is a third-party carrier board, so its device tree files are not covered by the standard installer assumptions.
Manually placing driver files from the Jetson Orin and Jetson Nano debian packages is not a reliable fix; those packages were built for different kernels/device trees. That explains why the AR0234 does not appear on the i2c bus even when the camera is connected before boot.
For the trigger questions: the AR0234 supports a 1.8V external trigger at the camera board on the XVS pin. None of the 22 pins on the CSI FPC connector are reserved for direct trigger use. A ~3V trigger would require you to make a level converter yourself, and there is no breakout board for a 3V trigger.
Understood. I did have the camera connected before booting, but still no i2c devices on the bus. I was considering flashing an older Jetpack version to get a supported kernel. Before I go that route, is there any supported way to make the current kernel work, or to adjust the device tree files for the DSBOARD-ORNX myself?
Editing or modifying the automated driver installation script is not compliant with the standard install process and may not successfully install the camera driver on the Jetson. The root cause is twofold: no corresponding deb package exists for kernel 5.10.104-tegra-35.3.1-20230319081403, and the Arducam driver does not yet support tegra-35.3.1-xxx. The third-party carrier board device tree files also prevent the standard installation script from working and prevent i2c communication with the AR0234.
Right now the supported paths are: (1) flash the Jetson to a Jetpack version that is in the supported list, or (2) use the customization route where driver source code can be provided after signing an NDA so you can adapt it to your board.
Okay, I want to sign the NDA and get the Arducam driver source code so I can adapt it to the Orin NX third-party carrier board. I understand the configuration details will need to be worked out together with Forecr as the carrier board manufacturer. How do I get the NDA documents?
I have sent the NDA documents and next steps to you through private message. Please check your messages. Once the NDA is signed, we can share the driver source code for customization.
Just to restate the trigger limits: the camera board only supports 1.8V trigger injection via XVS. There is no CSI-pin triggering, and a 3V trigger would need a custom level converter. No breakout board is available for that.
Got it, I will check my private messages for the NDA docs and coordinate the device tree/configuration work with Forecr. In the meantime, until the L4T 35.3.1 driver is released, is flashing back to a supported Jetpack version the only immediate option to get the camera running?
Yes, that is the quickest immediate option. The Jetvariety camera driver for L4T 35.3.1 was planned for release around June 2023, but until then, flashing the Jetson to a Jetpack version in the supported list is recommended: Introduction to Arducam Jetson Cameras - Arducam Wiki
After flashing, follow the quick start guide again:
Summary: your kernel tegra-35.3.1-20230319081403 has no matching deb package, and the Forecr DSBOARD-ORNX device tree is not supported by the standard install. Manual file placement will not bring up i2c with the AR0234. The current workarounds are flashing a supported Jetpack now, waiting for the 35.3.1 driver, or proceeding with the NDA source/customization route. Triggering is limited to 1.8V on XVS; any 3V or CSI trigger would require a custom level converter.