v4.0.1¶
v4.0.1 is a ground-up modernization that rebases OpenMV IDE from its long-lived Qt Creator 4.0.2 foundation onto Qt Creator 10.0.1. The full OpenMV plugin stack (frame-buffer viewer, serial/protocol, terminal, histogram, threshold and keypoints editors, video tools, and firmware-flashing wrappers) is re-applied on top of the new base, alongside a polished Flat Light/Flat Dark theme pair, OpenMV-aware Python highlighting, a unified firmware-loader dialog, and broad ARM64 Linux and macOS device-detection support. The Qt Creator base change is a large internal modernization but does not break user projects; a few default behaviors and board definitions did change (see Breaking changes).
Highlights¶
Qt Creator 10.0.1 rebase. The IDE moves from Qt Creator 4.0.2 to 10.0.1: upstream Qt Creator is stripped down to its build basics (98b95fd3b) and the entire OpenMV plugin is re-added on the new foundation (0e8047372).
Flat Light and Flat Dark themes. A polished light/dark theme pair ships with matching custom editor syntax-highlighting styles; the Theme chooser is re-exposed in General settings restricted to just those two, and the default theme is now
flat-dark(21348924b, 13c3849e8).Raw-REPL serial terminal. The terminal now runs, interrupts, reloads, and pastes scripts through a proper MicroPython raw-REPL (CTRL-A/CTRL-D) state machine, reliably handling larger scripts (a7241079c).
OpenMV-aware Python editing. OpenMV modules, classes, functions, methods, and arguments are syntax-highlighted from the bundled documentation, with smarter auto-completion and a bracket/colon-aware auto-indenter (801eab8a8, 8e9f967e7, 9fdff9c6d).
Unified firmware-loader dialog. Flashing now shows a single contextual dialog (Erasing Disk / Flashing Firmware / Flashing Bootloader) with a progress bar and a collapsible, state-remembering Show/Hide Details log (5b51356f8).
OpenMV Cam RT1062 support. Firmware, DFU/flash-loaders, SDP/blhost enumeration, and an eFuse-burn programming step are added for the new i.MX RT1060-class board (a6595f5f7), which is then given a distinct Secure Bootloader (SBL) board variant (d2b11c6c8).
New features¶
Automation flags. The
-auto_update(release/development/ path),-auto_erase, and-auto_runflags let the IDE bootload/erase firmware and then run the open script on connect; after a bootloader reconnect the IDE waits up to 10s for the camera to re-enumerate before continuing (b54affe79, f4e03d978).``-disable_stop`` flag and a
stop on connect/disconnectmenu toggle let users disable stopping the script when connecting or disconnecting (02724ca7d).Stop Script on Connect/Disconnect toggle (on by default) decouples connect/disconnect from stopping the running script; Auto Reconnect now defaults off (a0e78057f).
Board-type prompt. When a connected board reports an architecture not in the firmware mapping, the IDE now prompts the user to pick the board type (remembering the last choice) instead of aborting with an “Unsupported board architecture!” error (b7165eb3d).
OpenMV Python syntax highlighting colors known OpenMV modules, classes, data, functions, methods, and arguments using keyword lists populated from the bundled documentation (801eab8a8, b4d481bf5).
~300 KSyntaxHighlighting language definitions ship with the editor, so source files in many languages are highlighted out of the box (39674a4dc).
Bundled OpenMV example scripts (Hello World, snapshot, video recording, optical flow, event cameras, global shutter, FLIR Lepton, and more) are now committed into and shipped with the IDE (938ac6bbe).
Binary/hex editor is enabled so users can open and inspect binary files, with its toolbar trimmed to fit the OpenMV UI (675bda966).
In-memory document diffing. New files and read-only examples now get a backing temp file so unsaved documents can be diffed, and the external-file diff dialog remembers the last folder used (5281e5f6c, 2934d5216).
Tabbed-editor plugin is re-added, giving the IDE a tabbed document bar; the minimap plugin source was re-added but left disabled in the build for this release (0e8047372).
DfuSe and pydfu fallback flashing is restored for DFU devices that cannot be targeted by serial number, with no-dialog automatic erase handling during connect (e42a5be7d).
i.MX RT eFuse burn. Firmware programming now burns an eFuse (
efuse-program-once) for the RT1060-class boards (8053bb578, a6595f5f7).Linux Root Installs wizard page lets the user opt in or out of the elevated apt library install and the udev rules install instead of always running them (6bac80984).
Other changes and improvements¶
Background serial-port scanning. Port enumeration moved off the UI thread into a dedicated
ScanSerialPortsThreadworker so the IDE stays responsive while scanning (7be4dab26).Broader device detection. Port scanning was refactored into a reusable
filterPorts()helper that folds in picotool and i.MX DFU devices and reclassifies known Arduino bootloader serial ports (NRF/RPI old and loader PIDs) as DFU devices (25a5d30fd).More terminal fallbacks. When launching the bundled video-playback tools (Play Video File / Play RTSP Stream) on Linux, the IDE now falls back through
lxterminal,konsole, andxfce4-terminalin addition toxtermandgnome-terminal(df54007e0).Board-key reporting. Camera registration now parses a “Remaining N” response to tell the user how many board keys are left, and adds a distinct “Invalid Board Key for Board Type” error message (5759e73eb).
GitHub-hosted downloads. Version checks and resource downloads now use
raw.githubusercontent.com/openmv/openmv-ide-versionand theopenmv/openmv-idereleases instead ofupload.openmv.io(994109c28).HTTPS everywhere. All OpenMV web requests (version checks, SWD ID registration, resource and firmware downloads) now use
https://(54347cad0).Linux setup automation. The installer detects missing libraries and udev rules and, if needed, generates an executable
setup.shwith the exact apt-get/pip and udev-rule install commands (and aREADMEtelling the user to run it) (c6dc705e6).Slow-board tolerance. The serial terminal raises its per-read wait from 1ms to 10ms and emits an “OK” acknowledgement when a script finishes (c935e4489).
Smoother flashing progress. Firmware-loader progress bars now switch from indeterminate to 0-100% immediately rather than after the first percentage tick, across dfu-util, bossac, picotool, and i.MX flashing (19d947308, 86d021f92).
Old-bootloader recovery is re-added via a non-fast bootloader mode that sends erase/write commands without the fast-mode query-sync padding (c20112c07).
Cleaner tool consoles. Firmware flashing terminals (bossac, dfu-util, picotool, imx, video tools) now run as standalone console processes with better-formatted command output (8053bb578).
Auto-completion polish. Completion distinguishes classes, methods, and functions with separate argument hints, uses proper code-model icons, and respects public/protected/private scope by underscore prefix; the keyword-completion processor also skips leading whitespace before the cursor on explicitly (manually) invoked completion (8e9f967e7, 68b26b5fc).
Consolidated dialogs. OpenMV’s ad-hoc “Don’t show this again” dialogs – including the startup
OpenMV Cam LED Colorsinfo dialog and the firmware-upgrade and examples prompts – are unified ontoCheckableMessageBox“Do Not Ask/Show Again” dialogs, a “Reset Do Not Ask/Show Again Dialogs” button was added to General settings, and code folding markers are disabled by default (9fdff9c6d).Theme-aware branding. Dark-mode splash screens, dark/light ST and NXP chip logos in the About box, dark-mode tooltip colors, and proper autocomplete icon colors were added (d85fdeb19, 9895a8395, f45ceaaea, 7f3e1f383).
Image viewer cleanup. The share, background, outline, and “set as default” actions are hidden, a fit-to-screen action was added, and animated-image sizing was fixed (b37c55e25).
Context-menu cleanup. “Show in File System View”, “Open Terminal”, “File Properties”, and the “Add/Delete UTF-8 BOM on Save” entries are hidden (5d862c78e).
Dark serial terminal. The standalone terminal uses a proper dark theme with styled scroll bars, updated toolbar icons, and correct high-DPI scrollbar icon reloading across screens (5c3af6880).
Find/Search cleanup. The results panel gains a dark theme, the search-engine selector is hidden, labels are simplified, and Find-in-Files defaults to the Documents/OpenMV folder (20a806550).
Application identity. The IDE now shows the proper OpenMV icon on the desktop, title bar, and taskbar (with high-DPI handling on Windows), and the IDE id was changed to
openmvide(8ad1eed1f).High-DPI splash displays a 2x splash image on Retina/200%-scale displays (626ff673e).
Action bar repair. The left-hand action bar (New File, Open, Save, Undo, Redo, Cut, Copy, Paste) was repaired and given custom OpenMV icons (b8479b5d0).
About dialog logos. Both the Arduino and Edge Impulse partner logos are now shown (Edge Impulse was previously hidden) with high-DPI 2x variants, and the bundled splash artwork was updated (
splash-small-2/splash-large-2) (5facd8d9a).Select Word Under Cursor is enabled; the Go to Block Start/End (Ctrl+[ / Ctrl+]) and Select Block Up/Down commands were briefly re-enabled (36ed5b1a8) but left disabled in the release (626ff673e).
Linux desktop entry gains an Electronics category, a description Comment, and search Keywords (embedded electronics, microcontroller, micropython, computer/machine vision) (470e5702e).
Resource migration. User resources moved to a versioned location (the old qtcreator folder is removed on startup), and harmless DirectWrite font-face warnings on Windows are suppressed (a04af5351, 70765dc2a).
Hidden internal options. The internal
-colorand-themeCore options are hidden from help output, and presentation mode was re-enabled (434c7b4cc).Re-applied core customizations to the fancy action bar/tab widget, message manager/output window, proxy actions, syntax highlighter, and text editor (0e8047372).
QCustomPlot 2.1.1. The bundled plotting library was updated for Qt 6.4 compatibility and correct handling of dynamically changing display DPI (8801415fe).
Cosmetic UI cleanups to scroll-bar arrow icons, the status bar, the document tab bar close buttons, and the editor scroller width; the editor’s “Display File Line Ending” indicator is now off by default (e0c4d2325, 6a26f4430, e130988fb).
Bug fixes¶
Fixed Linux VID/PID detection by reading
/sys/class/tty/<port>/device/ueventfor the real device VID/PID, working aroundQSerialPortInforeturning the USB hub’s identifiers, so cameras behind hubs are detected correctly (28220b351).Fixed Mac bootloader firmware flashing by relaxing endpoint-size assertions and only appending the sync query packet when a write is exactly one USB endpoint in size (86d021f92).
Fixed video playback tools on Linux: Play Video File / Play RTSP Stream are now hidden on 32-bit and ARM Linux (no bundled ffplay), with a gnome-terminal fallback when xterm is unavailable, and the macOS ffmpeg binary was restored from a placeholder (d342649cc, d896f4225).
Increased the bootloader reset start/end delays from 0 to 5 to avoid erase and write commands overlapping during firmware updates (fabc168b6).
Streamlined bootloader recovery: forcing the bootloader to repair a bricked cam skips redundant prompts, and after a DFU bootloader reset the IDE automatically retries updating instead of asking the user to reconnect (12b924088).
Allowed serial frame-buffer/TX-buffer dump commands to be aborted mid-transaction (4a4afae1b).
Removed the serial-port read-stall give-up workaround that could pad responses with zero bytes, improving fast USB transfer reliability (0ee1d8e91).
Fixed WiFi debugging and auto-reconnect: WiFi ports refresh their last-seen timestamp on rediscovery, several iterator-after-erase bugs in WiFi port retirement and DFU/bootloader detection were corrected, and auto-reconnect now waits until the IDE is not busy before reconnecting (cf0b67dc6).
Fixed the video-to-MJPEG converter to parse the frame rate from encoder output and write the correct per-frame millisecond delta, so converted videos play back at the right speed (4a7ad2057).
Fixed firmware-flashing and bundled command-line tools failing to launch by forcing the QProcess backend and correcting the blocking-process event-loop guard (200fe9f3c).
Fixed dataset-editor tree expand/collapse branch icons to render correctly on HiDPI displays by reloading the icon style sheet on device-pixel-ratio change (a0e78057f).
Package/resource updates now automatically restart OpenMV IDE instead of just quitting after install (178ee1b8e).
Fixed Find/search result highlighting and made search-result/file-open actions fall back to the first visible editor when there is no current editor (48c402dfc).
Fixed the firmware-loader dialog so its warning text is cleared and the window resizes correctly when a flashing operation completes (c505c6ade).
Fixed several macOS UI bugs: the tab bar no longer spams icon-load errors and shows correctly on file open (9be8c58de, 5322cf968).
Fixed status bar / output-pane styling and baseline alignment on macOS and Linux (4fc4545de, d29b2baa0, a440d5cd8).
Fixed source-code printing so the page-title header has proper top and side margins instead of touching the page edge (786d6012c).
Platform and tool support¶
Qt Creator base: 10.0.1 (rebased from 4.0.2).
OpenMV IDE: 4.0.0 -> 4.0.1.
OpenMV Cam RT1062 (i.MX RT1060): the initial RT1062 firmware, flash-loader, signed images,
imx.txtentry, and secure-bootloader/eFuseblhostconfig keys were added in theOPENMV5firmware folder (a6595f5f7); the board was then consolidated to a singleOPENMV_RT1060folder, and a distinct Secure Bootloader (SBL) board variant (OpenMV_Cam_RT1062_SBL) was added (d2b11c6c8, 5baf28c6e).Bundled flashing toolchain (blhost, bossac, dfu-util, dfuse + STM32 drivers, picotool, sdphost, ffmpeg, FTDI/Arduino drivers) was re-bundled for Windows/macOS/Linux, with the Linux binaries marked executable (fbfa4903a, bfb6b32e2, 9551c64da).
ARM64 Linux DFU: a bundled aarch64
dfu-utilplus arm64 detection in device listing and firmware download enables DFU flashing on hosts such as the Raspberry Pi (16bc6fe0f, 470e5702e).i.MX device detection now works on Linux (parsing
lsusb) and macOS (scanningioreg), enabling i.MX RT firmware loading on those platforms (e03ccbe71, 7cf505d09).Platform gating: i.MX use is restricted to Windows/macOS/Linux-x86_64 with a critical error elsewhere, and Portenta/Nicla flashing on ARM/ARM64 Linux shows a “DFU Util may not be stable on this platform” warning (9513f6475).
Windows OpenGL: software rendering was restored by bundling
opengl32sw,Qt6OpenGL, and Qt6Gui OpenGL support in the deployed package (aaaa1928f).Arduino board folders/ids renamed. The Portenta, Nicla Vision, and Nano 33 BLE Sense firmware folders and
boards.txtboard ids were renamed toARDUINO_PORTENTA_H7,ARDUINO_NICLA_VISION, andARDUINO_NANO_33_BLE_SENSE(a70d6562a); the Nano 33 BLE Sense folder/board id was subsequently lowercased toarduino_nano_33_ble_senseto match the device’s reported board name (22750d8c7, a801a81de).OPENMV_RT1060 bootloader flash loaders (
blhost_flash_loader.bin,sdphost_flash_loader.bin) were updated (5baf28c6e).QCustomPlot: 2.1.1 (bundled plotting library) (8801415fe).
On-disk firmware images were re-bundled for all supported OpenMV/Arduino boards (
OPENMV1-4P,OPENMV4_PRO,OPENMVPT,ARDUINO_NICLA_VISION,arduino_nano_33_ble_sense,ARDUINO_PORTENTA_H7,ARDUINO_NANO_RP2040_CONNECT,OPENMV_RT1060,CYW4343, plusWINC1500WiFi firmware), with firmware and, where applicable, bootloader/uvc images (fbfa4903a).
Breaking changes¶
These are user-visible workflow and behavior changes; the Qt Creator 10.0.1 rebase itself does not break user projects or scripts.
i.MX RT1060 board definitions changed. The
EVKBMIMXRT1060andOPENMV5entries were replaced by a singleOPENMV_RT1060board (OpenMV Cam RT1062, plus an SBL variant), and the old firmware folders were removed (d2b11c6c8).Default command-response timeout is 10000 ms (was 5000 ms in 4.0.0); the
-override_read_timeouthelp text was updated to match (4a4afae1b).Connect/disconnect behavior changed. Auto Reconnect now defaults to OFF, and connecting or disconnecting no longer stops the running script by default unless the new “Stop Script on Connect/Disconnect” toggle is enabled (it defaults to on) (a0e78057f).
Update flow restarts the IDE. Package/resource updates now restart OpenMV IDE automatically instead of quitting after install (178ee1b8e).
Arduino board ids renamed. The Portenta, Nicla Vision, and Nano 33 BLE Sense
boards.txtboard ids and firmware folders were renamed toARDUINO_PORTENTA_H7,ARDUINO_NICLA_VISION, andARDUINO_NANO_33_BLE_SENSE(the latter later lowercased toarduino_nano_33_ble_sense) (a70d6562a, 22750d8c7, a801a81de).