Hi everyone, I’m hitting a wall with exposure time on my setup. I’m running v4l2-ctl and the max exposure I can set is 5000, which I think works out to only about 0.5s. I need to go well beyond that for some long-exposure shots I’m trying to do. Has anyone managed to push past this limit?
Thanks for posting. Can you tell me a bit more about your hardware setup? Specifically which camera module and how it’s connected to the host, plus what OS you’re using. That will help narrow things down.
Sure. I’m using a Raspberry Pi HQ Camera (IMX477) connected over USB through an Arducam IMX477 UVC Camera Adapter Board. It shows up as a UVC device and I’m controlling it with v4l2-ctl on Linux. Everything else works fine, it’s just the exposure limit I can’t get past.
That matches a known limitation. Could you run v4l2-ctl --list-ctrls and paste the exposure line? I want to confirm exactly what the driver is reporting as the max value for your adapter board revision.
Here’s the relevant line: exposure 0x00980911 (int) : min=0 max=5000 step=1 default=312 value=312. So yeah, max 5000. I also found this thread that sounds like the same issue:
A few people there mentioned emailing Arducam for updated firmware to go past the limit. Is that still the right path?
Thanks, that confirms it. This is the Arducam IMX477 UVC camera adapter board (UC-733 Rev.C1 and Rev C) used to connect the Raspberry Pi HQ Camera over USB. The current firmware on that adapter board caps the maximum exposure time at 5000 in v4l2-ctl, which is exactly what you’re seeing. To go beyond 5000 you’ll need a firmware update for the adapter board itself — it’s not something you can change from the host side.
Got it, so a firmware update is definitely needed. Could you send me the updated firmware and any install instructions? I’m a bit nervous about bricking the board, so a step-by-step guide would really help.
No problem. I’ve sent you the updated firmware package and the installation guide through private message — please check your messages and download it from there. The guide covers the UC-733 Rev.C1 and Rev C boards, and it walks through the update process step by step. Please follow it closely and make sure the board stays powered during the flash.
Thanks, I got the private message with the firmware and guide. Quick question before I start: after flashing, will v4l2-ctl actually report a higher max exposure, or does it stay at 5000 and just allow longer values somewhere else?
Good question. After the update, v4l2-ctl should report an increased maximum for the exposure control, so you’ll be able to set values above 5000 directly. If for any reason the max doesn’t change after a successful flash, let me know what the new exposure line shows and we’ll go from there.
Just to summarize where we’ve landed: the root cause is that the stock firmware on the UC-733 Rev.C1 / Rev C adapter board limits maximum exposure time to 5000 in v4l2-ctl. A firmware update is required to exceed that limit, and I’ve provided the updated firmware and installation guide via private message. Please follow the guide to flash the board and then confirm the new exposure range in v4l2-ctl. If the max is still 5000 after the update, post your results here and we’ll continue troubleshooting.