Arducam 12MP*2 Synchronized Stereo Camera Bundle with RPi 4 camera not detected

After getting the camera to work with raspistill by using Legacy Camera Enable, I thought I was well on my way to accessing the camera through Python using PiCamera(), but that was not true. I am extremely disappointed now to see that the Stereo Camera bundle does not work with Python at all. Apparently the only way to use this camera bundle with Raspberry Pi is in legacy camera mode and using the deprecated raspistill and raspivid commands. I believe that I had it working with the same limitations in Bullseye, and I thought I might be able to get around the limitations by reverting to Raspberry Pi OS (Legacy), aka Buster, but I face the same problems in this configuration. If the camera bundle does not work on Bullseye or with Python, then it is not a suitable camera bundle for use with RaspberryPi at all. Am I missing something?

Hi,
Arducam new 12MP*2 Synchronized Stereo Camera Bundle does not support on legacy version camera framework. It just support libcamera framework on bullseye system.

If you review the posts I have made in this thread, you will see that I was not able to get the camera working by following the instruction posted on your site. The only way I was able to get the OS to recognize the cameras was by enabling legacy camera support. With legacy support enabled, I was able to preview the camera feed in real time with raspistill -t 0 and raspivid -t 0. Without enabling Legacy Camera Support, the camera was not recognized. I followed these instructions

If you are running the latest version of Raspberry Pi OS. (January 28th,2022 or later releases, Debian version:11(Bullseye)). You need to update the config file and use libcamera apps.

  • For Raspberry Bullseye users running on Pi 4, please do the following:

sudo nano /boot/config.txt
Find the line: camera_auto_detect=1, update it to:
camera_auto_detect=0
dtoverlay=imx477
Save and reboot.

After following the above instructions, the entry “Camera” did not appear in Raspberry Pi Configuration > Interfaces. vcgencmd get_camera returned supported=0 detected=0, libcamera interfaces=0. I enabled I2C, then rebooted as some posters suggested, but that did not change anything. I first attempted all of this with the latest 64 bit RPi OS, and when that did not work, I went through the same steps with the 32 bit OS, but the behavior seems the same.

Now I am back to the 64 bit OS and considering changing to a different camera, since the documentation on how to get the camera working is inconsistent with the current operating system.

If you assert that the Arducam 12MP*2 Synchronized Stereo Camera Bundle is compatible with Raspberry Pi4 B with Bullseye installed, it would be extremely important to post up to date documentation describing how to get the camera working with the latest OS and the Raspberry Pi 4 B hardware and the Bullseye OS.

  1. Where did you get the camera module(s)?
  • Purchased from UCTRONICS
  1. Model number of the product(s).
  • Arducam 12MP*2 Synchronized Stereo Camera Bundle Kit for Raspberry Pi, Two 12.3MP IMX477 Camera Modules with CS Lens and Camarray Stereo Camera HAT
    SKU: B0265R
  1. What hardware/platform were you working on?
  • Raspberry Pi 4 b running Rasberry PI OS Bullseye 64 bit (tested also with 32 bit)
  1. Instructions you have followed. (link/manual/etc.)
  1. Problems you were having.
    The camera is not recognized.
  • lsmith@raspberrypi:~ $ vcgencmd get_camera
  • supported=0 detected=0, libcamera interfaces=0
  1. The dmesg log from your hardware.
  • see my next reply (too long for this post)
  1. Troubleshooting attempts you’ve made.
  • Tried the recommended steps from above Arducam docs link on both 32 bit and 64 bit Bullseye OS.
  • vcgencmd get_camera returns supported=0 detected=0 libcamera interfaces=0
  • libcamera-hello returns

Made X/EGL preview window [0:01:49.178002923] [1479] INFO Camera camera_manager.cpp:293 libcamera v0.0.0+3544-22656360 ERROR: *** no cameras available ***

  • Verified that the camera is connected correctly by using Enable Legacy Camera Support, running vcgencmd get_camera and verifying that it returned supported=1 detected=1, and then running raspistill -t 0 and raspivid -t 0, which both produce the expected image/video.
  1. What help do you need?
  • Please review the information I have provided and explain what configuration steps need to be taken for Raspberry Pi 4 model B running Bullseye OS to allow vcgencmd get_camera to recognize the camera/hat and how to verify it is working.
  1. dmesg log

