When I play it back, after a few dozen frames I start seeing magenta noise in the 4-camera grid. It seems to mostly affect one row (a camera pair). Sometimes part of the image turns magenta with noise mixed in, then it goes back to normal for a few moments, and then it comes back — repeating periodically.
That’s an interesting issue. The fact that it’s periodic and seems to target one row in the grid suggests it might be tied to a specific camera channel. Can you try removing cameras one at a time and see if the problem disappears with a particular camera disconnected?
Good call. I went through and isolated each camera, and it turns out the problem is always associated with Camera 3. If I remove Camera 3 from the setup, the issue goes away completely — regardless of what resolution, framerate, or pipeline I use.
Alright, that’s a strong clue. Before we blame the camera module itself, let’s rule out the HAT’s compositor. Can you run through the composite modes via I2C on bus 9, device 0x24, register 0x24? Test each single-channel mode, then the double-channel combos, and finally the default four-in-one. Let’s see if the issue only shows up when Camera 3 is part of a composite.
That’s pretty telling. But just to be thorough — have you tried swapping the ribbon cables between cameras? It’s worth ruling out a bad cable before concluding the module is faulty.
What about physically moving the camera to a different position on the HAT? If the problem follows the camera module rather than the HAT port, that would confirm it’s the module.
Did that too. Moved Camera 3 to a different position on the HAT, and the magenta noise follows it. Shows up in both double-channel and quad-composite modes wherever I place it. At this point I was skeptical, so I replicated the entire setup on a second Jetson Xavier NX unit — same exact behavior. Same periodic magenta noise.
Thanks for all the thorough testing. Here’s what the evidence points to:
Problem follows Camera 3 when its position changes → faulty camera module, not a HAT port issue
All single-channel modes are clean, even for Camera 3 alone → the sensor itself can produce clean frames, but something goes wrong when it’s composited with other channels (timing, sync, or data corruption)
Composite modes that include Camera 3 fail consistently
Independent of resolution, framerate, pipeline changes, and cable swaps
Reproduced on a second Jetson unit
Root cause: defective Camera 3 (IMX519 module).
Let’s do one more thing — remove Camera 3 entirely and run a test in the default four-in-one mode with the remaining three cameras. Just want to confirm everything is stable without it.
Removed Camera 3, ran the default four-in-one mode with the three remaining cameras. Problem completely gone. Doesn’t matter that there’s an empty position.
Then to be absolutely certain, I put the suspect camera back but in a different HAT position with a different cable and recorded another test. The magenta noise follows the camera.
All three videos and your systematic testing make it very clear — the IMX519 module on Camera 3 is defective. The fact that it works cleanly in single-channel mode but corrupts composite streams suggests something is off with its MIPI output timing or data lane integrity under the multi-camera synchronization.
I’ve sent you a private message with the next steps regarding the faulty module. Please check your inbox.
Thanks for confirming. I’ve received your PM and sent the requested photos of the camera (front and back) through private message. Appreciate the help tracking this down — the I2C register testing approach was really useful for isolating it.
Glad we got to the bottom of it. For anyone else who runs into similar periodic magenta noise on a multi-camera IMX519 HAT setup with Jetson, the key takeaways from this thread:
Start by isolating cameras one at a time to identify the problem channel.
Use I2C composite mode switching (bus 9, device 0x24, register 0x24) to test each channel individually and in combinations.
Swap cables and positions to rule out HAT ports and cabling.
If the problem follows a specific module across all variables, the module itself is faulty.
We’ve confirmed the root cause here and I’m following up with the OP via PM for the next steps.