Hi everyone, I’m having trouble getting my Arducam 12MP IMX477 Pan Tilt Zoom (PTZ) IR-Cut Switchable Camera detected on my setup. I’ve tried it on a Raspberry Pi 4, a 3B+, a Pi 3, and even a Jetson Nano — same result on all of them. When I run libcamera-hello or raspistill, I just get “No cameras available” and the camera never shows up.
I followed the official guide at 12MP IMX477 - Arducam Wiki step by step. I went through all the troubleshooting suggestions on that page related to the “No cameras available” error — nothing helped. The ribbon cable connections are solid, I’ve reseated them multiple times, checked orientation, everything looks fine. The reseller I bought it from (Robu.in) sent me a short video showing it working on their end and a config file to try, but that didn’t change anything either. I’m kind of stuck here — any ideas what else I can check?
Thanks for the detailed report. Before we dig deeper — what operating system are you running on your Raspberry Pi? Could you share the output of cat /etc/os-release?
Sure, I’m running Ubuntu. Here’s the output:
That explains a lot. Unfortunately, the Arducam IMX477 camera modules are not supported on Ubuntu OS — the drivers and overlays are designed specifically for Raspbian/Raspberry Pi OS. Ubuntu handles the camera interface differently, which is why you’re getting the “No cameras available” error across all your boards.
I’d strongly recommend switching to Raspberry Pi OS (Bullseye or Bookworm) — either the 32-bit or 64-bit version is fine. Once you’ve flashed a fresh SD card with that, follow the Arducam guide again and let me know if the camera gets detected. I’ve also sent you details for a remote support session via private message in case you’d like hands-on help after the OS switch.
Okay, I went ahead and flashed a fresh Raspberry Pi OS (Bookworm) onto the SD card, went through the setup, and re-ran all the camera detection steps from the guide. Unfortunately, it’s exactly the same — still “No cameras available”. I was really hoping the OS was the culprit but apparently not. Anything else I can try?
Alright, let’s rule out some lower-level things. Can you run these commands and share the output?
First, check if the i2c bus sees anything: sudo i2cdetect -y 10 (or try bus 0 and 1 as well — sudo i2cdetect -y 0 and sudo i2cdetect -y 1). Also run dmesg | grep -i imx477 and dmesg | grep -i arducam after a fresh boot, and share what you get from vcgencmd get_camera.
Here’s what I got:
i2cdetect on bus 10 shows nothing at all — all addresses are “–”. Same story on bus 0 and bus 1, nothing that looks like a camera peripheral.
dmesg | grep -i imx477 returns nothing. Same for arducam — no hits.
vcgencmd get_camera returns: supported=0 detected=0, libcamera interfaces=0
Seems like the system just doesn’t see the camera at the hardware level, even on the correct OS.
Those results strongly point to a hardware-level issue. The i2c bus showing no device at all, combined with vcgencmd reporting zero cameras detected, means the Raspberry Pi’s GPU/ISP isn’t seeing the camera sensor on the CSI interface. Since you’ve already tested across multiple Pi boards, multiple ribbon cables presumably, and now on the correct OS with clean configuration — the common denominator here is the camera module itself.
At this stage it’s looking like a hardware defect on the camera. Since you mentioned the reseller (Robu.in) has already been in the loop, I’d suggest having them test the exact unit you received. If they confirm it’s faulty, they should be able to sort out a replacement for you.
Just wanted to follow up — I returned the camera to Robu.in and they tested it on their end. They confirmed that the unit has a hardware defect. That’s why it wasn’t being detected on any of my boards, no matter what OS or troubleshooting steps I tried. Pretty frustrating, but at least the mystery is solved. Thanks for the help walking through all the diagnostics — the i2cdetect and vcgencmd checks were really useful for narrowing it down.
Glad you got to the bottom of it, even if the outcome isn’t ideal. Those low-level checks (i2cdetect, vcgencmd, dmesg) are usually the definitive way to tell a software/config issue apart from a hardware fault — if the sensor doesn’t show up on the i2c bus, there’s nothing the driver stack can do about it. Hope the replacement unit works flawlessly. If you run into anything when the new one arrives, feel free to post back.