Hi everyone. I’ve got an ArduCam MultiCam setup here with two OV5647 5MP cameras on a Raspberry Pi 3B+, and I’ve only managed to get a picture out of it once since I started. It works intermittently and then just fails. Before I go too deep, is there a known maximum length for the camera signal cable before the signal becomes unstable and starts causing these intermittent failures?
Could you give a bit more detail on your setup? Which MultiCam model, what cable type and length are you using, and which platform/OS version?
Sure. The product is the ArduCam MultiCam 5MP/8MP, model B012001/X0028IP2GP. Platform is a Raspberry Pi 3B+. Cameras are two OV5647 5MP modules. The cable I’m using is AWM 20624 80C 60V VW-1, 24 pin FFC. For reference, the standard cable that ships with the cameras is the 10cm FFC.
Thanks. So are you running the longer cables in this setup? Can you describe exactly when it works versus when it fails? That’ll help narrow it down.
Right, I’m using two OV5647 cameras with 1 meter ribbon cables. The weird part is only the camera on the 100mm cable works. My custom script runs fine with both cameras when they’re on the 100mm cable, but it does not work when they’re connected to the 1 meter cables. And when both cameras are connected with the long cables, NEITHER one works.
That’s a useful data point. Let’s gather some diagnostics. Could you run i2cdetect and also libcamera-hello --list so we can see whether the cameras are even being detected on the long cables? Also, if you haven’t already, do a continuity check on all pins of the longer cables.
I ran i2cdetect and it shows the addresses for both cameras. So they do show up at the I2C level.
Good. What about libcamera-hello --list? And did you get a chance to check continuity?
libcamera-hello --list also shows the cameras. And yes, I checked all pins on the long cables for continuity and they all passed. So it’s not an obvious broken wire.
Given that detection works, let’s isolate the cable. Can you test both cameras on the 100mm cable versus the 1 meter cables and paste the log you get when it fails with the long cables?
Both cameras work on the 100mm cable and both fail on the 1 meter cables. When I use the 1 meter cables, I keep seeing this in the log: “Device timeout detected, Attempting to restart!!” over and over.
That timeout message matches what we’ve seen before. The longer the MIPI cable, the more unstable the camera signal transmission can get. A one-meter cable can’t be guaranteed to produce images properly, and it may continuously report “Device timeout detected, Attempting to restart!!”. We’ve run into similar situations with this kind of setup.
So it’s not something wrong with my board or cameras then? Should I just go back to the short cables and give up on the 1 meter ones?
In short, MIPI cable length directly affects camera signal stability. Long cables are a known cause of these intermittent “Device timeout” errors, even when the cameras are detected fine by i2cdetect and libcamera-hello --list. The recommendation is to use the standard shorter 100mm FFC for reliable operation. We can’t promise the longer cable will work with the OV5647 plus MultiCam adapter, so the standard 10cm FFC that ships with the cameras is the recommended length.