Raspberry Pi OS 32-bit or 64-bit for Pi 4 8GB with Arducam Camarray?

Hi everyone, quick (maybe dumb) question. I’m setting up a few Raspberry Pi 4s for a research project and I can’t decide which Raspberry Pi OS image to flash. Does the Arducam CamArray need the 32-bit OS or the 64-bit OS, or does it matter at all? I don’t want to build everything on one and then find out the drivers only work on the other. Thanks.

Short answer: either one works. The CamArray 16 MP and 64 MP are supported on both 32-bit and 64-bit Raspberry Pi OS, so there’s no architecture restriction you need to worry about. That said, which one you pick can depend on the rest of your stack. Can you tell me a bit more about your setup? Specifically: how many Pi units and which camera models you’re running, and whether you plan to use the Arducam libcamera-based stack or something custom (OpenCV, V4L2, etc.)?

Sure. I’ve got 2x Raspberry Pi 4 (the 8 GB version), 2x CamArray 16 MP, and 1x CamArray 64 MP. No code yet, I’m literally at the ‘which image do I download’ stage. It’s for a research project so I’d like to keep it as stable as possible rather than bleeding edge. I hadn’t decided on the software layer yet — whatever plays nicest with these cameras I guess.

Got it, thanks. So both the 16 MP and 64 MP CamArrays are fine on 32-bit and 64-bit — completely your call. A few practical notes:

  • The 64-bit OS is a good fit when you want to use the full 8 GB of RAM for image processing (multi-camera capture buffers, OpenCV, etc.).
  • The 32-bit OS is more conservative if you’re worried about third-party library support, since some older Python packages and prebuilt binaries are still 32-bit only.
  • Either way you’ll want to install the Arducam camera software / setup script matching your chosen OS version, and keep it in sync with your kernel release — mixing a mismatched driver and kernel is the most common reason people see the camera ‘detected on I2C but no image’.

What are you planning to do with the captures — just record, or do on-device processing?

Some on-device processing eventually, but mostly capture first. If I go 64-bit, am I going to run into anything specific with the CamArray drivers, or is it genuinely the same experience?

Genuinely about the same for these cameras. The driver support isn’t tied to one architecture — you install the matching package for the OS you flashed and it works on both. The things people usually trip over on 64-bit aren’t camera-specific: certain prebuilt Python wheels (some OpenCV/NumPy builds), and occasionally a library that only ships a 32-bit binary. If your processing stack is all source or has 64-bit wheels, 64-bit is the smoother choice for the 8 GB boards.

So to close the loop on your original question: there’s no rule forcing you to 32-bit or 64-bit for the CamArray 16 MP / 64 MP on a Pi 4. Pick the one that matches the rest of your software. If you hit anything once you’ve flashed and wired things up, post your uname -a, OS version, and the output of your camera detection command and we can go from there.

Perfect, that’s exactly what I needed. I’ll go 64-bit since I want the RAM headroom for processing. Thanks for the help!

Sounds good. To summarize for anyone finding this thread later: the Arducam CamArray 16 MP and 64 MP are compatible with both 32-bit and 64-bit Raspberry Pi OS on the Raspberry Pi 4 — there’s no architecture restriction. Choose 64-bit if you need the full 8 GB of RAM for on-device processing and your libraries have 64-bit support; choose 32-bit if you depend on any 32-bit-only prebuilt packages. Just make sure the Arducam driver/setup package matches your OS version and kernel. If issues come up, share uname -a, the OS release, and camera detection output so we can dig in.