Synchronizing external LED with Arducam IMX219 STROBE signal without Raspberry Pi delays

Hi everyone, I’m working on a project with an Arducam IMX219 and I’m kind of stuck. The IMX219 is a rolling shutter camera, but I need it to behave more like a global shutter. Has anyone tried doing something like this?

Welcome! Can you share a bit more about your setup and what exactly you’re trying to achieve? Making a rolling shutter act like a global shutter usually comes down to controlling exposure or illumination timing, so the more details the better.

Sure. My setup is an Arducam IMX219 (rolling shutter), an external LED, and I’ve been considering using a Raspberry Pi for signal detection. My idea is to detect the camera’s flash signal whenever it takes a frame, and then synchronize the external LED with it so all the pixel lines expose at the same time.

That’s a reasonable approach. Have you checked the IMX219 datasheet for any flash or strobe output? Some of these sensors expose a strobe signal specifically to sync external illumination with the exposure window.

I did look at the datasheet. It says the camera can output the flash signal on a STROBE pin, but from what I can tell that pin is inside the chip, so it’s really hard to get that signal out to something external.

Right, the STROBE signal isn’t brought out on the Arducam board in an easy-to-access way, so that’s the main obstacle. Have you considered using the Pi to detect the signal instead? The big question there is whether it can react quickly enough.

That’s exactly the part I’m hesitant about. The LED needs to be on only during the interval where the exposure slots of each pixel line overlap on the time axis. If the Pi introduces any time delay, the LED could fire too late and the whole synchronization would be off.

Yeah, latency is the real concern here. A userspace GPIO toggle under Linux is going to add unpredictable delays, and even a real-time kernel or bare metal approach would still have some jitter. It might help to figure out how tight that overlap window actually is for your frame rate and exposure settings.

I’m still leaning towards using the Pi to detect the flash/STROBE signal, but I’m not confident it will be fast enough. The time limitation really worries me, because if the LED misses that narrow overlap window, the whole idea falls apart.

To summarize where things stand: you’re trying to sync an external LED to the IMX219’s exposure so the rolling shutter behaves like a global shutter. The sensor does have a STROBE signal, but it isn’t accessible externally on the Arducam. The remaining idea is to detect the signal with the Pi, but GPIO and software latency make that timing very tight. That part is still unresolved for now.