I'm utilizing the OAK-D-CM4. I've attempted to use two different Arducam Camera modules into the CSI-1 Adapter on the OAK-D-CM4 and am not getting either camera to operate with the OAK-D-CM4.

The camera modules in question are the Arducam 16MP Autofocus Camera and the new Arducam ToF camera.
I have tested both setups against a fresh Rpi CM4 + Base Board Instal, and the cameras work with both these setups.

Is there any guidance on utilizing non-luxonis camera modules through the CSI-1 port? Do I have to purchase the RPi adapter board? Or can I only use Luxonis camera modules through the CSI-1 port on the Oak-D-CM4?

Hi @CyrilEngmann
Should work afaik, but you might need to install additional drivers. What OSes are installed on the OAK-D-CM4 and RPI-CM4?

Thanks,
Jaka

    Hey jakaskerl Both the OAK-D-CM4 and RPI-CM4 are running Bullseye. The OAK-D-CM4 was running the default image that comes with it, however the kernel has been updated as shown below:
    pi@luxonis:~ $ cat /etc/os-release PRETTY_NAME="Raspbian GNU/Linux 11 (bullseye)" NAME="Raspbian GNU/Linux" VERSION_ID="11" VERSION="11 (bullseye)" VERSION_CODENAME=bullseye ID=raspbian ID_LIKE=debian HOME_URL="http://www.raspbian.org/" SUPPORT_URL="http://www.raspbian.org/RaspbianForums" BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

    pi@luxonis:~ $ uname -a Linux luxonis 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023 aarch64 GNU/Linux

    This is the Raspberry Pi-CM4+Base IO Board
    pi@luxonis2:~ $ uname -a Linux luxonis2 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023 aarch64 GNU/Linux
    pi@luxonis2:~ $ cat /etc/os-release PRETTY_NAME="Debian GNU/Linux 11 (bullseye)" NAME="Debian GNU/Linux" VERSION_ID="11" VERSION="11 (bullseye)" VERSION_CODENAME=bullseye ID=debian HOME_URL="https://www.debian.org/" SUPPORT_URL="https://www.debian.org/support" BUG_REPORT_URL="https://bugs.debian.org/"

    Both devices have similar config.txts

    Here is the Config File from the Oak-D-CM4

    And here is the error I'm receiving from the Arducam i2c probe

    Another test that I did was to swap the two CM4s. Take the CM4 that was initially on the Oak-D-CM4 (nonworking software to interface with the CSI-1 lane) and change it with the Raspberry Pi CM4 (verified to interact with the arducams I've been testing).

    After swapping out the CM4 modules, I am still receiving errors on the OAK-D-CM4 hardware with the now verified software.

    Can you confirm the cable which cable orientation is correct @jakaskerl ? Trying to root out variables.

    Hi @CyrilEngmann
    Looks to me like the contacts are on the top part of the connector. Not sure how your cable is oriented though. Will have to check on monday.

    EDIT: They are indeed.

    Thanks,
    Jaka

    9 days later

    @cycob @jakaskerl Is there any update on the same? I am trying Camera Module 3 and high resolution camera. Which orientation should be the camera attached? Is there any additional need of camera driver?

    Hi @AnshumanFauzdar
    Just letting you know we are looking at it. Seems like an issue where camera is not even recognized. I'm pretty sure it should work though, so I'll let you know when I find a solution.

    Thanks,
    Jaka

      Just following up with some additional details @jakaskerl

      I purchased a brand new Arducam ToF, and a Raspberry Pi Camera Module 3.

      I validated each camera's operation using a fresh Raspberry Pi CM4 Bullseye 64-bit image and a CM4 Base Board.

      Then, I plugged the verified CM4 and camera into the OAK-D-CM4, but neither of the 2 cameras worked.
      Each time, it looks like the dmesg errors are around i2c probe failures.
      i2cdetect finds the specific i2c address for each camera module, but each registers poll "ff"

      Let me know if there are any specific tests you would like me to run; I'm happy to help.

        CyrilEngmann I tried raspi-config to enable camera but there is no option showing up:

        and when checking with libcamera-hello it shows this:

        eir@cm4:~ $ libcamera-hello --list-cameras

        No cameras available!

        Hi @CyrilEngmann thanks,

        I tried with two different RPI cameras. But can not get any i2c readouts at all (no dmesg messages when replugging the camera). In order to recognize the camera it has to be connected to RPI at bootup. When trying that with OAK-Cm4, the device fails to boot due to some power(?) issue.

        That's what I'm looking into currently.

        Thanks,
        Jaka

          jakaskerl with OAK-D CM4 device is powering ON without any power issue [Using power supply delivered with OAK-D CM4] but camera is not recognized as shown in above reply.

          23 days later

          Hi @AnshumanFauzdar
          We found a HW bug that made it so the device couldn't boot with CSI camera connected and therefore couldn't find the camera with lib-camera library.

          Now it seems there is another I2C issue, which we are looking to fix atm.

          Thanks,
          Jaka

            AnshumanFauzdar
            PMIC_EN was pulled low by the CM4 when RPi camera module was inserted.

            The intermediate solution was that the trace was cut and now the device boots up normally, due to PMIC having an internal pull-up on PMIC_EN.

            Thanks,
            Jaka