Pi Zero W can't find new IR-CUT camera

Hi,

I just bought an IMX477 IR-CUT camera from: Amazon and neither my Pi Zero or Pi 3B+ can see it.

The OS is Bullseye and Glamor has been set active. I have tried both with the camera auto detection on and with it off and using dtoverlay=imx477.

Using journalctl -b I can see the an error IMX477 10-001a: failed to read chip id 477, with error -5. This error appears to be an -EIO error so is too generic to know what the issue is.

i2cdetect -y 10 just shows a bunch of -- values suggesting nothing is being detected.

The overlay appears to be loaded as I can see an entry at /proc/device-tree/soc/i2c0mux/i2c@1/imx477@1a.

I have tried every cable I have that can connect to the camera and a Pi but nothing works with this new module. My Pi 3B is able to take pictures with another imx477 HQ camera module I have hooked to it but hooking the new IR-CUT module to the Pi 3B results in the same “no cameras available” message in libcamera-hello and in libcamera-vid.

Markings on the new module are “UC-517 Rev.D3”.

At this point I have tried everything I know to try but I can’t even tell if the module powers up or not as there doesn’t seem to be any sort of LED or anything.

Anyone have any ideas on next steps or how to verify if I just have a bad camera module and need to get it replaced?

Thanks for any help.

libcamera-hello output:

$ LIBCAMERA_LOG_LEVELS=*:0 libcamera-hello -t 0 -n 
[0:48:38.370990197] [1621] DEBUG IPAModule ipa_module.cpp:334 ipa_rpi_vc4.so: IPA module /usr/lib/arm-linux-gnueabihf/libcamera/ipa_rpi_vc4.so is signed
[0:48:38.373596176] [1621] DEBUG IPAManager ipa_manager.cpp:245 Loaded IPA module '/usr/lib/arm-linux-gnueabihf/libcamera/ipa_rpi_vc4.so'
[0:48:38.379711128] [1621] DEBUG IPAModule ipa_module.cpp:334 ipa_vimc.so: IPA module /usr/lib/arm-linux-gnueabihf/libcamera/ipa_vimc.so is signed
[0:48:38.382236108] [1621] DEBUG IPAManager ipa_manager.cpp:245 Loaded IPA module '/usr/lib/arm-linux-gnueabihf/libcamera/ipa_vimc.so'
[0:48:38.385360083] [1621]  INFO Camera camera_manager.cpp:297 libcamera v0.0.5+83-bde9b04f
[0:48:38.390939039] [1622] DEBUG Camera camera_manager.cpp:69 Starting camera manager
[0:48:38.433415703] [1622] DEBUG DeviceEnumerator device_enumerator.cpp:224 New media device "bcm2835-codec" created from /dev/media3
[0:48:38.435090690] [1622] DEBUG DeviceEnumerator device_enumerator_udev.cpp:96 Defer media device /dev/media3 due to 5 missing dependencies
[0:48:38.451471560] [1622] DEBUG DeviceEnumerator device_enumerator_udev.cpp:322 All dependencies for media device /dev/media3 found
[0:48:38.453621543] [1622] DEBUG DeviceEnumerator device_enumerator.cpp:252 Added device /dev/media3: bcm2835-codec
[0:48:38.459789494] [1622] DEBUG DeviceEnumerator device_enumerator.cpp:224 New media device "bcm2835-isp" created from /dev/media0
[0:48:38.461786478] [1622] DEBUG DeviceEnumerator device_enumerator_udev.cpp:96 Defer media device /dev/media0 due to 4 missing dependencies
[0:48:38.468152428] [1622] DEBUG DeviceEnumerator device_enumerator.cpp:224 New media device "bcm2835-isp" created from /dev/media1
[0:48:38.470377411] [1622] DEBUG DeviceEnumerator device_enumerator_udev.cpp:96 Defer media device /dev/media1 due to 4 missing dependencies
[0:48:38.484840296] [1622] DEBUG DeviceEnumerator device_enumerator_udev.cpp:322 All dependencies for media device /dev/media0 found
[0:48:38.487064279] [1622] DEBUG DeviceEnumerator device_enumerator.cpp:252 Added device /dev/media0: bcm2835-isp
[0:48:38.501389165] [1622] DEBUG DeviceEnumerator device_enumerator_udev.cpp:322 All dependencies for media device /dev/media1 found
[0:48:38.503548148] [1622] DEBUG DeviceEnumerator device_enumerator.cpp:252 Added device /dev/media1: bcm2835-isp
[0:48:38.509460101] [1622] DEBUG DeviceEnumerator device_enumerator.cpp:224 New media device "unicam" created from /dev/media2
[0:48:38.512711076] [1622] DEBUG DeviceEnumerator device_enumerator.cpp:252 Added device /dev/media2: unicam
[0:48:38.517359039] [1622] DEBUG Camera camera_manager.cpp:113 Found registered pipeline handler 'PipelineHandlerVc4'
[0:48:38.527877956] [1622] DEBUG DeviceEnumerator device_enumerator.cpp:312 Successful match for media device "unicam"
[0:48:38.531383928] [1622] DEBUG DeviceEnumerator device_enumerator.cpp:312 Successful match for media device "bcm2835-isp"
[0:48:38.534826901] [1622] DEBUG RPI vc4.cpp:192 Unable to acquire a Unicam instance
[0:48:38.538404872] [1622] DEBUG Camera camera_manager.cpp:113 Found registered pipeline handler 'SimplePipelineHandler'
[0:48:38.542020844] [1622] DEBUG Camera camera_manager.cpp:113 Found registered pipeline handler 'PipelineHandlerUVC'
[0:48:38.544471824] [1622] DEBUG Camera camera_manager.cpp:113 Found registered pipeline handler 'PipelineHandlerVimc'
ERROR: *** no cameras available ***

dmesg output:

$ sudo dmesg | grep imx477
[    0.161807] platform 20801000.csi: Fixed dependency cycle(s) with /soc/i2c0mux/i2c@1/imx477@1a
[   55.774471] imx477 10-001a: failed to read chip id 477, with error -5
[   55.798332] imx477: probe of 10-001a failed with error -5

config.txt contents (this has been changed many times while trying to figure out a solution … this is just the current version of config.txt and it has the same issues reported, above):

$ 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

#display_rotate=0
#hdmi_cvt=300 300 60 1 0 0 0

# 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=1680
#framebuffer_height=1050

# 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=2
# hdmi_mode=87

# 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=off

# 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

# Trying to figure out how to get the IR camera working ...
dtparam=i2c_vc=on

# Automatically load overlays for detected cameras
# camera_auto_detect=1

# 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

[pi4]
# Run as fast as firmware / board allows
arm_boost=1

[all]
dtoverlay=vc4-kms-v3d
gpu_mem=128
avoid_warnings=2
dtoverlay=imx477
# hdmi_force_hotplug=1
# hdmi_cvt=240 240 60 1 0 0 0
# hdmi_group=2
# hdmi_mode=87
# display_rotate=0

Hi,
Thank you for your detailed information.
Now, I also have some info to confirm with you.

  • The pictures of this camera module, back and front. The clearer, the better:-)

  • The order number in Amazon.

Hi Dion,

Thanks for getting back with me. The Amazon order number is: 112-4759922-0985037.

BACK IMAGE

Note that both of these images were taken with the Pi 3B+ mentioned earlier and using the older, non-IR HQ imx477 sensor I purchased previously. I did this mostly just to show that the current setup does work (OS, cables, etc.) and that, although I am pretty new to the whole Pi and Pi camera modules thing, I have figured out enough to get this far :smiley:

Kind Regards,
-scott

FRONT IMAGE

Split because, “new users can only put one image in a post”.

@Dion just in case I was supposed to “at” you in the reply

Hi scott,
Wow, thank you for your information! We may have time difference so that I can not reply you at first .
I still have some points to confirm with you.

I would like to see pictures of the new camera module which is unable to access, rather than the old module which can work well :face_with_peeking_eye:

Considering that you are using 22-22 pin flex cable, are you connecting the camera module to Pi zero?Kindly note that Pi 3’s CSI interface is 15 pin. Besides, you should check out the hardware connection.From the picture you posted, this wire is connected backwards.
image

I may have accidentally confused things.

The pictures I have posted are of the camera module that I just purchased that is not working (the “new camera module”).

What I was trying to communicate was the pictures of the “new camera module” (that is not working) were taken by the Pi 3B+ that I mentioned (was one of the Pi boards) the new camera module wasn’t working on.

The camera module used for these pictures (of the new, not working, camera module) were taken with the old, totally works without any problems, camera module. Both the old and the new camera module are IMX477 based modules.

I was hoping to show that:

  • I know how to hook the camera modules up correctly (otherwise I wouldn’t have been able to take these pictures of the new, not working, camera module
  • at least one of the Raspberry Pi computers being used (the Pi3B+) does work
  • the cables I’m using are good

Besides, you should check out the hardware connection.From the picture you posted, this wire is connected backwards

This comment is of interest to me. When you say I have the wire “connected backwards” are you saying that the connector seen in these images should actually be connected to the Pi Zero and the that the other side should be the one connected to the connector in the images?

Or are you saying that the connector shown has the pins going the wrong way? I was following the Raspberry Pi Camera instructions that said the metal pins of the connector cable should be facing the same direction as the camera sensor. In these pictures the metal cable pins are facing away from us. Is this the wrong direction for them to face?

The camera module on the on the Pi3B+, that took these pictures, has the connector cable pins facing the same direction as the camera sensor so I did the same thing with this module.

The other end of the cable connector shown is currently hooked to the Pi Zero. The metal pins on that one are pointing down towards the Pi Zero motherboard. Is this the correct direction for them to be pointing?

Again, thank you for the assistance. I would actually love it if the only problem here is that I have a connector facing the wrong direction. The only way that makes sense here, though, is if this new, not working, camera module specifically has the connector set up to be connected with the pins going in the opposite direction, on the module, that my working camera module has.

Kind Regards,
-scott

Hi scott,
Thank you for your detailed message.

I would like to know where you purchased the old working module, from Arducam or other vendor. Please see the screenshot below, it is a standard Raspberry Pi imx477 HQ camera, whose connector is different from this new camera module which is not working.
image
Besides, I attach the pictuer bwlow which shows correct hardware connection. You can see the metal pin rather than blue plastic as you showed in the previous answer. Please revert the connection here and try it again.
image

@Dion,

Thank you so much!

I grabbed a magnifying glass and stared at both the Pi Zero connector and the camera module connector and using your guidance figured out the correct connections for both. Once I did that and tried again it all just started working like it was supposed to!

Since the Pi 3B+ and the older module both use the thicker connectors (and thus the pins are also way easier to see) I figured out that the 22 pin and 15 pin connectors do appear to actually point in the opposite direction.

Both of these images were taken with the new module in extremely dark lighting … not quite pitch black, mind you, but still very, very, dark and the images came out great.

Very happy, happy, joy, joy.

Super grateful for you helping me through my ID10T issues!

Kind Regards,
-scott

1 Like