Arducam quad camera kits fail on Raspberry Pi 4 and CM4 MANTA M8P

Hi everyone, I’m stuck debugging several Arducam Camarray HAT kits and could really use some pointers. My environment:

  • Raspberry Pi 4, libcamera v0.0.0+4226-8689dd6b
  • Raspberry Pi Compute Module on a BIGTREETECH MANTA M8P carrier (V1.0/V1.1)
  • Kits: B0396 (8MP IMX219 quad), B0331 (Pivariety), B0388 (IMX519 quad), B0402 (64MP quad), B0397 (12MP IMX477)

I’ve connected them two ways: wire jumpers to the 6-pin header (short Tx flex) and direct into the 40-pin header (longer Tx flex). It’s all running off an external supply, no weird current draw or shorts. OpenCV and the Python packages were still installing in the background during some of this testing.

Before this, the B0396 and B0402 modules were already giving a black screen / no image output. Where should I start digging?

Thanks for the thorough rundown. Let’s split this into two tracks: the carrier board issue and the camera kits themselves. First, on the MANTA M8P + Compute Module, what exactly happens when you connect the Camarray HAT? And does the same HAT behave any differently on the Pi 4?

On the MANTA M8P, the Compute Module won’t boot at all if both the HAT 6-pin header and the MIPI flex are connected. It only boots if I disconnect one or both. I’ve tried several Camarray HATs and different connection schemes, and the boot failure is the same every time. I even tried powering the HAT over USB instead of GPIO, and it still wouldn’t boot when both USB and the flex were connected. I was following the Arducam 8-camera CM4 guide and the M8P manual:

That boot behavior (fails only when both the header/GPIO connection and MIPI are attached, and it reproduces across multiple HATs) sounds like a compatibility conflict between the carrier and the HAT rather than a fault in the camera modules themselves. Let’s park the M8P for now and verify the kits independently on the Pi 4. Start with the IMX219 quad (B0396): run libcamera-still --list-cameras and share what you get.

On the Pi 4, libcamera-still --list-cameras did list imx219 at first. I never actually finished an image capture because OpenCV and the Python packages were still installing at that point.

Okay, that’s a good start. Once the installs finished, did you try a capture? Also, what camera-related lines do you currently have in /boot/config.txt?

After I ran the rest of the Pivariety commands, the camera vanished. Now it lists no cameras and capture times out or errors:

pi@raspberrypi:~ $ libcamera-still --list-cameras
No cameras available!
pi@raspberrypi:~ $ libcamera-still -t 5000 -n -o ~/Desktop/test.jpg
[0:04:59.297607027] [1864] INFO Camera camera_manager.cpp:299 libcamera v0.0.0+4226-8689dd6b
ERROR: *** no cameras available ***

For overlays I’ve tried dtoverlay=imx219 and dtoverlay=arducam-pivariety.

That transition from “imx219 listed” to “No cameras available” right after running the Pivariety commands is suspicious. Can you paste the camera-related section of /boot/config.txt? I suspect there may be more than one dtoverlay line enabled at the same time.

You’re right, both dtoverlay=imx219 and dtoverlay=arducam-pivariety are in there.

That’s the cause of the “No cameras available” error. Keep only one camera enabling statement in config.txt. Having both dtoverlay=imx219 and dtoverlay=arducam-pivariety active at once conflicts and stops the camera stack from detecting modules. Remove whichever one doesn’t match the kit you’re testing, reboot, then re-run libcamera-still --list-cameras. For B0388 and B0331, follow the official tutorials and use only the matching overlay:

After cleaning config.txt down to a single overlay, B0388 (IMX519 quad) works on the Pi 4. B0396 and B0402 still give a black screen / no image even with only their own overlay enabled, so those two look genuinely faulty. I still need to re-test B0331 (Pivariety). The M8P + Camarray HAT combo still refuses to boot with both the 6-pin header and MIPI flex connected. Also, I can’t install TeamViewer on this machine because of IT policy. Is there another way to do a live screen-share if needed?

No problem. I’ve sent you the remote/screen-share details in a private message. Please check your messages and we can do a VNC session instead. For B0331, on the Pi 4 keep only the Pivariety overlay (or the Pivariety multi-camera driver config from the guide) and post the --list-cameras output once you’ve run it.

Understood, I’ll run the B0331 test with only the Pivariety overlay and report back. Before I do, could you summarize where things currently stand so I don’t lose track of what’s confirmed vs. still open?

Sure. Current status:

  • config.txt must contain exactly one camera enabling statement. Multiple overlays (e.g. dtoverlay=imx219 plus dtoverlay=arducam-pivariety) cause No cameras available.
  • B0388 (IMX519 quad) is confirmed working on the Pi 4.
  • B0396 (IMX219 quad) and B0402 (64MP quad) still show black screen / no output even with a single correct overlay, so these appear to be faulty modules.
  • The BIGTREETECH MANTA M8P + Camarray HAT combination fails to boot whenever both the 6-pin header and MIPI flex are connected, which looks like a carrier/HAT compatibility issue.
  • B0331 (Pivariety) still needs to be tested with only the Pivariety overlay before we can confirm its status.