Two Arducam IMX477 cameras (CSI and USB) not working with converter cables

Hi all, I’m fighting a recurring ‘protocol error’ on my Arducam IMX477 USB camera (B0280) connected to an Orin Nano. Every time I try to capture a single image or record video it throws the error, and then the camera is completely unresponsive until I unmount/remount it. After that it works again until the next capture attempt. I’m also testing this camera with three lenses — LN007, LN074 and LN116 (the 16MP one) — and I can’t get the LN116 to focus no matter which mount holder length I use. Any pointers?

Sorry you’re hitting this. A few things that’ll help narrow it down: can you share your OS/JetPack version, which camera interface you’re on, and whether this is the official Orin Nano carrier board? Also, if you have the exact error output (dmesg or v4l2 logs) when the protocol error shows up, paste it here.

I’m on L4T35.4.1 / JetPack 5.1.2, using camera0. The camera source keeps failing while running DeepStream — it’s a timeout error tied to camera interruption, and the time before it fails is different on different devices. Cameras from other manufacturers don’t do this on the same setup, which is why I keep coming back to the Arducam.

We tested two of the same IMX477 units on our Orin Nano with L4T36.3.0 / JetPack 6.0 and couldn’t reproduce it, so it looks environment-specific. A few things: which interface exactly are you using (there are cam0 and cam1), and is your Orin Nano the official dev kit? I’ve also sent you our V4L2 raw image capture guide in a private message — worth checking the stream with v4l2 first before DeepStream.

Official Orin Nano, camera0 for the USB cam. Separate issue while I’m at it — I’m using this for a license-plate recognition project and the plate text comes out too soft to read. The camera is 8MP and mounted overhead. Is that just a resolution limit? The FOV also feels way too wide for plates.

For the LPR quality, there are two main causes: the IMX477 is 8MP so resolution is limited, and the lens FOV is too wide for plate capture — when you zoom/crop in on the plate, there simply aren’t enough pixels on the plate region. Our suggestion is to stay with the IMX477P for the higher resolution but pair it with a narrow FOV lens. The LN001-001 (M12 mount, 16mm focal length) is the one we’d recommend for LPR. If you need USB, there’s also a CSI-USB adapter board for the IMX477P — model B0278.

Thanks, that makes sense on the LPR side. For the overhead setup — the fisheye camera uses the LN007, and the IMX477 is mounted overhead at 8 feet. I need the exact FOV (horizontal, vertical, diagonal) for the IMX477 at that 8-foot height. Does the FOV change with resolution settings or sensor cropping? And is distortion correction applied when FOV is measured? Do you have a datasheet or diagram showing FOV at different distances, and any recommended mounting heights/angles for good coverage?

I’ll pull the FOV datasheet/diagrams for you. Back to the protocol error — I was re-reading your earlier test command and noticed you used ‘-i /dev/video1’, but you said the camera is on camera0. That kind of node mismatch can absolutely trigger the interrupt/timeout behavior. Could you list all the video modes on the device (e.g., v4l2-ctl --list-formats-ext) and confirm which /dev/video node the USB camera actually enumerates as?

Good catch. Here’s what I see for the camera modes: image.png. To be honest I have two Arducam IMX477s — one CSI and one USB — so I need to double-check which node each one lands on. Also, I wasn’t testing with the original cable: I was using converters to make it fit my device ports. I’ll re-test with the original connection and report back.

That’s useful. My working theory on the protocol error is that it’s either the wrong /dev/video node (video0 vs video1) or a bandwidth/cable-length limitation — the unmount/remount to recover fits the interrupt/timeout pattern. Waiting on your video mode list and the original-cable test to narrow it down. On the LPR side, the IMX477P + LN001-001 narrow FOV lens recommendation still stands, and I’ll send the FOV datasheet/distance diagrams over in a private message.