v2.5.0

v2.5.0 reworks the Model Editor into a full machine-learning Dataset Editor, switches firmware flashing to the cross-platform dfu-util tool, and adds support for Arduino-branded OpenMV cameras. This release stays on the Qt Creator 4.0.2 base and contains no breaking changes for existing projects.

Highlights

  • Dataset Editor replaces the old Model Editor, letting you build machine-learning image datasets directly from the camera with named class folders and a live preview pane.

  • Export Dataset writes a dataset out as an Edge Impulse-compatible .zip.

  • dfu-util firmware flashing replaces the Windows-only DfuSeCommand.exe / pydfu.py path, removing the need to manually install libusb/pyusb on macOS and Linux.

  • Arduino Portenta H7 support recognizes Arduino-branded OpenMV cameras for serial detection, bootloader connection, and DFU firmware download.

  • Download progress for firmware/package updates is now real and cancelable, with separate Downloading and Installing phases.

New features

  • Dataset Editor. The Model Editor was reworked into a full Dataset Editor for building machine-learning image datasets. The Dataset Editor menu adds New Dataset, Open Dataset, and Close Dataset actions; a new dataset is pre-seeded with a dataset_capture_script.py template, and a labels.txt is generated and kept in sync as class folders are added. Images are captured on-camera into named class folders, shown in a QFileSystemModel-backed tree with double-click-to-open and a context-menu Delete/Rename, alongside a live image preview pane (aa0101189, 96cbcd97a, f1a39272b, 28cc1bfbd).

  • Export Dataset. A new action writes the dataset out as a .zip, flattening images into <class>.<snapshot> class-named files compatible with Edge Impulse, shown with a cancelable progress dialog. Class folders changed from numbered (NNNNN.name.class) to plain name.class (f1e6b6a0d, 0297d4b9e, aa69ab62c).

  • dfu-util firmware flashing. Firmware flashing was rewritten to use the cross-platform dfu-util tool instead of the old Windows DfuSeCommand.exe / pydfu.py path. connectClicked() now calls downloadFirmware() and the old “PyDFU requires libusb” instruction dialogs are gone, removing the requirement to manually install libusb/pyusb on macOS and Linux (2bf0b71c7, 5396b7072, d64cb05b1).

  • Desktop and Linux launcher icons. On Windows the installer now creates a Desktop shortcut in addition to the Start Menu entry, and the Linux build now installs an application icon (openmv.png) via bin.pro. The .desktop Icon reference was added but later removed, so the Linux launcher ships without an Icon= entry (327fc2f69, ccca0859f, b1e2b0469).

  • Single-pixel inspection. The frame buffer viewer and serial terminal now show Point (x, y) in the resolution label and draw the selection band when you click a single point, instead of only reporting multi-pixel ROIs (86839b4c0).

  • New example scripts. Bundled a large batch of new examples including remote image transfer over UART/USB (raw and JPEG, controller and remote roles), “popular features” remote-control demos, 100 fps IR-LED readout tracking, an RTSP video server, advanced image drawing with custom palettes, ulab numpy-style math, and perspective/rotation correction (c0a6ff6c8, 0cc0a7761, d77667c20).

Other changes and improvements

  • Update download progress. The firmware/package update download now shows real download progress and can be canceled, separating the Downloading and Installing phases instead of a single indeterminate Installing bar (c36d151f3, f1a39272b).

  • Frame buffer re-centering. The frame buffer viewer now re-centers the image within the view on updates and resizes (327fc2f69).

  • HTTPS links. External help and code-generator links and update-download URLs were switched from http to https (Google generators, OpenMV forums, openmv.io download, and the GPL license link) (a0a104e63).

  • Bundled example updates. The old CMSIS CNN example 09-Feature-Detection/cnn.py was removed, the 02-Board-Control/dac_control.py example was renamed to dac_write.py, and a new 02-Board-Control/dac_write_timed.py example was added; a bundled mobilenet_labels.txt label file was also added (330548305).

  • Updated bundled firmware. Rebuilt and updated the bundled firmware images (openmv/uvc/bootloader) for OPENMV2, OPENMV3, OPENMV4, and OPENMV4P boards across several resource-update commits. The bundled firmware version (firmware.txt) progressed 3.5.2 -> 3.6.1 -> 3.6.2 -> 3.6.4 across these updates, shipping 3.6.4, and the HM01B0 (0xB0) sensor was added to the recognized sensor list (sensors.txt) (0cc0a7761, c0a6ff6c8, a6df35010, 330548305).

  • Updated dfu-util binaries. Updated the bundled dfu-util prefix/suffix/util binaries for arm, linux32, linux64, osx, and windows (dd8733632).

Bug fixes

  • Fixed a transient command-prompt/console window flashing on screen during firmware DFU download and video tool (ffmpeg/ffplay) operations on Windows (092fbad74).

  • Fixed the default editor font on ARM Linux hosts (e.g. Raspberry Pi) to use DejaVu Sans Mono instead of a missing/unsuitable Monospace family (53a864787).

Platform and tool support

  • Qt Creator base: 4.0.2.

  • Arduino Portenta H7 / Arduino-branded OpenMV cameras are now supported: the Arduino USB VID 0x2341 (PID 0x005B masked) is recognized for serial detection and bootloader connection across the serial port-scan locations (7f3e2b389, 3687643c6).

  • DFU firmware download now also targets the Arduino DFU device (2341:035b) in addition to the STM 0483:df11 bootloader, allowing Arduino board firmware to be flashed via dfu-util (2d47c6dac).

  • New sensor: the HM01B0 (0xB0) sensor was added to the recognized sensor list (sensors.txt) (a6df35010).

  • Bundled tools: dfu-util flashing tooling is now shipped for arm, linux32, linux64, osx, and windows.

  • Bundled firmware: OPENMV2, OPENMV3, OPENMV4, and OPENMV4P openmv/uvc/bootloader images were rebuilt and the bundled firmware version was updated to 3.6.4 (progressing 3.5.2 -> 3.6.1 -> 3.6.2 -> 3.6.4) (a6df35010, c0a6ff6c8, 0cc0a7761).

Breaking changes

None. Existing projects and scripts continue to work unchanged; the firmware flashing rewrite is transparent to users.