Upgrading OV5647 to better low-light camera for Raspberry Pi 5 with B012001 adapter

Hey everyone, I’m running into a really frustrating issue and hoping someone here has ideas. We purchased several IMX708 cameras to use with the B012001 Quad-Camera Adapter Board on a Raspberry Pi 5. According to the Arducam documentation, this combination is listed as supported. But the setup just doesn’t work properly — it’s intermittent and unstable. Sometimes the cameras are detected, sometimes not. When they do show up, the feed drops out after a few seconds or just freezes entirely. Has anyone else hit this?

Sorry to hear you’re running into this. A few questions to help narrow things down: What OS image are you using on the Pi 5? Are you on the latest Bookworm release? Also, can you share what you see in dmesg or the output when you try to initialize the cameras? That might give us some clues about whether it’s a detection issue at the driver level or something else.

We’re on the latest Bookworm OS, fully updated. Here’s the thing — after digging around, I found discussions on the Arduino forum going back to July 4, 2024 where people are reporting the exact same problem. It seems like this incompatibility between the IMX708 and the B012001 board on the Pi 5 has been known for a while. The cameras show up in i2c detect sometimes, and libcamera will occasionally list them, but it’s never stable. The multiplexer seems to struggle with them specifically. We also have some OV5647 sensors and those work fine through the same B012001 board, so the adapter itself isn’t broken.

Thanks for the detailed info. Unfortunately, what you’re running into is a known incompatibility. The root cause is a complex, low-level driver conflict between the Bookworm OS architecture and the way the B012001’s multiplexer handles the IMX708 sensor data stream. It’s not something that can be resolved with a simple software patch or a config change, unfortunately.

That’s disappointing to hear. Is there any workaround in progress? A beta driver, custom kernel module, anything? We built our whole setup around the B012001 board so I’d really prefer not to abandon it.

I completely understand the frustration. To be transparent: there is no active project to resolve this incompatibility at this time, and there’s no estimated timeframe for a software-only fix. The conflict is deep enough that it’s not just a matter of tweaking a device tree overlay.

So what am I supposed to do then? The whole reason we got the IMX708s was for the low-light performance. Right now we’re running OV5647 sensors through the B012001, and they’re really struggling in anything less than bright daylight. I need at least 120° FOV and way better low-light sensitivity. Is there any path forward that keeps the B012001 in the mix? Or am I stuck?

Let me break down your options. The recommended workaround from our side for IMX708 cameras on Pi 5 is the Arducam IMX708 Quad-Camera Kit, which uses the Camarray HAT. It’s a different hardware architecture — it has hardware-level synchronization built in from the ground up, which completely bypasses the driver conflict you’re hitting with the B012001. Also, I should mention — we’ve acknowledged that our documentation was incorrect in listing the IMX708 + B012001 combination as supported on Pi 5. We’re initiating a process to update the B012001 product page to reflect this incompatibility clearly. That shouldn’t have happened.

Okay, the Camarray HAT sounds interesting but I have a bunch of specific questions before I go down that road. First — can the Camarray HAT capture images from each connected camera individually, or is it only capable of combined/stitched output? Second, we need to capture from all cameras at the same time but save each camera’s image as a separate file — is that possible? Third, can I buy just the HAT without the bundled cameras? We already own the IMX708 sensors and I’d rather not buy them again if I don’t have to. And fourth, what about IMX219 cameras — are those actually compatible with the B012001 on a Pi 5? The documentation says they are, but after the IMX708 situation I want confirmation before spending more money.

Good questions, let me address each one. Regarding IMX219 and the B012001: yes, IMX219 cameras ARE compatible with the B012001 Quad-Camera Adapter Board on the Raspberry Pi 5. That combination works. However, there’s an important caveat — the B012001 operates sequentially. It captures images from each camera one after another, not simultaneously. So if your use case requires capturing from all four cameras at the exact same moment, the B012001 cannot do that regardless of which sensor model you use.

Got it, that rules out the B012001 for our use case then. So what about the Camarray HAT — can it do simultaneous capture with separate files for each camera?

Here’s the breakdown for the Camarray HAT (SKU: B0484). It has two operating modes: In single-channel mode, you CAN capture and save images from each camera individually — but they’re captured one at a time, sequentially. In synchronized capture mode, it CAN capture from all four cameras simultaneously — but the output is a single stitched-together composite frame, not four separate image files. So the short answer is: it cannot capture simultaneously from all cameras AND save them as separate individual files. It’s either simultaneous-but-stitched, or individual-but-sequential.

Hmm, that’s a tough tradeoff. What about buying just the HAT board and using our existing IMX708 cameras with it?

Unfortunately, the Camarray HAT cannot be purchased without the bundled cameras, and there’s a hardware reason for this. The cameras that come with the Camarray HAT have had their onboard crystal oscillators removed. The clock signal for all four cameras is generated and sent by the HAT itself — that’s how the hardware-level synchronization works. If you were to connect your standard IMX708 cameras (which still have their onboard oscillators) to the Camarray HAT, you’d get a clock signal conflict and they wouldn’t function correctly. So even if the HAT were sold separately, your existing cameras wouldn’t be compatible with it.

Alright, so let me make sure I’m understanding this correctly. To summarize: neither the B012001 nor the Camarray HAT can give us simultaneous capture from four cameras saved as separate image files. The B012001 does individual captures but sequentially, and the Camarray HAT does simultaneous but only as a stitched composite. The Camarray HAT can’t be used with our existing IMX708s because of the clock signal issue. And the B012001 only works sequentially regardless of sensor. Is that all correct?

That’s an accurate summary of the situation. To reiterate the key points: The B012001 board works with IMX219 on Pi 5 but captures are strictly sequential — you cannot get simultaneous frames across cameras. The Camarray HAT solves the IMX708 compatibility problem on Pi 5 through its different hardware architecture, but in sync mode the output is a stitched composite, not individual files. And the bundled cameras are required because of the hardware clock design. If your application absolutely requires simultaneous capture with per-camera separate output files, neither of these quad-camera solutions will meet that requirement as they currently stand.