Arducam 5MP camera on Raspberry Pi stuck on "Loading Stream" in OctoPi

Hi folks, hoping someone can help. I’m trying to use an Arducam 5MP 1080P 30FPS camera (ASIN B07SN8HB1R) with OctoPi/OctoPrint and I just can’t get the camera feed to show up at all. In the OctoPrint control tab the webcam stream sits on “Loading stream…” forever and never displays anything. I’ve been going around in circles and can’t get the camera figured out for use on Octopi. Anyone else run into this?

Hi, thanks for posting. A couple of quick things so we can narrow this down. What Raspberry Pi model and which OS image are you running? OctoPrint is just the front end here — the camera is actually driven by the OS, not OctoPrint itself. Also, can you test whether the camera works on Raspberry Pi OS (Buster) directly using the legacy raspistill command? That tells us if the camera stack is fine before we blame OctoPrint. And double-check the ribbon cable is fully seated and the connector isn’t installed backwards.

I’ve actually tried two different models of Raspberry Pi running the latest OctoPrint software, and both behave exactly the same way. So I don’t think it’s the board. It’s the latest OctoPi image on both of them.

That helps rule out the board. The ribbon cable is the other usual suspect — those little connectors can look seated but not actually be making contact. Do you have a second ribbon cable you can try, and can you reseat it on both the camera and the Pi while checking the orientation? Also confirm the camera interface is enabled in raspi-config.

Tried both ribbon cables I have with no luck. I also went into the Raspberry Pi settings and enabled the camera, but that didn’t help either. So the cables and the enable step both seem fine to me.

OK. Next I’d look at how the camera is being exposed to OctoPrint. Under Settings → Webcam, the stream URL and snapshot URL have to match whatever the OS is actually serving. Which camera stack are you on — legacy camera or libcamera? Can you run vcgencmd get_camera? It should report detected=1 and supported=1 if the OS sees the camera.

I tried testing all the settings in the OctoPrint camera settings but it all fails or just doesn’t respond. I really don’t think it’s the camera or the ribbon cables at this point, but I honestly don’t know what else to do. Am I missing something obvious?

Thanks for confirming all of that — let’s not declare the hardware guilty yet, because we still don’t have hard evidence either way. Two things worth doing next: 1) Boot the Pi with Raspberry Pi OS (Buster) on its own and run the legacy raspistill -o test.jpg command. If that produces a photo, the camera and cable are fine and the problem is in the OctoPrint/OS config. If it errors out, we know to look at the camera or cable instead. 2) While you’re in there, run vcgencmd get_camera and share the output here, along with the contents of /boot/config.txt and any camera-related dmesg lines. Right now the root cause isn’t confirmed — once we see the raspistill result and that output, we’ll know which direction to take.