Hi everyone, hoping someone can point me in the right direction here. I have an ArduCam OV2640 camera module and I’ve never managed to get the drivers installed — it just has never worked for me. My latest attempt was following the new GitHub Python_Demo instructions, and it failed at the ‘install opencv-python’ stage. I wrote to support before and got a Windows-oriented solution, but I’m using VNC on a MacBook to control my Pi, so that never worked either. Ideally I want to use the camera with either a Raspberry Pi 4 or a Pico, and control it from Python. Any working instructions would be great.
Thanks for the details. Before we go further, can you confirm exactly which camera module you have? If you could take a couple of photos of the board — front and back — and post them here, that would help me confirm the model and the interface. Also, if you still have the terminal output from that opencv-python failure, could you paste the error? That step failing usually has a specific cause.
Sure. The leaflet that came with it says ‘ArduCam OV2640 Camera Shield for Arduino’, but it was advertised as suitable for Raspberry Pi too, which is why I picked it. The model on the board is OV2640. I was following the Rev2.1, Feb 2019 instructions originally, and then moved to the GitHub Python_Demo instructions for the latest attempt. Here are the photos:


I don’t have the exact error saved from the opencv-python install, unfortunately.
Thanks, the photos help — that is the OV2640 SPI camera shield. Since you mentioned you have a Pico available, that’s actually a good place to start, because the SPI camera path on the Pico is well documented. Here’s the quick-start guide I’d suggest following:
For the Raspberry Pi 4 route, this board doesn’t use the standard CSI camera connector — it’s an SPI camera, so the usual libcamera/raspistill tools won’t pick it up. The driver setup is different, and if the opencv-python install is failing, that’s a separate issue we can tackle once we know which route you want to go down. Which platform do you want to try first?
I’d rather get it working on the Pi 4 first if possible, since that’s where I already have Python set up. But if the Pico route is more reliable I can switch. On the opencv-python step, it just fails partway through the pip install — I remember it errored out while building/installing, but I didn’t save the log. I’m running everything over VNC from my MacBook, in case that matters.
Understood. Two separate things to sort out then: (1) the SPI camera driver setup on the Pi 4, and (2) the opencv-python install failing. On the Pi 4, since this is an SPI camera, you’ll need to enable SPI and use the Arducam SPI driver/demo rather than the normal camera stack. What OS are you on — Raspberry Pi OS (and which version, Bullseye or Bookworm)? And can you try installing opencv-python again and paste whatever error shows up? That will tell us if it’s a dependency/compile issue or something environment-specific.
I’m on Raspberry Pi OS Bullseye I think. I’ll re-run the opencv-python install and grab the error. For now I’ve been following the Pico quick-start link you sent to at least see if the module responds, but I haven’t finished wiring it up yet.
That sounds fine. The Pico quick-start will confirm whether the module itself is responding over SPI, which is useful even if you ultimately use the Pi 4 — if the camera doesn’t answer on SPI on the Pico, we know to look at wiring/power. Just a heads-up: the OV2640 shield and the Pico need proper 3.3V wiring and CS/SCK/MOSI/MISO connections per that guide. Post back once you have the opencv-python error from the Pi 4 and we’ll go from there. Right now the root cause of the original failure isn’t pinned down yet — the camera has never been successfully initialized, so the first goal is just getting a response from it.