Hi everyone, I’m trying to use an Arducam 12MP IMX477 motorized focus HQ camera (SKU B0273) on a Jetson Nano. Looking at the Arducam docs, it says the native drivers aren’t compatible with the newer L4T kernels (anything above 32.7.3). That version is over 6 months old now, and some of my use cases really need a newer L4T kernel. Is there any timeline for Arducam updating its native IMX477 drivers for newer L4T versions? Or am I stuck on 32.7.3?
Welcome to the forum. To help narrow this down, could you share a bit more about your setup? Specifically: which dev board (Jetson Nano 2GB or 4GB?), the exact SKU of the camera if you have it, and which L4T version you’re actually on or targeting. Also, have you tried anything so far, or are you still in the planning stage?
Thanks for the quick reply. I’m on a Jetson Nano dev board (4GB), camera is the Arducam 12MP IMX477 motorized focus HQ camera, SKU B0273. I was planning to run an L4T newer than 32.7.3 — probably 35.x — because the project needs a newer kernel. I haven’t actually flashed or tried the camera driver yet; I wanted to check compatibility first before setting everything up.
Got it, that’s useful context. So the short answer on the Arducam native driver: for the B0273, the Arducam drivers are not compatible with L4T kernels newer than 32.7.3, and I don’t have a timeline for when those will be updated. That part of the docs you found is current. The good news is you don’t have to stay on 32.7.3. For newer L4T kernels, the recommended path is to use the NVIDIA native camera driver for the B0273 instead of the Arducam native driver. The IMX477 sensor is supported natively by Jetson, so you just need to enable the native imx477 driver.
That’s a relief. So how exactly do I switch to the NVIDIA native imx477 driver on a newer L4T build? Do I need to do anything special during the flash, or is it a config step after the system is up?
You enable the native imx477 driver through Jetson IO. The steps are covered in Arducam’s application note: Jetson-io - Arducam Wiki
Once your Nano is flashed and booted with the newer L4T, run:
sudo /opt/nvidia/jetson-io/jetson-io.py
Then select the IMX477 camera option so the system configures the native driver. After that, it should probe the camera with the native driver instead of Arducam’s.
Perfect, that’s much simpler than I expected. Just to confirm my understanding: I should skip the Arducam native driver entirely on L4T 35.x, and only use the Jetson IO native imx477 option for the B0273, right? Also, does the motorized focus still work when using the native driver?
Correct — for the B0273 on newer L4T kernels, skip the Arducam native driver and use the NVIDIA native imx477 driver via Jetson IO. That’s the current recommended workaround while Arducam’s native drivers remain incompatible with L4T > 32.7.3. On the motorized focus question: the native driver handles the sensor/streaming side. The focus motor is typically a separate control, so I’d test that once the camera is detected. If anything behaves oddly after enabling the native driver, post back with the output of dmesg and we can dig in.