Arducam B0444 on Pi Zero 2 W libcamera gain maxes at 800, need thousands

Hi, I’m running into a gain limit issue with my Arducam B0444 on a Raspberry Pi Zero 2 W. I need the camera gain to go much higher than it currently does - I’m looking for gain in the thousands. But the digital gain (‘dg’) tops out at 4, and the maximum analog gain seems to be 200. So the combined max I can get is only 800 (200 x 4). Is there a way to push this higher?

Thanks for the details. Just to make sure I understand your setup: are you using libcamera on the Pi Zero 2 W? Also, can you share the exact command or parameters you’ve tried? One thing to keep in mind is that the digital gain on this sensor is handled by the ISP and is limited in firmware, so it’s not purely a hardware ceiling. Knowing how you’re requesting gain will help narrow this down.

Yes, I’m using libcamera. I’ve been trying things like:

libcamera-hello -t 0 --gain 2000 --shutter 99999

What I noticed is that when I request a gain higher than the analog maximum, the digital gain compensates. For example, if I set gain 400, it uses analog gain 200 and digital gain 2. But it still won’t go above the 800 combined total.

Right, that matches how the pipeline behaves: the analog gain for this camera can go up to 200, and the ISP digital gain caps at 4. When you request something above the analog max, the remaining gain is applied digitally until it hits that 4x cap. Just so I’m clear on the goal - when you say you need gain ‘in the thousands’, do you mean a total gain value like 1000+, 2000, etc.? A screenshot of the on-screen values would also help.

Here’s a screenshot of what I’m seeing:

image.png

The rightmost number labeled ‘dg’ is the digital gain, and it maxes out at 4. I’ve been playing with libcamera-hello parameters to try to max out light sensitivity, but 200 analog x 4 digital = 800 is as high as it goes.

Thanks for the screenshot. Based on what you’ve described, the root cause is the combination of two limits: analog gain maxes out at 200, and the ISP digital gain is firmware-limited to 4x, so the total combined gain ceiling is 800. That’s below the ‘thousands’ target you’re aiming for. At this point I don’t have a workaround that bypasses those limits - I’m still checking on the exact gain values you need and whether there’s any firmware or config path to raise the digital gain cap. I’ll follow up once I have more.