v2.8.1

v2.8.1 brings full Arduino board support to OpenMV IDE, adding firmware loading for the Arduino Nano RP2040 Connect and Nano 33 BLE boards alongside a tabbed editor and a code minimap. The release stays on the Qt Creator 4.0.2 base and bundles the new 4.1.0 OpenMV firmware. There are breaking changes: automatic indentation is now off by default and the combined openmv.bin / openmv.dfu firmware images were dropped for OPENMV2/3/4/4P, OPENMVPT, and PORTENTA boards, which are workflow and behavior changes for anyone relying on those defaults or filenames.

Highlights

  • Arduino board firmware loading for the Nano RP2040 Connect and Nano 33 BLE, programmed via the new bundled bossac (SAM-BA) and picotool/elf2uf2/rp2040load toolchains.

  • Tabbed editor so open files appear as switchable tabs across the top of the editor, with shortcuts to switch and reorder tabs.

  • Code minimap scrollbar that renders a miniature overview of the document, with a Text Editor settings page to toggle it and set its width.

  • New Arduino and Portenta examples, including a full Nano RP2040 Connect example set and ten Portenta-H7 WiFi scripts.

  • Bundled firmware updated to 4.1.0 across all OpenMV cameras and the Arduino Nano 33 / Nano RP2040 images.

  • Windows USB drivers for the Arduino Nano RP2040 Connect and Portenta H7 are now installed by the installer.

New features

  • Arduino board support: Added full firmware-loading support for the Arduino Nano RP2040 Connect and Nano 33 BLE boards, programming them via the bundled bossac (SAM-BA) and picotool/elf2uf2/rp2040load toolchains driven by new bossac.txt/boards.txt descriptors (plus the existing picotool.txt) (deccee676, 34e0c0ee1, ef5334782, eb9c00a33).

  • Tabbed editor: Added an editor tab bar plugin so open files appear as switchable tabs across the top of the editor, with shortcuts for previous/next tab (Ctrl+Page Down / Ctrl+Page Up) (325cd8d87, 5501a4082).

  • Code minimap: Added a code minimap scrollbar plugin with a Text Editor settings page (enable toggle, width, line-count threshold, and scrollbar slider alpha) that renders a miniature overview of the document in the scrollbar (325cd8d87).

  • Portenta-H7 WiFi examples: Added ten WiFi example scripts (connect, scan, static IP, DNS, NTP, HTTP client, HTTP-SSL client, MJPEG streamer, MQTT publish/subscribe) (b2133f9f5).

Other changes and improvements

  • Tab reordering: Added shortcuts to move the current tab left or right (Ctrl+Shift+Page Down / Ctrl+Shift+Page Up) and disabled the editor’s conflicting default Ctrl+PgUp/Ctrl+PgDown/Ctrl+Up/ Ctrl+Down bindings so the tab-bar shortcuts work (5501a4082).

  • Nano RP2040 Connect examples: Bundled a complete set of Python example sketches covering basics, IMU sensor, BLE, WiFi, audio FFT, and thermal camera (91847b183).

  • Arduino connect prompts: Added two new connect-flow dialogs: a recovery hint instructing users to short REC to GND and reset the board when an old Arduino RP2040 USB PID is detected, and an information notice that the Nano 33 BLE has no onboard data flash disk when a flash-FS erase is requested (91847b183).

  • Additional Arduino and Portenta examples: Added new Python examples for the Arduino Nano 33 BLE Sense (blinky), Portenta H7 BLE temperature, improved Portenta H7 PWM control, an updated Portenta H7 Ethernet peer-to-peer script, and an updated ulab filter example (45a4564f4), plus a Portenta H7 Ethernet cable-test example (af1b2fcff).

  • OpenMV WiFi-Shield example: Added a new http_post.py HTTP POST example under 14-WiFi-Shield (c73d9fdcf).

  • WiFi read timeouts: Split read timeouts so WiFi connections get a longer stall timeout (3000ms vs 1000ms serial) and re-transmit the pending command after a WiFi stall instead of failing (81f00ac58).

  • Simplified editor chrome: Hid the editor toolbar’s split and close-split buttons and forced high-DPI auto-scaling on Linux to keep the editor layout consistent (bc14a2290).

  • Offline documentation: Refreshed the bundled offline documentation, adding per-sensor camera pinout images (H7 OV7725, H7 Plus OV5640, M4/M7 variants) and updating the IDE overview and tutorial pages (97ff73ebd).

Bug fixes

  • Fixed the RP2040 (PICO) flash-erase offset used during firmware programming so the correct flash region is erased (91847b183).

  • Made the bundled Linux/macOS bossac and picotool binaries executable so firmware loading works on those platforms, and guarded the minimap renderer to only run on Qt >= 5.6 (76613152f).

  • Fixed the firmware-upgrade prompt to honor its dialog buttons (checking QDialog::Accepted) and made serial/TCP transfer stall handling restart its timers when new data arrives so long transfers no longer time out spuriously (dd4ce12a5).

Platform and tool support

  • Qt Creator base: 4.0.2.

  • Bundled firmware: Updated the bundled OpenMV firmware to the 4.1.0 release (firmware.txt: 4.0.2 -> 4.1.0) (b78603045); earlier in the cycle the same file was stepped through the intermediate 4.0.1 and 4.0.2 builds (beec4d25b, eb9c00a33).

  • New flash toolchains: Bundled bossac and the picotool/elf2uf2/rp2040load toolchain for all platforms (windows/osx/linux32/linux64/arm/aarch64).

  • Windows USB drivers: Added signed driver installation for the Arduino Nano RP2040 Connect and Portenta H7 boards, run via the installer (bc14a2290, a8ae96e1b).

  • New sensors recognized: Added the PAJ6100 image sensor (914546e78) and the GC2145 (0x21) and MT9M114 camera sensors to the bundled share/qtcreator/firmware/sensors.txt sensor table (9a8b1c762); MT9M114’s ID was initially 0x81 and later corrected to 0x2481 (eb9c00a33).

Breaking changes

User-visible workflow and behavior breaks in this release.

  • Automatic indentation is now off by default. The editor’s auto-indent default was flipped to off (and forced off on load) and the tab key no longer indents; the Auto indent and Tab key performs auto-indent controls were removed from the Text Editor > Behavior settings page, so typing no longer auto-indents new lines unless changed in firmware/source (bc14a2290).

  • The combined openmv.bin / openmv.dfu firmware images (only openmv.bin for OPENMVPT, which never shipped an openmv.dfu) were removed for OPENMV2/3/4/4P, OPENMVPT, and PORTENTA boards; only the separate bootloader/firmware/uvc images remain (84cd4cd2d).

  • The vsync_gpio_output examples (in both the OpenMV and Arduino/Portenta-H7 02-Board-Control example sets) now require the firmware’s new set_vsync_callback API instead of set_vsync_output, and the callback now toggles LED_BLUE rather than the IR LED (f13453bdc).