Having a frustrating time getting the 64MP Autofocus Synchronized Quad-Camera Kit working on a Raspberry Pi 5. libcamera-hello detects the camera but immediately fails with either “device timeout” or “failed to start streaming: Input/output error.”
dmesg shows things like “failed chip ID read” and “device timeout” popping up.
I’ve tried:
All four camera modules individually
Bypassing the CamArray HAT and connecting a single module directly to CAM1
Swapping cables and ports (CAM0 and CAM1)
Verified the arducam-64mp overlay is loading
Tried both libcamera and v4l2 commands
Fully ran apt update/upgrade and rpi-update
Checked dmesg every time — same errors
Anyone else seen this on a Pi 5? Is this kit even compatible or am I missing something obvious?
Thanks for the detailed report. A quick but important clarification — this is a synchronized multi-camera system, and the HAT board is not optional. The HAT provides the clock signal that all four camera modules depend on. You cannot use individual cameras without the HAT, and you definitely can’t connect a single module directly to the Pi’s CSI port (CAM0/CAM1) and expect it to work.
Please make sure:
All four camera modules are connected to the HAT board
The HAT board is then connected to the Raspberry Pi 5
The overlay (arducam-64mp) is loaded
Check the product page for the full setup guide — the HAT must be in the loop for the entire system to function.
Appreciate the response, but I should have been clearer in my first post — I had already tested with all four cameras connected to the HAT and the HAT connected to the Pi. That’s actually how I started. The single-camera-direct-to-CAM1 test was something I tried later out of desperation, and I knew it probably wouldn’t work.
Here’s the full rundown of my setup and everything I’ve tried:
Overlay: arducam-64mp.dtbo — loads successfully, confirmed in /boot/config.txt
I2C bus detects camera addresses (0x1a and others visible on i2cdetect)
HAT is detected and Arducam driver loads without complaints in dmesg
Troubleshooting done:
All four cameras on HAT → HAT to CAM0: device timeout
All four cameras on HAT → HAT to CAM1: same error
Tried multiple flex cables, both orientations on every connector
Reseated every connection multiple times
Tested each camera module individually via HAT (only one plugged in at a time) — same result
Bypassed HAT and connected single module directly to CAM1 (acknowledged — not supported, just grasping at straws)
libcamera-hello, libcamera-still, v4l2-ctl all detect the camera but fail to stream
OS fully updated, firmware is latest via rpi-update
At this point I’m starting to suspect a compatibility issue with the Pi 5 specifically, or something in the latest libcamera stack / Pi firmware. A few questions:
Is this quad-camera kit officially supported on the Raspberry Pi 5?
Are there any firmware, driver, or config tweaks required beyond loading the overlay?
Is there a known-good kernel version or OS image this is tested against?
That’s very thorough — thanks for laying it all out. The kit is intended to work on the Pi 5, so what you’re seeing isn’t expected behavior. Let’s dig deeper.
First, could you post a clear photo of your hardware setup — specifically how the HAT and camera modules are connected? Sometimes a second set of eyes catches a physical connection issue.
Second, I’d like you to run a diagnostic tool to generate a bug report. I’ve sent you the details via private message — please download and run that tool on your Pi, then share the resulting arducam-bug-report.txt file back here (or attach it). It’ll capture a lot of useful low-level state.
Third, can you also run this and post the output?
dpkg -l | grep libcamera
This will help me check whether the libcamera package versions on your system match what’s expected.
Just to confirm — yes, all four cameras are on the HAT, HAT is on the Pi, and I’m still getting the same “failed to start streaming” errors. That’s been my primary configuration throughout.
Here’s the dpkg output you asked for:
ii libcamera-0.3 0.3.2+rpt20250123-1 arm64
ii libcamera-dev 0.3.2+rpt20250123-1 arm64
ii libcamera-ipa 0.3.2+rpt20250123-1 arm64
ii libcamera-tools 0.3.2+rpt20250123-1 arm64
ii libcamera0.2 0.2.0+rpt20241220-1 arm64
ii python3-libcamera 0.3.2+rpt20250123-1 arm64
I’ve also grabbed the bug report tool you PM’d me and ran it. I’ll attach the output file. Let me know what stands out.
Thanks for the libcamera versions and the bug report. The package versions look current, nothing obviously wrong there. I’m going through the bug report now to check the kernel module state, device tree overlay application, and I2C sensor enumeration.
In the meantime, can you check one more thing — run this and post what you see:
lsmod | grep -E "arducam|imx519|video"
And also:
ls -la /dev/video*
This will help confirm whether the V4L2 devices are actually being created when the driver loads, even if streaming is failing.
I was able to get it to work. I think it was a missing kernel module.
After digging through the bug report myself and comparing against what the driver expected, I realized a required kernel module hadn’t been built/loaded. Once I got that sorted out, everything came up fine — all four cameras streaming on the Pi 5 without any issues.
For anyone else who runs into this: double-check your kernel module dependencies, especially if you’re on a fresh Pi 5 image. The overlay loads fine but if the underlying V4L2 subdev driver module isn’t present, it’ll silently fail when you try to stream.
Thanks for the help — the bug report tool was what pointed me in the right direction.