H7plus flash corrupted/wiped after power cycle


I am using Openmv H7plus-es (10+ pcs) in several machine vision projects and I am very happy with it’s functionality, but flash corruption/wipeout happens to me quite often even when no usb is connected and camera runs from main.py on flash. It just becomes empty after power cycling.

I’ve seen some posts about on disabling flash storage by putting pyb.usb_mode(‘VCP’) into boot.
I have no luck with doing so. It works on other MicroPython boards I use, but not on H7plus.
Please advice what am I doing wrong.

I’d be also very happy to hear an advice on what else can I do to protect contents of my flash, make it permanent and avoid such cases.

I plan to make more OpenMV based products and donate as soon as it bacame safe and stable to use.
Regards from Poland

Daniel Górny (IOIA/ReverbLand Research Lab)

It could be a power issue, I’d check the power source when not using USB how do you power the cams ?

The default main.py script can be replaced so even if the flash is erased, it gets reset, but that requires building the fw from source.

Thanks for a quick reply and your suggestions.
According to your question I power the camera via my custom hat which also deal with ethernet communication. It is connected to +5v pin of openmv.


It could be the power supply not responding fast enough to transient loads, does this happen when connected to USB ? If not, maybe a few more caps 0.1uF, 10uF, 47uF and 100uF on the hat would solve it.

Thanks for your comments. I’ll investigate. For sure those cams are being disconnected unexpectedly (as they go through safety relays disconnecting power on some events), but there are no read/write operations happening I believe. Will try with caps anyway. Thanks.

Does the pyb.usb_mode(‘VCP’) somehow work anyway??

Yes, just create a /boot.py file with the following:

import pyb

To restore VCP+MSC, you just need to delete boot.py either from PC using an SD card reader or with import os; os.unlink('boot.py')

Thanks, I tried that and now it works and it was not before (for some reason). Hope it helps at it is being mentioned as a reason of problems on MPY forum.