I don’t know if it is helpful, but on another forum thread I see that there is some discussion about which I2C bus the camera is connected to, and perhaps the camera is on a different bus than the standard camera support software would assume. I checked with and without the stereo camera hat plugged in, and as poster c2h6 mentioned in his January 16 post, the camera hat appears to be on Bus 0x0A (10). I ran i2cdetect -y 10 with and without the camera hat, and I can see the same values on Bus 10 when the hat is connected, and they disappear when the hat is disconnected:

WITH THE HAT CONNECTED:
lsmith@raspberrypi:~ $ i2cdetect -l
i2c-20 i2c Broadcom STB : I2C adapter
i2c-10 i2c i2c-22-mux (chan_id 1) I2C adapter
i2c-1 i2c bcm2835 (i2c@7e804000) I2C adapter
i2c-21 i2c Broadcom STB : I2C adapter
i2c-0 i2c i2c-22-mux (chan_id 0) I2C adapter
i2c-22 i2c bcm2835 (i2c@7e205000) I2C adapter
lsmith@raspberrypi:~ $ i2cdetect -y 10
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: – – – – – – – –
10: – – – – – – – – – – – – – – – –
20: – – – – 24 – – – – – – – – – – –
30: – – – – – – – – – – – – – – – –
40: – – – – – – – – – – – – – – – –
50: – – – – – – – – – – – – – – – –
60: – – – – 64 – – – – – – – – – – –
70: – – – – – – – –
lsmith@raspberrypi:~ $

WITH THE HAT DISCONNECTED:
lsmith@raspberrypi:~ $ i2cdetect -l
i2c-20 i2c Broadcom STB : I2C adapter
i2c-10 i2c i2c-22-mux (chan_id 1) I2C adapter
i2c-1 i2c bcm2835 (i2c@7e804000) I2C adapter
i2c-21 i2c Broadcom STB : I2C adapter
i2c-0 i2c i2c-22-mux (chan_id 0) I2C adapter
i2c-22 i2c bcm2835 (i2c@7e205000) I2C adapter
lsmith@raspberrypi:~ $ i2cdetect -y 10
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: – – – – – – – –
10: – – – – – – – – – – – – – – – –
20: – – – – – – – – – – – – – – – –
30: – – – – – – – – – – – – – – – –
40: – – – – – – – – – – – – – – – –
50: – – – – – – – – – – – – – – – –
60: – – – – – – – – – – – – – – – –
70: – – – – – – – –

Hello,

This camera can be used on Bullseye system. You just need to config it and run libcamera apps. From the above information you mentioned, I think you don’t need to enable legacy. You can run raspi-config to disable the legacy and execute the config file(dtoverlay=imx477 and camera_auto_detect=0). Then reboot.
The Bullseye system doesn’t use vcgencmd get_camera to detect cameras. You can input ls /dev/video* to check if there is /dev/video0. If it exists, the camera has been detected and you can use libcamera apps to access it.
Looking forward to your reply.

I have set these parameters in the config.

ls /dev/video* yields:

/dev/video10 /dev/video13 /dev/video16 /dev/video21 /dev/video31
/dev/video11 /dev/video14 /dev/video18 /dev/video22
/dev/video12 /dev/video15 /dev/video20 /dev/video23

libcamera-hello yields:

Made X/EGL preview window
[4:32:54.231020858] [2070] INFO Camera camera_manager.cpp:293 libcamera v0.0.0+3544-22656360
ERROR: *** no cameras available ***

All of the responses I have received here seem quite confident that the Arducam 12MP*2 Synchronized Stereo Camera Bundle will work with Raspberry Pi 4 model B using the libcamera-apps, but I am getting nowhere with this. Any advice?

Hi,
Don’t worry. Maybe we can help you by remote assistant. Please contact our [email protected] for detail steps.

I wrote to [email protected] on the morning of June 29 requesting support as you recommended, but I have not yet received a response.

Sorry to hear that.
Please tell me your email address. our sales will check it again.

