Arducam 64MP camera not detected on Raspberry Pi with OctoPrint since purchase

Hi everyone, I really need help with my Arducam 64MP on a Raspberry Pi 4B. The camera is simply not detected. Since I bought this module I have never been able to make it work, not even once. Setup: Raspberry Pi 4B running OctoPrint, with the 64MP camera module. I followed the OctoPrint guide (Solution On OctoPrint - Arducam Wiki), the Quick Start Guide (Quick Start Guide - Arducam Wiki) and also this FAQ thread (How to use arducam_64mp & arducam_64mp FAQ - #2 by Edward) but the camera still never shows up. Am I missing something obvious?

Hi, sorry you’re stuck with this. Let’s dig in. Can you post a few things so we can see what the Pi is actually doing?

  1. Your full /boot/config.txt
  2. The output of libcamera-hello --list-cameras
  3. A dmesg dump (or a bug report) - you can attach it here
  4. Which camera port are you using, CAM0 or CAM1?

Also, is the ribbon cable seated all the way in, with the metal contacts facing the correct direction on both ends?

Thanks for the fast reply. The camera is on CAM0. Cable is in as far as it goes, contacts facing the HDMI port side on the Pi, and facing the board on the camera side.

Here is my /boot/config.txt (relevant part):

# camera
camera_auto_detect=0
dtoverlay=arducam-64mp

And the camera list:

$ libcamera-hello --list-cameras
No cameras available!

dmesg shows the overlay loading but nothing else:

[    2.456789] arducam: loading out-of-tree module taints kernel.
[    2.461234] arducam: module loaded

I also tried running i2cdetect on the camera bus and it doesn’t show anything. Attached is the bug report file as you requested: https://cdn.arducam.com/forum/9e694944b4efb1cf200176afe304cb90/arducam-bug-report.txt

Thanks, that helps. “No cameras available” plus an empty i2cdetect on the camera bus usually means the Pi isn’t seeing the sensor at all over I2C. A few things to check before we go further:

  1. Make sure I2C is actually enabled for the camera side. Add these and reboot:
dtparam=i2c_vc=on
  1. Run i2cdetect -y 10 (bus 10, not bus 1) and paste the chart.
  2. Double check the ribbon isn’t slightly crooked - even one pin off causes exactly this symptom. Pull it out, check for bent pins, and click it back in.
  3. Confirm you’re on a recent Raspberry Pi OS, and tell me the kernel version (uname -a).

If the sensor were alive you’d normally see it at 0x1a on the camera bus.

OK, I added dtparam=i2c_vc=on and rebooted. Rerouted the cable too, took it out and put it back in twice. Still nothing.

$ uname -a
Linux octopi 5.15.84-v7l+ #1613 SMP ... armv7l GNU/Linux

$ i2cdetect -y 10
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
...

Everything is --. The camera module just seems dead on the bus. I already tried the dual/other overlay variants too and rebooting between each one.

Anyone? I’ve been chasing this for weeks now. Camera is on a Pi 4B, fresh config, followed every guide you linked, i2cdetect on bus 10 is completely empty, no address at 0x1a. libcamera-hello --list-cameras still says no cameras available. Is there anything else worth trying before I give up on this module?

Sorry for the delay. Let me look at the bug report you attached.

From what I can see in it, there’s no sensor enumeration at all on the camera I2C bus - the overlay loads, the kernel is fine, but nothing ever answers at 0x1a. That’s the key detail: a software/config problem would usually still show something on the bus or in dmesg. Here nothing responds.

Two last things to fully rule out the Pi side:

  1. If you have another Pi or another camera you can test with, swap them and see if the same happens.
  2. Flash a clean Raspberry Pi OS image (no OctoPrint) to a spare card, add only dtoverlay=arducam-64mp, and check libcamera-hello --list-cameras again.

If it’s still invisible with a fresh OS and nothing on i2cdetect, then the module itself isn’t communicating and it’s very likely a hardware fault rather than your configuration.

Did both tests.

  • Fresh Raspberry Pi OS (Bullseye, 32-bit) on a new card, no OctoPrint at all, just dtoverlay=arducam-64mp in config.txt. Rebooted.
$ libcamera-hello --list-cameras
No cameras available!

$ i2cdetect -y 10
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
...
  • Tested it on a friend’s Pi 4 with his working ribbon cable.

Same result everywhere: no camera, nothing on the bus. So it really does look like the module is the problem.

Thanks for doing all of that testing - that confirms it.

Summary of where we are: the overlay loads correctly, the Pi works (and so does a known-good ribbon cable on a second Pi), but the sensor never enumerates on the camera I2C bus and libcamera-hello --list-cameras reports no cameras. With a clean OS and the same result, this rules out configuration and software on your end, and points to the camera module not communicating over I2C - i.e. a hardware fault.

So further troubleshooting here isn’t going to get us anywhere. I’ve sent you the next steps through private message with the details on how we’ll take this forward - please check your messages when you get a chance, and thanks for your patience while we sort it out.