v4.0.12

v4.0.12 teaches the serial terminal to render ANSI color codes, unifies the firmware-loader progress windows behind a shared geometry and a default-open log panel, and refreshes the bundled firmware and example scripts. It stays on the Qt Creator 10.0.1 base, and there are no breaking changes.

Highlights

  • ANSI color in the serial terminal — the output window now interprets ANSI escape color codes and renders colored text, with brighter, theme-aware colors when a dark UI theme is active.

  • Unified firmware-loader windows — all loader progress windows now share one saved geometry, and the log panel starts expanded on first use.

  • Bundled firmware 4.5.0 — refreshed firmware binaries for every supported board.

  • Arduino Giga example set — a complete example tree for the Arduino Giga (Giga-H7) was added, covering board control, display, audio, WiFi, Bluetooth, and low-power scripts.

  • Modernized examples — bundled scripts now use the current MicroPython machine and time API, with a new top-level blinky.py and new sensor and BLE examples.

New features

  • The serial terminal output window now interprets ANSI escape color codes, rendering colored text. When a dark UI theme is active, the renderer emits brighter, theme-aware colors. (7f1a29ba1)

Other changes and improvements

  • All firmware-loader progress windows (BOSSAC, DfuSe, PyDfu, DFU Util, NXP IMX, PicoTool) now share a single saved window-geometry/settings group. The details/log panel is expanded by default only when no prior window state is saved (first run after the settings groups were consolidated); thereafter each window restores the last expanded or collapsed state you chose. (6bac6b7eb)

  • The bundled example scripts were modernized to the current MicroPython API, replacing pyb with the machine and time modules (for example from machine import LED with LED("LED_BLUE"), and time.ticks_ms() / time.ticks_diff()). (16fb36f8c)

  • A complete Arduino Giga (Giga-H7) example set was added under 10-Arduino-Boards/Giga-H7/, including 00-Board-Control (ADC, CAN, CPU-frequency scaling, I2C scanner, LED/pin/PWM/RTC/SPI/timer/UART control, USB HID, USB VCP, and VSYNC GPIO output), 01-Display, 02-Audio (audio_fft.py and micro_speech.py), 03-WiFi (connect, DNS, HTTP client, SSL HTTP client, MJPEG streamer, MQTT publish/subscribe, NTP, scan, and static IP), 04-Bluetooth, and 05-Low-Power scripts. (16fb36f8c)

  • New BLE examples ble_blinky.py and temp_sensor_aioble.py were added for the Nicla Vision, Portenta H7, and Arduino Giga boards under their Bluetooth example folders. (16fb36f8c)

  • A new 00-HelloWorld/blinky.py example was added and now replaces the previous per-board 00-Board-Control/blinky.py examples (for the OpenMV boards and the Nano 33 BLE Sense, Nano RP2040, Nicla Vision, and Portenta H7 Arduino boards), which were removed. (16fb36f8c)

  • A new 01-Camera/07-Sensor-Control/sensor_save_and_restore_settings.py example was added, and the misspelled 01-Camera/07-Sensor-Control/sesnor_manual_gain_control.py was renamed to sensor_manual_gain_control.py to fix the filename typo. (16fb36f8c)

Platform and tool support

  • Qt Creator base: 10.0.1.

  • Bundled OpenMV firmware: updated from 4.4.3 to 4.5.0, refreshing firmware binaries for all supported boards, plus uvc and openmv binaries for the boards that ship them (openmv binaries for OPENMV2/3/4/4P/PT). (16fb36f8c)

  • The Arduino Giga firmware was consolidated into a new ARDUINO_GIGA folder (swapping its bin/dfu packaging and adding UVC firmware), the obsolete ARDUINO_GIGA_H7 firmware folder was removed, and boards.txt was repointed to ARDUINO_GIGA. (16fb36f8c)

Breaking changes

None. This release is fully compatible with existing OpenMV IDE projects and workflows.