Camera Board v2.2 conflict with PiJuice

  1. Where did you get the camera module(s)?
    Online

  2. Model number of the product(s)?
    Arducam Camera Board v2.2

  3. What hardware/platform were you working on?
    Raspberry Pi 3B +, Raspberry Pi 4, Bullseye, tried both, 64 and 32 bit version.

  4. Instructions you have followed. (link/manual/etc.)
    Multi-Camera Adapter Board - Arducam
    And others…

  5. Problems you were having?
    Everything works fine until PiJuice is installed https://github.com/PiSupply/PiJuice/tree/master/Software
    I use libcamera and gpio and i2cset to switch between cameras

  6. The dmesg log from your hardware?
    Errors are random, but usually it simply stops at:
    [2:07:45.254006299] [18250] INFO Camera camera_manager.cpp:293 libcamera v0.0.0+3424-e68e0f1e
    [2:07:45.273862348] [18251] WARN CameraSensorProperties camera_sensor_properties.cpp:141 No static properties available for ‘imx477’
    [2:07:45.273936413] [18251] WARN CameraSensorProperties camera_sensor_properties.cpp:143 Please consider updating the camera sensor properties database
    [2:07:45.273981935] [18251] ERROR CameraSensor camera_sensor.cpp:551 ‘imx477 10-001a’: Camera sensor does not support test pattern modes.
    [2:07:45.309527025] [18251] INFO RPI raspberrypi.cpp:1317 Registered camera /base/soc/i2c0mux/i2c@1/imx477@1a to Unicam device /dev/media3 and ISP device /dev/media0
    [2:07:45.310515077] [18250] INFO Camera camera.cpp:1028 configuring streams: (0) 2028x1520-YUV420
    [2:07:45.310925819] [18251] INFO RPI raspberrypi.cpp:747 Sensor: /base/soc/i2c0mux/i2c@1/imx477@1a - Selected sensor format: 2028x1520-SBGGR12_1X12 - Selected unicam format: 2028x1520-pBCC
    [2:07:45.411399435] [18255] INFO IPARPI raspberrypi.cpp:631 Request ctrl: Saturation = 1.000000
    [2:07:45.411523866] [18255] INFO IPARPI raspberrypi.cpp:631 Request ctrl: Contrast = 1.000000
    [2:07:45.411573086] [18255] INFO IPARPI raspberrypi.cpp:631 Request ctrl: Brightness = 0.000000
    [2:07:45.411617879] [18255] INFO IPARPI raspberrypi.cpp:631 Request ctrl: AwbMode = 0
    [2:07:45.411660276] [18255] INFO IPARPI raspberrypi.cpp:631 Request ctrl: Sharpness = 1.000000
    [2:07:45.411705226] [18255] INFO IPARPI raspberrypi.cpp:631 Request ctrl: ExposureValue = 0.000000
    [2:07:45.411772259] [18255] INFO IPARPI raspberrypi.cpp:631 Request ctrl: AeExposureMode = 0
    [2:07:45.411813927] [18255] INFO IPARPI raspberrypi.cpp:631 Request ctrl: FrameDurationLimits = [ 33333, 33333 ]
    [2:07:45.411863199] [18255] INFO IPARPI raspberrypi.cpp:631 Request ctrl: AeMeteringMode = 0
    [2:07:45.411903513] [18255] INFO IPARPI raspberrypi.cpp:631 Request ctrl: NoiseReductionMode = 3

  7. Troubleshooting attempts you’ve made?
    Unistalled PiJuice - it works again.
    Installed PiJuice ( because I need it for my project), the error comes back.
    I have tried some options from PiJuice manual
    “If your ID EEPROM address is set to 0x52 (Which you will need to change if stacking another HAT) then you will need to manually load the driver in the /boot/config.txt by adding the following line:”

  8. What help do you need?
    I am not an advanced expert, I suspect there is some i2c conflicts between PiJuice and Multi-Camera adapter, however I cannot figure out what exactly and how to solve.

The code I use to switch cameras is below.I works just fine without PiJuice software. But glitches when PiJuice software installed.
import RPi.GPIO as gp
import os
import time

gp.setwarnings(False)
gp.setmode(gp.BOARD)

gp.setup(7, gp.OUT)
gp.setup(11, gp.OUT)
gp.setup(12, gp.OUT)

gp.setup(15, gp.OUT)
gp.setup(16, gp.OUT)
gp.setup(21, gp.OUT)
gp.setup(22, gp.OUT)

gp.output(11, True)
gp.output(12, True)
gp.output(15, True)
gp.output(16, True)
gp.output(21, True)
gp.output(22, True)

def main():
print(“Start testing the camera A”)
i2c = “i2cset -y 1 0x70 0x00 0x04”
os.system(i2c)
gp.output(7, False)
gp.output(11, False)
gp.output(12, True)
capture(1)