Frame Sync on MT9M114 and MT9V034

According the documentation (Quick reference for the openmvcam — MicroPython 1.19 documentation) there is a Frame Sync input for the H7 with OV5640 or OV7725. There is nothing about the MT9M114 and MT9V034. Does the Frame Sync work for these two too?

The MT9V034 is controlled via a GPIO pin on the camera. We have support in our API to toggle this on snapshot.

The frame sync input doesn’t really do anything for the OV5640/OV7725/MT9M114.

On the OpenMV RT which is coming out soon we’ve redesigned this circuit to be something we want folks to really be able to use well in the future.

Do I understand correctly that none of the sensors can actually be synced to an external frame sync?

The MT9V034 can be triggered by the camera on snapshot. You can then wait on an I/O pin to toggle to take a snapshot.

For the OV7725, it will output a trigger on that pin itself. However, it’s just a phase sync. it does not directly control triggering.

So, as of right now, the only thing that can take a triggered snapshot is the MT9V034 with using the camera to trigger it based on an I/O event.

luckily I was planning to use that one!
But at what rate can I take these snapshots?
And can I take the next one while processing a previous one?

The MT9V034 runs at up to 400 FPS. The rate depends on the resolution and if you lower the exposure time. Normally it maxes out at 80 FPS with auto exposure.

And can I take the next one while processing a previous one?

If you run the camera in non-triggered mode then yes, it will stream images and you will be able to process then one after another. If you put it into triggered mode then no… as you don’t want an image unless you trigger it.

Expect half the frame rate of streaming mode in triggered mode. E.g. 40 FPS versus 80 FPS for the normal settings.

I need to synchronize somehow to the light source.

Can I program a fixed frame rate for the MT9M114?
If my video processing takes for instance 40ms (which would make a 25Hz fps possible), can I set the frame rate to fixed 20 Hz?

Yeah, so, just use the set_framerate() function on the sensor. This sets the cameras internal frame rate to what you ask. Note, do this after changing the resolution as we toss the frame rate when you do that.

And why you don’t synchronize the light to the max frame rate camera can archive.?

Because I have multiple OpenMv cameras that need to be synchronized.
Because the OpenMV does not have sync input, I will try to synchronize by controlling the frame rate. If could for instance set the frame rate of all cameras to 20 Hz. And then sync them by makeing little adjustments to the frame rate.

In such I use an output from the cameras to trigger the light. All the outputs drive an optocoupler with a diode attached.
There is always the option to leave the light on though…
What is your setup?
It’s impossible to synchronize them that way also…

Sorry for this being terrible right now. You’re going to love our email update today since we have some new solutions to make this much better.