Maximum exposure time with the Picamera2 library

I am doing tests with the Raspberry Pi HQ camera and the Picamera2 library.

The library’s documentation indicates that the “camera_controls” property should be consulted for information about the “ExposureTime” control.

The aforementioned “camera_controls” property reports a range between 0 and 66666 us for the “ExposureTime” control.

However, in tests that I have carried out, a maximum time of 99660 us is reached.

I would like to know if this time coincides with your observations and experiences.

On the other hand, although in my case it is not necessary, for some type of application, longer exposure times could be needed. The 99660 us limit seems low for certain camera apps.

Thank you for your answers.

I could not find a complete datasheet of the IMX477 sensor, many published are truncated. The table of contents mentions in Miscellaneous Functions the Long Exposure Mode Setting. In other sensors from Sony, the information regarding long exposure indicates:

IMX576-AAKH5-C can achieve a very long exposure time (up to 128 times of 1 vertical period)
by simply expanding the vertical blanking time setting.

That should be in the seconds rage, It maybe an issue the library is not implementing it.

PS. 99550 µs coincides with the 1 time vertical period for 10 frames per second setting.

here the maximal exposure time of the Pi HQ camera is quoted as 670.74 seconds. Note that you might hit a limit if you do not adjust the frame rate the camera is operating with accordingly.

With some soldering, there are even longer exposures possible, see here for example - I guess the longest exposure time was 3600 sec.

1 Like

@PM490 @cpixip:

Thanks for your comments.

I must admit that he was a bit confused with this matter.

In the Picamera2 library documentation, there is no reference to a possible “framerate” parameter, as it did in the old library.

My partially mistaken idea is that the library itself automatically calculates the “framerate” parameter.

I say partially because, actually it is so. The library itself calculates the parameter, although within certain limits that are determined by the “FrameDurationLimits” control.

In my case the “FrameDurationLimits” control was limited to a maximum of 100000 us which in effect results in 10 fps.

I have carried out new tests increasing the time to 1000000 us and, indeed, now the exposure times are in accordance with the new parameter.

Definitely resolved.

1 Like

Sorry, I ment the FrameDurationLimits when talking about framerate. Specifically, I am using in my scanner-software the following code:

config = self.create_still_configuration(controls={"FrameDurationLimits": (100, 10000000)})

which allows me to set exposure times from about 1/4000 sec to several secs per frame.

1 Like