I’m trying to set a custom exposure profile for libcamera’s automatic exposure (AEA) on an Arducam Pivariety IMX462 camera, but it never takes effect. The camera itself works fine otherwise, it’s just my custom exposure settings that get ignored. Has anyone run into this?
Which Raspberry Pi are you on, and are you using the stock libcamera or Arducam’s fork? Also, which guide are you following for the tuning file? That’ll help narrow it down.
It’s a Raspberry Pi Zero 2W with the 2MP IMX462 color ultra low light STARVIS module (141° wide angle M12 lens, SKU B0444). I’m using Arducam’s libcamera fork from GitHub - ArduCAM/libcamera · GitHub and following their libcamera user guide. For tuning I’ve been working in /usr/share/libcamera/ipa/rpi/vc4, based on the Raspberry Pi Camera Algorithm and Tuning Guide.
Got it. So what did you actually change? Did you add a new exposure mode profile to the tuning file?
Yeah, I followed the tuning guide and edited the camera tuning file, then added an arducam-pivariety.json with my custom exposure_mode profile. The earlier ERROR I was getting actually disappeared after that, but now I get a new WARNING and the exposure changes still don’t take effect.
Can you paste the exact warnings/errors you’re seeing? The full lines would help a lot.
Sure, here’s what comes up:
WARN RPiAgc agc.cpp:554 No exposure profile custom
WARN CameraSensorProperties camera_sensor_properties.cpp:261 No static properties available for ‘arducam-pivariety’
WARN CameraSensorProperties camera_sensor_properties.cpp:263 Please consider updating the camera sensor properties database
ERROR IPAProxy ipa_proxy.cpp:149 Configuration file ‘arducam-pivariety.json’ not found for IPA module ‘rpi/vc4’
One more thing — the exact same procedure works fine on my official Camera Module V3. So it seems specific to how the pivariety camera is integrated with libcamera.
That’s useful. The ‘No static properties available’ warning hints the sensor may not be registered in the properties database. Have you checked the Arducam source tree for the pivariety config/data files?
I dug into it. In the source tree there’s no JSON configuration file for pivariety cameras in src/ipa/rpi/vc4/data, and no static properties for the sensor in src/libcamera/sensor/camera_sensor_properties.cpp. So it looks like I’d need an arducam-pivariety.json for the rpi/vc4 IPA module, plus camera_sensor_properties.cpp updated to include static properties for ‘arducam-pivariety’.
That matches what I’m seeing from the logs. Before we go further down the tuning path, can you confirm the camera is otherwise working? Run:
libcamera-still -t 0
and see if you get a live preview.
Just ran it — yes, libcamera-still -t 0 works and I get a live preview window. So normal capture is fine.
Good, that confirms it. The missing arducam-pivariety.json and the missing static properties in camera_sensor_properties.cpp don’t stop normal camera operation — for regular use you can safely ignore those warnings and the IPAProxy error. The catch is that they only affect advanced configuration, which is exactly the custom exposure mode you’re trying to set on this IMX462. So right now normal usage works, but the custom exposure profile won’t take effect until that JSON config and the sensor properties are added to the Arducam libcamera tree.