[email protected]

I have finally found time to revisit this. I have the Arducam 12MP*2 Synchronized Stereo Camera Bundle on RaspberryPi 4B. I have reinstalled the latest RPi OS Bullseye (same as I had before, but perhaps updated). In searching the product page and documentation at the Arducam site I see that the same outdated videos and instruction documents are still there. I started with the following steps:

  • change camera_auto_detect from 1 to 0 and add dtoverlay=imx477 in the config
  • check ls /dev/video* – it did not list /dev/video0
  • check libcamera-hello – ERROR: *** no cameras available ***

That is about where I left off in June. Today I made a bit of progress, though. I had previously mentioned that i2cdetec found the cameras on bus 10. I don’t really know how the busses are addressed. I was looking at the section at the bottom of this page:

https://docs.arducam.com/Raspberry-Pi-Camera/Multi-Camera-CamArray/quick-start/#switch-composition-mode

… and stumbled on the examples on how change settings using i2cset. By accident, I discovered that the command:

lsmith@raspberrypi:~ $ i2cset -y 10 0x24 0x24 0x01
lsmith@raspberrypi:~ $ libcamera-still -t 0

…shows me the feed of the camera connected to MIPI RX0, and:

lsmith@raspberrypi:~ $ i2cset -y 10 0x24 0x24 0x02
lsmith@raspberrypi:~ $ libcamera-still -t 0

… shows me the feed of the camera connected to MIPI RX1.

I do not immediately see a way to view the stereo feed. Can you let me know?

No response from Arducam, but posting this in case anyone else needs to know. On RaspberryPi 4B, if you cannot get your 12MP*2 Synchronized Stereo Camera Bundle working, you need to use i2cset. A couple of minutes of trial and error today got me to the answer I needed. i2cset -y 0x24 0x24 0x00 puts the camera hat in stereo mode with the feed from both cameras passed to the operating system as if from a single camera.

Hi @lloydtravissmith,
I am wondering if everything is fine with you working simultaneously with multiple cameras now. For me, cameras are detected but the preview window is like this:

I used this POST and installed low speed kernel, and now I have this error:

