I’m having trouble getting my Arducam IMX477 (B0273) working on a Waveshare Jetson Orin NX carrier board running JetPack 5.1.3. The camera feed shows up purplish and heavily distorted whenever it actually manages to display something. It works very intermittently — sometimes I get one frame, sometimes nothing at all, and it’s really unstable.
I’ve already tried installing multiple different drivers I found online but none of them seem to work properly. I didn’t follow any specific setup guide for this camera + carrier board combination because I couldn’t find one.
Can someone point me to the correct driver and installation procedure for this setup?
Also adding some more technical details. The camera shows one frame and then crashes with a TIMEOUT error from nvarguscamerasrc. I’m using this GStreamer pipeline:
Here are the full terminal logs from that pipeline run:
GST_ARGUS: Available Sensor modes:
3840 x 2160 FR = 29.999999 fps, Analog Gain min 1.000000 max 22.250000, Exposure min 13000 max 683709000
1920 x 1080 FR = 59.999999 fps, Analog Gain min 1.000000 max 22.250000, Exposure min 13000 max 683709000
GST_ARGUS: Running with Camera index = 0, Camera mode = 1, Output Stream W = 1920 H = 1080, Frame Rate = 59.999999
WARNING: Pipeline construction is invalid, please add queues (gstbasesink.c:1209)
WARNING: Not enough buffering available for processing deadline of 0:00:00.015000000
WARNING: A lot of buffers are being dropped (gstbasesink.c:3003) - timestamping problem or computer too slow
ERROR: from element nvarguscamerasrc0: TIMEOUT - Argus Error Status
Execution ended after 0:00:41.021163568
CONSUMER: ERROR OCCURRED before TIMEOUT
One thing I noticed — it’s selecting mode 1 and running at ~60fps even though I requested framerate=20/1 in the pipeline. Not sure if that’s relevant.
Quick bump on this — I’ve got a project deadline coming up and this is really holding things up. Has anyone run into this combination before (IMX477 + Waveshare Orin NX carrier board)? Still getting the same behavior: one frame, then TIMEOUT after about 40 seconds. Same logs as above. Any help would be greatly appreciated.
Thanks for the detailed logs, that’s really helpful for diagnosing this.
Looking at your output, I can see a few things going on. The GST_ARGUS system is ignoring your requested framerate of 20fps and instead running the sensor at its native ~60fps for mode 1 (1920x1080). Combined with the buffer dropping warnings and the eventual TIMEOUT, this points to a bandwidth or timing issue on the CSI interface.
The core problem here is that the Waveshare Jetson Orin NX carrier board is a third-party board, and Arducam camera drivers are developed and validated against the official Nvidia Jetson carrier boards. On third-party carrier boards, the CSI lane routing, clock signaling, and power delivery can differ enough to cause exactly this kind of behavior — unstable streams, frame corruption (that purplish/distorted image you’re seeing), buffer drops, and timeouts.
I have three suggestions, ordered by what’s most likely to resolve this:
1. (Recommended) Switch to an official Nvidia Jetson carrier board. This is the most reliable path — the camera driver is validated against this hardware and you should get a stable stream out of the box.
3. Reduce the framerate to 15fps or lower in your pipeline. Even though the sensor mode reports ~60fps, forcing a lower capture rate (e.g., framerate=15/1) can reduce the bandwidth demand on the CSI bus and may help avoid the buffer drops and timeouts.
I’d suggest trying option 2 and 3 together first if swapping carrier boards isn’t immediately feasible — the HAT Kit driver with a reduced framerate gives you the best shot at a stable stream on the Waveshare board. Let us know how it goes.