Frame buffer


I have just found about about the OpenMV cam after using an ESP32-cam. I have a question about motion detection software. I would like to know if it is possible to continuously buffer X number of seconds into the memory and then if motion is detected save this buffer and the next x seconds into a video file. I am sure this can be done but just want to check before I take the deep dive and buy a board.

I have been using pikrellcam on a raspberry pi which has these features- PiKrellCam

My second question is what current does the OpenMV H7 draw when in a low power state. I would like to turn off the board during the day time as I will be recording nocturnal animals.

Many thanks,

This is possible with the hardware, however, it’s not implemented by our camera driver yet.

When it’s in a lower power state it’s less than 1mA.

OK do you have plans to implement a frame buffer in the driver soon? I’m recording bats and they move in and out of shot in much less than a second so any lag in the motion processing means they are missed.

Sorry about the duplicate post. I also asked about whether the board has an RTC?

The microcontroller has an RTC, however there’s no backup battery, so you’ll need to keep power on all the time. The RTC still functions in low-power modes. There’s no plan to implement recording in memory for now, but if it ever gets implemented it will only be possible on the H7+ with SDRAM.

EDIT You could also connect a PIR sensor to the camera, and wake it up on interrupt from I/O (there’s an example). You have to try and see if that’s good enough for your application.

I’ve done some tests with a pir but no success. Thanks though. Probably not the one for me at the mo,

Tracking two objects(circle shape) within the field of frame buffer. But the problem is when I try to center one object then the other object also comes to the field. So the device is confused to center the object. My question is when multiple objects in the frame buffer(scope of the camera), Is there any chance to track and center the single object in the frame buffer.
My device is OpenMv H7 Plus.

Hi, you need to explain more clearly what the problem is… if you have two objects that look similar then you need some way to distinguish them. Can you give a picture of the issue?

Please see the attached file for you reference. here frame buffer have two circle shape objects, when i try to center the object 1 to the frame then object 2 also there at frame see at attached file. in this case i confused to know the object 1 from the find_circles() library to center the object in frame buffer.

Please find attached file for your reference

Is there any way to tell the difference between the two objects? If you want to choose one over the other you need to have some criteria for that. Otherwise, they both are valid to center on.


I’m just wondering if frame buffers were ever implemented in the h7+? Or plans in the future?


You can alloc an extra in the sensor module.

Double buffering is not here yet. I haven’t been working on given there are other features I have to build out.

This is on my todo list and will be done before June.

The original request here has been implemented with ImageIO.


Sorry for the slow reply, I’ve been investigating openmv again and it looks really promising. Do you have some more details on how to implement a frame buffer in the system and then record the previous x frames when motion is detected.

I assume it will be some combination of these two example scripts:


It would be useful to know what number of frames might be possible to store in some different resultions (e.g. qqvga and vga)

Thanks for your help,

Just do:


And use an X greater than or equal to 4. This gives you an image fifo of that depth.

Alternatively, see the ImageIO module.

Great, I will have a look, I assume I would need to clear that buffer every x frames aswell so it doesn’t become unmanageable?

The image fifo mode for the frame buffer does pretty much what you want. There’s also a setting you can enable to disable automatic flushing if you want older images. By default it flushes itself if you start dropping frames.

Please see the sensor documentation.