Hey everyone, I picked up a B0242 Arducam IMX477 HQ Camera. It was originally marketed for the Jetson Nano, but I’m trying to get it working on a Raspberry Pi 3B. I noticed there’s a B0240 version that’s specifically listed as the Raspberry Pi variant. Does anyone know if the B0242 is actually compatible with the Pi? Do these two share the same PCB? I’ve been struggling and the camera has never worked for me on the Pi.
The B0242 is fully compatible with the Raspberry Pi platform, so you should be good on that front. Follow the setup steps here and let me know how it goes:
https://docs.arducam.com/Raspberry-Pi-Camera/Native-camera/12MP-IMX477/#raspberry-pi-zero-to-pi-3
Alright, I went through that guide step by step but the camera still isn’t working. Here’s what I’m seeing:
rpicam-still --list-cameras returns “No cameras available!”
And in dmesg, the IMX477 driver probe is failing with error -121.
My setup:
- Platform: Raspberry Pi 3B
- Product: B0242
- Kernel:
Linux halayalabs 6.12.62+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.12.62-1+rpt1 (2025-12-18) aarch64 GNU/Linux - OS: Debian GNU/Linux 13 (trixie)
Relevant /boot/firmware/config.txt:
camera_auto_detect=0
dtoverlay=imx477
arm_64bit=1
dtoverlay=vc4-kms-v3d
max_framebuffers=2
disable_fw_kms_setup=1
enable_uart=1
arm_boost=1
dtparam=audio=on
disable_overscan=1
And here’s the dmesg output when I grep for imx477:
[ 0.037242] /soc/csi@7e801000: Fixed dependency cycle(s) with /soc/i2c0mux/i2c@1/imx477@1a
[ 0.037326] /soc/i2c0mux/i2c@1/imx477@1a: Fixed dependency cycle(s) with /soc/csi@7e801000
[ 0.038833] /soc/csi@7e801000: Fixed dependency cycle(s) with /soc/i2c0mux/i2c@1/imx477@1a
[ 0.040330] /soc/i2c0mux/i2c@1/imx477@1a: Fixed dependency cycle(s) with /soc/csi@7e801000
[ 20.262939] imx477 10-001a: Error reading reg 0x0016: -121
[ 20.262993] imx477 10-001a: failed to read chip id 477, with error -121
[ 20.263909] imx477 10-001a: probe with driver imx477 failed with error -121
I’ve already probed the 3.3V pin to GND on the camera board and power is getting there. Not sure where to go from here. Any ideas?
Let me break down what’s happening here.
That error -121 is a Linux kernel I2C “Remote I/O error” — it means the I2C communication between your Pi and the IMX477 sensor is failing at a fundamental level. The camera is being detected at I2C address 0x1a on bus 10 (that’s why you see imx477 10-001a), but when the driver tries to read the chip ID from register 0x0016, it gets nothing back. The sensor isn’t acknowledging the I2C transaction.
The dependency cycle messages are a bit odd but they’re not necessarily the cause here — they show up in a lot of working configs too.
To narrow this down between a physical connection problem, a software misconfig, or a hardware defect, I need two things from you:
1. Photos of your hardware connections — specifically the ribbon cable connection at both ends: how it’s seated on the camera board, and how it’s seated on the Raspberry Pi’s CSI connector.
2. Run the diagnostic script. Reboot first, then run these commands:
sudo reboot
After reboot:
wget -O arducam-camera-bug-report https://github.com/Dion4cen/arducam-camera-bug-report/releases/download/Tool/arducam-camera-bug-report
chmod +x ./arducam-camera-bug-report
./arducam-camera-bug-report
Attach the resulting arducam-bug-report.txt file along with the photos.
Okay, I did some more digging on my end while I was at it.
I checked the ribbon cable with a multimeter in continuity mode — all pins are passing through fine, cable isn’t broken or damaged.
Here are the photos of the connections:



And here’s the diagnostic report:
arducam-bug-report.txt
Also worth mentioning — I tested this exact camera module on a Jetson Nano and it works perfectly there. So the camera itself is definitely functional.
That’s really helpful — the fact that the camera works on the Jetson Nano lets us eliminate a lot of variables through process of elimination.
Here’s where we stand:
- Camera module: CONFIRMED WORKING (tested on Jetson Nano)
- Ribbon cable: CONFIRMED WORKING (continuity test passed on all pins)
- Raspberry Pi 3B CSI interface: THE SUSPECT
Here’s my reasoning: error -121 means the Pi’s I2C controller sends the Start condition on the bus and then waits for an ACK (acknowledgment) bit from the slave device — but it never receives one. Since we know the sensor and cable are both good, the fault has to be on the Pi side. The CSI connector’s I2C pins (SDA/SCL on the 15-pin FFC) are simply not able to establish communication with the sensor. This points to a defective CSI interface on your Raspberry Pi 3B.
Next step I’d recommend:
Test your Pi 3’s CSI port with any other known-working camera if you have one lying around.
- If a second camera also fails, then the Pi 3 board is defective and you’ll need to replace it.
- If a second camera works, then there might be something specific going on between the B0242 and the Pi 3 (like a subtle pinout mismatch), though that seems unlikely given the camera works fine on the Jetson Nano.
Right now the evidence strongly points to a bad CSI interface on the Pi board itself.