Hi, I picked up the 5MP Camera Module for Raspberry Pi (the Motorized Focus Camera). When the Pi powers on I see the camera LED light up once, and then it never lights again. Running any of the programs does nothing - no movement, no focus twitch, nothing at all. Anyone know what’s going on?
What I’ve done so far: cloned the repo, installed opencv, ran sudo apt-get update && upgrade, opened the i2c0 port, and ran sudo python Autofocus.py. It just… doesn’t take any pictures. Stuck on where to go next.
Welcome! That libcamera interfaces=0 line is a hint worth digging into. A few quick questions to narrow it down:
What OS image are you running on the Pi (Bullseye, Buster, something else)?
Are you powering it from a decent supply? Under-voltage can make the motor driver misbehave.
Can you paste the contents of the python folder inside the repo so I can see which scripts you actually have?
Also, when you say the LED blinks once at boot and then nothing - that’s normal boot behavior, so the real issue is likely in software/config rather than the module itself.
That error is the key here. It means your system is set up for the legacy camera stack, which conflicts with the libcamera-based setup this module expects. Two things to sort out:
Do you actually want to use the camera on the Legacy Camera Stack framework? If you don’t need it, we should turn it off.
Otherwise, the intended path for this camera is to run Bullseye OS and access the camera through libcamera.
Which route do you want to take? If you’re not tied to the legacy stack, I’d strongly suggest going the libcamera route on Bullseye.
I’m not trying to use the legacy stack at all - I just want to get the camera working. Googling around is what pointed me at the legacy stack stuff in the first place. I’m going to try disabling the legacy camera support and see if that clears it up.
For reference, I’m on Raspbian since it’s a Raspberry Pi. I’ll be back in town tomorrow and I’ll try to disable the legacy support then. I’ll report back once I’ve made the changes.
Before it showed supported=1 detected=1, now everything reads 0. I definitely don’t want the legacy stack back, I’m just trying to get this thing working. How do I activate the camera with the legacy support turned off?
Good progress - that’s actually the expected intermediate state. Here’s the picture:
Root cause: the system was configured for the legacy camera stack, which conflicts with the libcamera-based setup, hence the legacy camera stack error you saw.
Fix:
Keep the Legacy Camera Stack disabled (that’s what you just did).
Use Bullseye OS and access the camera through libcamera. If you’re still on Buster or an older image, the libcamera path won’t work reliably and you’ll keep seeing zeros from vcgencmd get_camera.
So the two things to confirm: legacy camera is disabled (done) and you’re on Bullseye with libcamera available. Can you tell me which OS release you’re actually on now (cat /etc/os-release)? If you’re not on Bullseye, I’d recommend flashing a fresh Bullseye image.
I’ll check my OS version. Before I go reflashing anything, is there a way to confirm whether the libcamera stack is even present and picking up the camera? I want to be sure it’s a config/OS issue and not a dead module.
If it enumerates the sensor, the module is alive and it’s purely a config/OS matter. If it lists nothing, we still can’t rule out config - which is exactly why I’d like a bug report to see the full state of your system:
Alright, I ran the bug report and I’m attaching arducam-bug-report.txt. I also ran libcamera-hello --list-cameras and it didn’t show anything, which doesn’t fill me with confidence.
Thanks, got the report. Let me summarize where we’ve landed so it’s clear:
Key insight: the legacy camera stack has to be fully disabled via sudo raspi-config → Interface Options → Legacy camera, then rebooted - and you should be on Bullseye OS using libcamera to access the camera.
libcamera-hello --list-cameras: no cameras enumerated.
The zeros plus no enumeration tell me the libcamera stack still isn’t properly set up on this install. Next step is to confirm the OS release (cat /etc/os-release) - if it isn’t Bullseye, flash a fresh Bullseye image, keep the legacy camera disabled, and re-run libcamera-hello --list-cameras. If you’re already on Bullseye, send the exact output of that command and I’ll take it from there - we haven’t fully resolved this yet.