v4.4.3¶
v4.4.3 introduces the OpenMV RT1060 (NXP i.MX RT1060) board, a much-expanded MJPEG recording API, new ISP image methods (auto white balance, color correction matrix, gamma), and MicroPython 1.20. Arduino board names were changed and the MJPEG defaults shifted — read the breaking changes below.
Highlights¶
OpenMV RT1060 — new NXP i.MX RT1060 board (and a REV2 revision).
Expanded MJPEG API —
write(),count,is_closed,sync(), ROI/palette/alpha keywords, and a finalizer.New ISP methods —
image.awb(),image.ccm(),image.gamma().MicroPython updated to 1.20.0.
Breaking: Arduino board targets were renamed and the MJPEG default quality changed — see the breaking changes.
New features¶
OpenMV RT1060 — full NXP i.MX RT1060 port (sensor, GPIO, I2C, SPI drivers) and board configuration, plus support for the RT1060 REV2 board revision and
machine.RTCalarm/wakeup on the i.MX RT port.MJPEG — a new
Mjpeg.write()method (withroi,rgb_channel,alpha,color_palette,alpha_palette,hintkeywords) pluscount,is_closed,sync()and a__del__finalizer, andMJPEG/Mjpeg/mjpegconstructor aliases.ISP image methods —
image.awb([max])(auto white balance),image.ccm(matrix)(3x3 / 4x3 color-correction matrix), andimage.gamma(gamma, contrast, brightness).AprilTag — new floating-point centroid attributes
cxf/cyf(cx/cystill return rounded integers).ML —
tf.regression()now accepts a ulab ndarray and supports 2D input tensors (1D still supported); additional TensorFlow Lite ops were enabled in the bundledlibtflibraries.
Other changes and improvements¶
MicroPython updated to 1.20.0; ulab updated to 6.0.12.
image.gamma/gamma_corrreworked as an ISP method and extended to support Bayer and YUV images (not just mutable images).STM32 boards (Portenta H7, Nicla Vision) switched to the open-source cyw43 WiFi driver.
The
rtsplibrary was made portable (usesrandom/timeinstead ofpyb);urequestsnow always closes its socket.
Bug fixes¶
Camera and sensors:
Fixed OV767x clock rate (CLKRC) on the Arduino Nano 33 BLE Sense, OV7670 CLKRC bypass/pre-scaler handling, and swapped D0/D1 data lines on the Arduino Nicla Vision / ML kit (nrf port).
System and USB:
Fixed short-USB-packet handling in TinyUSB debug mode (more reliable IDE/host transfers).
Fixed the OpenMV RT1060 blinking-LED polarity and SD-card detection on power-on.
Hardware and board support¶
OpenMV RT1060 — new NXP i.MX RT1060 board, plus the REV2 revision.
STM32 — Portenta H7 / Nicla Vision moved to the open-source cyw43 WiFi driver.
Breaking API changes¶
User-visible API breaks between v4.4.2 and v4.4.3. Scope: Python C-modules in
modules/ and Python libraries in scripts/libraries/.
Each change is tagged with its impact:
behavior — same API, different results; re-check tuned scripts.
tooling — affects board naming / flashing, not the Python API.
Changes are grouped by impact in that order. Each commit hash links to its diff on GitHub.
MJPEG defaults and error handling (behavior)¶
The MJPEG recording code was overhauled. The default add_frame() /
write() JPEG quality was raised from 50 to 90 (recordings are larger
and higher quality by default), an invalid quality now raises ValueError,
operating on a closed file now raises OSError, and the recording methods
now return the Mjpeg object. Scripts that depended on the old default
quality or the previous error behavior should be re-checked.
Commit: 3fc55ad31
Arduino board targets renamed (tooling)¶
The Arduino board targets were renamed to an updated naming convention and all board manifests (frozen module sets) were refreshed. This does not change the Python API, but the firmware file/board names used to build or flash Arduino boards changed — update your tooling accordingly.
Migration checklist¶
For a clean port to v4.4.3: re-check MJPEG recordings for the new default quality and error behavior (the MJPEG change), and update build/flash tooling for the renamed Arduino board targets (the board renaming). All other scripts run unchanged.