15.4.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. -w makes dfu-util wait for the device to appear; --reset on the final transfer reboots the camera into the new firmware.

Camera (TARGET)

App VID:PID

DFU VID:PID

Firmware command

ROMFS command

OpenMV Cam M4 (OPENMV2)

37C5:1202

37C5:9202

-a 2 -D firmware.bin

-a 3 -D romfs0.img

OpenMV Cam M7 (OPENMV3)

37C5:1203

37C5:9203

-a 2 -D firmware.bin

-a 3 -D romfs0.img

OpenMV Cam H7 (OPENMV4)

37C5:1204

37C5:9204

-a 2 -D firmware.bin

-a 3 -D romfs0.img

OpenMV Cam H7 Plus (OPENMV4P)

37C5:124A

37C5:924A

-a 2 -D firmware.bin

-a 4 -D romfs0.img

OpenMV Pure Thermal (OPENMVPT)

37C5:1205

37C5:9205

-a 2 -D firmware.bin

-a 4 -D romfs0.img

OpenMV Cam N6 (OPENMV_N6)

37C5:1206

37C5:9206

-a 1 -D firmware.bin

-a 3 -D romfs0.img

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