Disabling 3A (auto white balance, auto gain, auto exposure)

I have a ArduCam B0425 IMX327, using a Raspberry Pi4B

I’m not able to find/build an imx327.dbto - despite ArduCam docs indicating to use this. Instead, I’m using an imx290.dtbo

I’m able to stream from it on both raspbian and ubuntu.

However, for my usecase, I need to disable AWB, as well as auto gain/exposure, etc.
In fact, I don’t need SIP/IPA at all, except for bin’g. I’m doing my own cv (that’s what I do for a living).

I’ve attempted dtoverlay settings, as well as tuning files in libcamera apps - to no avail. I’ve tried setting awb to a fixed value; again, nothing.

When I start streaming, I get a red-tinted view (expected with the IR-cut filter off), but when I move an object (say my hand) into view, the background colors all shift to a white balance - which throws off all my frame-to-frame cv work.

  • Anyone have an idea of how I can disable AWB (and other 3A effects)?

  • Anyone have an idea of where I can find an imx327.dtbo or dts or json tuning file?
    I found one imx327.dtbo online, but got the following errors:

[0:00:43.075986751] [2536]  INFO Camera camera_manager.cpp:299 libcamera v0.0.4+22-923f5d70
[0:00:43.100898399] [2537]  WARN CameraSensorProperties camera_sensor_properties.cpp:243 No static properties available for 'imx327'
[0:00:43.100968807] [2537]  WARN CameraSensorProperties camera_sensor_properties.cpp:245 Please consider updating the camera sensor properties database
[0:00:43.163333455] [2537] ERROR IPAProxy ipa_proxy.cpp:149 Configuration file 'imx327.json' not found for IPA module 'raspberrypi'
[0:00:43.163505066] [2537] ERROR IPARPI raspberrypi.cpp:234 Could not create camera helper for imx327
[0:00:43.163548844] [2537] ERROR RPI raspberrypi.cpp:1352 Failed to load a suitable IPA library
[0:00:43.163843511] [2537] ERROR RPI raspberrypi.cpp:1277 Failed to register camera imx327 10-001a: -22
ERROR: *** no cameras available ***

I assume the dtbo needs to be built/installed for my platform, but I need a dts to work with.

On the first issue, after experimentation I was able to disable auto awb and exposure by setting --awb-gains 1.8,1.8 --gain 4.0

I need to tune these values, but at least now the colors don’t shift when new objects come into view.

I would still like to find/update an imx327.dtbo - if anyone can point me to an imx327.dtbo and/or imx327.dts source file, imx327.json tuning file - I’d really appreciate it.

On a separate front, I’ve disconnected the ArduCam B0425 light-sensitive resistor (for it’s auto IR-cutoff switch) and replaced it with GPIO connectors to programmatically enable/disable the IR filter.

Next I’ll be isolating the IR for structured light depth sensing. :nerd_face: