External shutter - capture on demand

Hi Guys,

I have a setup with a mechanical shutter in front of my IMX185 camera.

Today I’m just allowing the IMX185 to stream at 1080p60 effectively filming the shutter opening and closing but because the shutter runs at 25fps you don’t actually see the mechanical shutter operating in the video feed (because its faster than the eye).

As I need to implement frame rates (on the mechanical shutter) slower than 24/25fps flickering will become apparent in the video feed and I’m looking at ways to combat this.

I have a Shutter open signal which fires everytime the shutter is fully opened which is tied into a GPIO on the Jetson which I was hoping I could use to steer when the camera is capturing.

Regardless of implementation method I need to implement what is known as “Hold-over” or flicker-free operation meaning that I need to freeze the frame everytime the shutter signal fires and hold it until it fires again (to avoid filming the shutter opening and closing)

I can see two different methods but I’m not sure if any of them is doable…

“Snapshot” mode:
Take a “picture” everytime the shutter signal triggers and hold that picture until it fires again, the problem here is that this needs to work with speeds up to 25fps in HD 1080 resolution and I don’t know if that’s possible

“Stream” mode:
Let the camera stream constantly into a frame buffer and then only pull a “valid” frames out at the time the signal fires.

My preference would be to get “Snapshot” mode working as the camera would then not constantly be “cycling” between total darkness (shutter closed) and full light (open shutter) which leads me to believe that I can get better imaging this way.

I read other posts on this forum where people tried something a little similar and they couldn’t get it above 7fps I think that had to do with starting / stopping the CSI feed though (which is what i guess you’re doing in snapshot mode)

Another idea may be to “freeze” the AWB/AGC and PGA’s in the camera between each time the shutter signal fires as this would only take a few I2C commands and should (in my opinion) be doable with 25fps

Ideas are welcome


hello LasseRoedtnes,

you could have an implementation to take a snapshot.
please refer to the [L4T Multimedia API Reference]
here’s [Multimedia API Sample Applications]-> [09_camera_jpeg_capture] for your reference,