pi@raspberrypi:~/RaspberryPi/Multi_Camera_Adapter/Multi_Adapter_Board_4Channel/Multi_Camera_Adapter_V2.2_python $ sudo ./init_camera.sh
----Test i2c1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: – – – – – – – –
10: – – – – – – – – – – – – – – – –
20: – – – – – – – – – – – – – – – –
30: – – – – – – – – – – – – – – – –
40: – – – – – – – – – – – – – – – –
50: – – – – – – – – – – – – – – – –
60: – – – – – – – – – – – – – – – –
70: – – – – – – – –
Error: Write failed
----Detecting the /dev/video0 device
video0 detected!
—Start testing each camera
if all of them are normal, after it finished,you will see four image in the current path.
Start testing the camera A
Error: Write failed
error: XDG_RUNTIME_DIR not set in the environment.
Made X/EGL preview window
[0:12:01.736900856] [2437] INFO Camera camera_manager.cpp:299 libcamera v0.0.3+40-9b860a66
[0:12:02.130221974] [2439] INFO RPI raspberrypi.cpp:1425 Registered camera /base/soc/i2c0mux/i2c@1/imx519@1a to Unicam device /dev/media4 and ISP device /dev/media1
[0:12:02.131625008] [2437] INFO Camera camera.cpp:1028 configuring streams: (0) 2328x1748-YUV420
[0:12:02.132128037] [2439] INFO RPI raspberrypi.cpp:805 Sensor: /base/soc/i2c0mux/i2c@1/imx519@1a - Selected sensor format: 2328x1748-SRGGB10_1X10 - Selected unicam format: 2328x1748-pRAA
[0:12:02.209501847] [2443] WARN IPARPI raspberrypi.cpp:799 Could not set AF_MODE - no AF algorithm
Segmentation fault
Start testing the camera B
Error: Write failed
error: XDG_RUNTIME_DIR not set in the environment.
Made X/EGL preview window
[0:12:03.259693483] [2447] INFO Camera camera_manager.cpp:299 libcamera v0.0.3+40-9b860a66
[0:12:03.642140166] [2448] INFO RPI raspberrypi.cpp:1425 Registered camera /base/soc/i2c0mux/i2c@1/imx519@1a to Unicam device /dev/media4 and ISP device /dev/media1
[0:12:03.642932746] [2447] INFO Camera camera.cpp:1028 configuring streams: (0) 2328x1748-YUV420
[0:12:03.643237056] [2448] INFO RPI raspberrypi.cpp:805 Sensor: /base/soc/i2c0mux/i2c@1/imx519@1a - Selected sensor format: 2328x1748-SRGGB10_1X10 - Selected unicam format: 2328x1748-pRAA
[0:12:03.705794234] [2452] WARN IPARPI raspberrypi.cpp:799 Could not set AF_MODE - no AF algorithm
Segmentation fault
Start testing the camera C
Error: Write failed
error: XDG_RUNTIME_DIR not set in the environment.
Made X/EGL preview window
[0:12:04.748975935] [2456] INFO Camera camera_manager.cpp:299 libcamera v0.0.3+40-9b860a66
[0:12:05.130966614] [2457] INFO RPI raspberrypi.cpp:1425 Registered camera /base/soc/i2c0mux/i2c@1/imx519@1a to Unicam device /dev/media4 and ISP device /dev/media1
[0:12:05.131824767] [2456] INFO Camera camera.cpp:1028 configuring streams: (0) 2328x1748-YUV420
[0:12:05.132163947] [2457] INFO RPI raspberrypi.cpp:805 Sensor: /base/soc/i2c0mux/i2c@1/imx519@1a - Selected sensor format: 2328x1748-SRGGB10_1X10 - Selected unicam format: 2328x1748-pRAA
[0:12:05.195827205] [2461] WARN IPARPI raspberrypi.cpp:799 Could not set AF_MODE - no AF algorithm
Segmentation fault
Start testing the camera D
Error: Write failed
error: XDG_RUNTIME_DIR not set in the environment.
Made X/EGL preview window
[0:12:06.234920532] [2465] INFO Camera camera_manager.cpp:299 libcamera v0.0.3+40-9b860a66
[0:12:06.623896148] [2466] INFO RPI raspberrypi.cpp:1425 Registered camera /base/soc/i2c0mux/i2c@1/imx519@1a to Unicam device /dev/media4 and ISP device /dev/media1
[0:12:06.625532975] [2465] INFO Camera camera.cpp:1028 configuring streams: (0) 2328x1748-YUV420
[0:12:06.626098115] [2466] INFO RPI raspberrypi.cpp:805 Sensor: /base/soc/i2c0mux/i2c@1/imx519@1a - Selected sensor format: 2328x1748-SRGGB10_1X10 - Selected unicam format: 2328x1748-pRAA
[0:12:06.708622952] [2470] WARN IPARPI raspberrypi.cpp:799 Could not set AF_MODE - no AF algorithm
Segmentation fault
pi@raspberrypi:~/RaspberryPi/Multi_Camera_Adapter/Multi_Adapter_Board_4Channel/Multi_Camera_Adapter_V2.2_python $ sudo ./init_camera.sh
----Test i2c1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: – – – – – – – –
10: – – – – – – – – – – – – – – – –
20: – – – – – – – – – – – – – – – –
30: – – – – – – – – – – – – – – – –
40: – – – – – – – – – – – – – – – –
50: – – – – – – – – – – – – – – – –
60: – – – – – – – – – – – – – – – –
70: – – – – – – – –
Error: Write failed
----Detecting the /dev/video0 device
video0 detected!
—Start testing each camera
if all of them are normal, after it finished,you will see four image in the current path.
Start testing the camera A
Error: Write failed
error: XDG_RUNTIME_DIR not set in the environment.
Made X/EGL preview window
[0:12:01.736900856] [2437] INFO Camera camera_manager.cpp:299 libcamera v0.0.3+40-9b860a66
[0:12:02.130221974] [2439] INFO RPI raspberrypi.cpp:1425 Registered camera /base/soc/i2c0mux/i2c@1/imx519@1a to Unicam device /dev/media4 and ISP device /dev/media1
[0:12:02.131625008] [2437] INFO Camera camera.cpp:1028 configuring streams: (0) 2328x1748-YUV420
[0:12:02.132128037] [2439] INFO RPI raspberrypi.cpp:805 Sensor: /base/soc/i2c0mux/i2c@1/imx519@1a - Selected sensor format: 2328x1748-SRGGB10_1X10 - Selected unicam format: 2328x1748-pRAA
[0:12:02.209501847] [2443] WARN IPARPI raspberrypi.cpp:799 Could not set AF_MODE - no AF algorithm
Segmentation fault
Start testing the camera B
Error: Write failed
error: XDG_RUNTIME_DIR not set in the environment.
Made X/EGL preview window
[0:12:03.259693483] [2447] INFO Camera camera_manager.cpp:299 libcamera v0.0.3+40-9b860a66
[0:12:03.642140166] [2448] INFO RPI raspberrypi.cpp:1425 Registered camera /base/soc/i2c0mux/i2c@1/imx519@1a to Unicam device /dev/media4 and ISP device /dev/media1
[0:12:03.642932746] [2447] INFO Camera camera.cpp:1028 configuring streams: (0) 2328x1748-YUV420
[0:12:03.643237056] [2448] INFO RPI raspberrypi.cpp:805 Sensor: /base/soc/i2c0mux/i2c@1/imx519@1a - Selected sensor format: 2328x1748-SRGGB10_1X10 - Selected unicam format: 2328x1748-pRAA
[0:12:03.705794234] [2452] WARN IPARPI raspberrypi.cpp:799 Could not set AF_MODE - no AF algorithm
Segmentation fault
Start testing the camera C
Error: Write failed
error: XDG_RUNTIME_DIR not set in the environment.
Made X/EGL preview window
[0:12:04.748975935] [2456] INFO Camera camera_manager.cpp:299 libcamera v0.0.3+40-9b860a66
[0:12:05.130966614] [2457] INFO RPI raspberrypi.cpp:1425 Registered camera /base/soc/i2c0mux/i2c@1/imx519@1a to Unicam device /dev/media4 and ISP device /dev/media1
[0:12:05.131824767] [2456] INFO Camera camera.cpp:1028 configuring streams: (0) 2328x1748-YUV420
[0:12:05.132163947] [2457] INFO RPI raspberrypi.cpp:805 Sensor: /base/soc/i2c0mux/i2c@1/imx519@1a - Selected sensor format: 2328x1748-SRGGB10_1X10 - Selected unicam format: 2328x1748-pRAA
[0:12:05.195827205] [2461] WARN IPARPI raspberrypi.cpp:799 Could not set AF_MODE - no AF algorithm
Segmentation fault
Start testing the camera D
Error: Write failed
error: XDG_RUNTIME_DIR not set in the environment.
Made X/EGL preview window
[0:12:06.234920532] [2465] INFO Camera camera_manager.cpp:299 libcamera v0.0.3+40-9b860a66
[0:12:06.623896148] [2466] INFO RPI raspberrypi.cpp:1425 Registered camera /base/soc/i2c0mux/i2c@1/imx519@1a to Unicam device /dev/media4 and ISP device /dev/media1
[0:12:06.625532975] [2465] INFO Camera camera.cpp:1028 configuring streams: (0) 2328x1748-YUV420
[0:12:06.626098115] [2466] INFO RPI raspberrypi.cpp:805 Sensor: /base/soc/i2c0mux/i2c@1/imx519@1a - Selected sensor format: 2328x1748-SRGGB10_1X10 - Selected unicam format: 2328x1748-pRAA
[0:12:06.708622952] [2470] WARN IPARPI raspberrypi.cpp:799 Could not set AF_MODE - no AF algorithm
Segmentation fault

Anyone has any ideas what is the issue?

Hi,
Can you post the product link here?

Hi @Dion
This is the link: Amazon.com

Thanks

@Dion the link brings me back here!

This link is my first issue. Then after installing the low-speed package I got new errors as mentioned above and no preview is available.

Could you please let me know what I need to do for solving the issue?

Thanks.

Hi,
:sweat_smile:
My bad! It should be the link below: