UC-444 rev C adapter not communicating with cameras on Raspberry Pi 4B

Hi everyone, hoping someone can point me in the right direction here. I’ve got an Arducam Multi-Camera Adapter Board (the Dual Camera Adapter Board B016601, marked UC-444 rev c) on a Raspberry Pi 4B. The Pi recognizes both cameras, but the multiplexer can’t seem to communicate with them and I get no image at all. If I connect each camera directly to the Pi they both work fine, and I’ve tried multiple ribbon cables. I2C seems to be working too. I’ve never been able to get this board working, so I’m starting to think the UC-444 adapter itself is bad. Any ideas?

Thanks for the details. Since both cameras work individually and I2C is responding, this usually points to an adapter-board wiring or overlay issue rather than the cameras themselves. Can you work through the Quick Start Guide for the dual camera adapter board (B016601) here: Quick Start Guide for Multi-Camera Adapter Board - Arducam Wiki — pay special attention to the camera-mux-2port overlay section. Let me know how it goes.

I went through that guide and I still can’t access the cameras. The Pi sees 2 cameras, but the mux still won’t talk to them or show an image. Both work fine when connected straight to the Pi, I2C is working, and I’ve swapped ribbon cables around. Honestly, I’ve never gotten it to work.

Let’s dig into the configuration. Which camera models are you using with the adapter board? And can you run this and paste the output here:

cat /boot/config.txt

Two IMX219 cameras. Here’s the full output of cat /boot/config.txt:

pi@raspberrypi:~ $ cat /boot/config.txt
# For more options and information see
# http://rpf.io/configtxt
# Some settings may impact device functionality. See link above for details

# uncomment if you get no picture on HDMI for a default "safe" mode
#hdmi_safe=1

# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
#overscan_left=16
#overscan_right=16
#overscan_top=16
#overscan_bottom=16

# uncomment to force a console size. By default it will be display's size minus
# overscan.
#framebuffer_width=1280
#framebuffer_height=720

# uncomment if hdmi display is not detected and composite is being output
#hdmi_force_hotplug=1

# uncomment to force a specific HDMI mode (this will force VGA)
#hdmi_group=1
#hdmi_mode=1

# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
#hdmi_drive=2

# uncomment to increase signal to HDMI, if you have interference, blanking, or
# no display
#config_hdmi_boost=4

# uncomment for composite PAL
#sdtv_mode=2

#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800

# Uncomment some or all of these to enable the optional hardware interfaces
dtparam=i2c_arm=on
#dtparam=i2s=on
#dtparam=spi=on

# Uncomment this to enable infrared communication.
#dtoverlay=gpio-ir,gpio_pin=17
#dtoverlay=gpio-ir-tx,gpio_pin=18

# Additional overlays and parameters are documented /boot/overlays/README

# Enable audio (loads snd_bcm2835)
dtparam=audio=on

# Automatically load overlays for detected cameras
camera_auto_detect=0

# Automatically load overlays for detected DSI displays
display_auto_detect=1

# Enable DRM VC4 V3D driver
#dtoverlay=vc4-kms-v3d
max_framebuffers=2

# Disable compensation for displays with overscan
disable_overscan=1

[cm4]
# Enable host mode on the 2711 built-in XHCI USB controller.
# This line should be removed if the legacy DWC2 controller is required
# (e.g. for USB device mode) or if USB support is not required.
otg_mode=1

[all]

[pi4]
dtoverlay=vc4-fkms-v3d
# Run as fast as firmware / board allows
arm_boost=1

[all]
dtoverlay=camera-mux-2port,cam0-imx219,cam1-imx219
gpu_mem=128

Thanks. The overlay line and I2C settings look reasonable in what you pasted, but I’d like to see the actual hardware connections and gather a proper diagnostic report. Could you post a few photos of how everything is wired up?

Also, after a reboot, run these commands to generate a bug report:

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

That will create an arducam-bug-report.txt file in the current directory. Attach that file here along with the photos.

Here are the photos of the hardware connections and the generated bug report.

Bug report: arducam-bug-report.txt

Hardware photos:
2023-08-31 14.14.35.jpg
2023-08-31 14.14.42.jpg
2023-08-31 14.15.14.jpg
2023-08-31 14.15.20.jpg

Thanks for the photos and report. Looking through the bug report, I’m not seeing the line dtoverlay=camera-mux-2port,cam0-imx219,cam1-imx219 actually loaded. In the config.txt you pasted earlier it’s at the bottom, but the report suggests it may not be taking effect. Can you double-check that the line is still present in /boot/config.txt (and not commented out), then reboot and test capture with:

libcamera-still -t 0 --camera 0

Let me know if you get an image or an error. Reference for running the multi-camera setup: Quick Start Guide for Multi-Camera Adapter Board - Arducam Wiki