Arducam OV5647 stereo camera not detected on Pi 4B; libcamera finds no cameras

Hi, I can’t get my Arducam stereo camera (2MP2, OV5647) to be detected on my Raspberry Pi 4B. libcamera just says no cameras available.

Environment:

  • Raspbian GNU/Linux 11 (bullseye)
  • Host: pi@headsup
  • Platform: Raspberry Pi 4B

Here’s what I ran and got:

cat /etc/os-release

PRETTY_NAME="Raspbian GNU/Linux 11 (bullseye)"
NAME="Raspbian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=raspbian
ID_LIKE=debian

ls /dev/video*

/dev/video10  /dev/video12  /dev/video14  /dev/video16  /dev/video19  /dev/video21  /dev/video23
/dev/video11  /dev/video13  /dev/video15  /dev/video18  /dev/video20  /dev/video22  /dev/video31

dmesg | grep ov5647 → no output at all

libcamera-still -t 5000 -o test.jpg

Made X/EGL preview window
[0:02:02.769301074] [1092]  INFO Camera camera_manager.cpp:293 libcamera v0.0.0+3866-0c55e522
ERROR: *** no cameras available ***

I also get this mmal error:

mmal: Cannot read camera info, keeping the defaults for OV5647
mmal: mmal_vc_component_create: failed to create component 'vc.ril.camera' (1:ENOMEM)
mmal: mmal_component_create_core: could not create component 'vc.ril.camera' (1)
mmal: Failed to create camera component
mmal: main: Failed to create camera component
mmal: Camera is not detected. Please check carefully the camera module is installed correctly

So far I’ve updated to the latest Raspbian distro, installed the recommended V4L2 drivers for the stereo camera, and tried disconnecting and reconnecting the camera. Nothing worked. Any ideas?

Thanks for all that detail, that’s really helpful. Before we go further, I’d like to grab a proper diagnostic report from the device so I can see the full camera stack state.

Please reboot your Pi first, then run these commands:

wget -O arducam-camera-bug-report https://github.com/ketai-dhr/arducam-camera-bug-report/releases/download/tools/arducam-camera-bug-report
chmod +x ./arducam-camera-bug-report
./arducam-camera-bug-report

This will drop an arducam-bug-report.txt file in your current directory. Please attach that file here and I’ll take a look at it.

Hmm, I’m getting an error when I try to run that first command. It seems to spit out the same camera error I mentioned before:

mmal: Cannot read camera info, keeping the defaults for OV5647
mmal: mmal_vc_component_create: failed to create component 'vc.ril.camera' (1:ENOMEM)
mmal: mmal_component_create_core: could not create component 'vc.ril.camera' (1)
mmal: Failed to create camera component
mmal: main: Failed to create camera component
mmal: Camera is not detected. Please check carefully the camera module is installed correctly

I’ve already updated to the latest Raspbian distro, installed the recommended V4L2 drivers for the stereo camera, and reconnected the camera a couple of times. None of that fixed it.

Anyway, I managed to attach the report file here: arducam-bug-report.txt

Got the bug report, thanks. One thing I want to check next is your boot configuration, since camera overlays live there and a wrong/missing overlay would explain why the sensor never shows up.

Can you run:

cat /boot/config.txt

Then paste the full contents here so I can review the overlay setup?

Sure, here’s my /boot/config.txt:

[cm4]
otg_mode=1
[all]
[pi4]
dtoverlay=vc4-fkms-v3d
arm_boost=1
[all]
gpu_mem=128
dtparam=i2c_vc=on
#dtoverlay=arducam
gpu_mem=400
#dtoverlay=arducam
dtoverlay=arducam
dtoverlay=ov5647

Other settings I have in there: dtparam=i2c_arm=on, #dtparam=i2s=on, dtparam=spi=on, dtparam=audio=on, start_x=1, display_auto_detect=1, #dtoverlay=vc4-kms-v3d, max_framebuffers=2, disable_overscan=1

Thanks. I spotted the issue: the OV5647 sensor overlay isn’t enabled, so the camera can’t be detected at all.

You need to add an dtoverlay=ov5647 entry under the [all] section. Do this:

  1. Run sudo nano /boot/config.txt
  2. Move the cursor to the bottom
  3. Add dtoverlay=ov5647 under [all]
  4. Save and reboot your Pi for it to take effect

The dtoverlay=ov5647 line must be under the [all] section to actually enable the camera.

OK I ran sudo nano /boot/config.txt and added dtoverlay=ov5647. But the camera still isn’t working. Here’s the tail of my config now:

[cm4]
otg_mode=1
[all]
[pi4]
dtoverlay=vc4-fkms-v3d
arm_boost=1
[all]
gpu_mem=128
dtparam=i2c_vc=on
#dtoverlay=arducam
gpu_mem=400
#dtoverlay=arducam
dtoverlay=arducam
dtoverlay=ov5647

What should I try next?

That extra dtoverlay=arducam line is likely your problem — it can conflict with correct camera access. We want to remove it.

Please:

  1. Remove the dtoverlay=arducam line from config.txt
  2. Reboot your Pi
  3. Test the camera with libcamera-still -t 0

Let me know what happens.

I removed dtoverlay=arducam and rebooted, but libcamera still reports no cameras available.

libcamera-still -t 0

Made X/EGL preview window
[0:00:43.972403639] [1128]  INFO Camera camera_manager.cpp:293 libcamera v0.0.1+21-7c855784
ERROR: *** no cameras available ***

ls /dev/video*

/dev/video10  /dev/video13  /dev/video16  /dev/video20  /dev/video23
/dev/video11  /dev/video14  /dev/video18  /dev/video21  /dev/video31
/dev/video12  /dev/video15  /dev/video19  /dev/video22

Still stuck.

Alright, next suspect: the camera auto-detection setting. If auto-detect is enabled it can interfere with the camera being configured correctly when you’re setting overlays manually.

Please add this line to config.txt:

camera_auto_detect=0

That disables automatic camera detection and lets the manual overlay configuration take over. Add it, save, and reboot, then try libcamera-still -t 0 again and let me know the result.