14.1.1.3.5.1. OpenMV STM32 cameras: dfu-util¶
For scripted or CI flashing of the single-core STM32 OpenMV cameras (M4, M7, H7, H7 Plus, Pure Thermal, N6), use dfu-util directly. It is included in the OpenMV SDK and in OpenMV IDE’s tool directory. On Linux, non-root access to the DFU device requires udev rules: install OpenMV IDE (which installs them), or copy its 99-openmv*.rules files from share/qtcreator/pydfu/ into /etc/udev/rules.d/ and run sudo udevadm control --reload-rules && sudo udevadm trigger. Otherwise run dfu-util with sudo.
These cameras use the openmv_dfu bootloader and are flashed by DFU alt setting (-a N), not by absolute address – the bootloader maps each alt to the correct flash region. To enter the bootloader, just plug the camera in: it listens briefly at power-up, and -w makes dfu-util wait for it to appear. --reset on the final transfer reboots the camera into the new firmware.
Camera ( | App VID:PID | DFU VID:PID | Firmware command | ROMFS command |
|---|---|---|---|---|
OpenMV Cam M4 ( |
|
|
|
|
OpenMV Cam M7 ( |
|
|
|
|
OpenMV Cam H7 ( |
|
|
|
|
OpenMV Cam H7 Plus ( |
|
|
|
|
OpenMV Pure Thermal ( |
|
|
|
|
OpenMV Cam N6 ( |
|
|
|
|
Flash the OpenMV Cam H7, firmware then ROMFS:
dfu-util -w -d ,37C5:9204 -a 2 -D build/OPENMV4/bin/firmware.bin
dfu-util -w -d ,37C5:9204 -a 3 --reset -D build/OPENMV4/bin/romfs0.img
See also
To wipe the camera’s internal FAT filesystem – the fix when a bad main.py or a corrupted filesystem stops the camera from booting – see Erasing the internal filesystem.
To restore the camera’s bootloader itself, see Restoring the bootloader.