v3.6.5¶
v3.6.5 updates TensorFlow and ulab, substantially improves the HM01B0
camera (arbitrary resolutions, QQVGA, cropping, set_auto_exposure(), and
an anti-flicker fix), and brings Portenta external-SDRAM and production board
support. The legacy CMSIS-NN training tooling/examples were removed and the
OpenMV 4 Plus framebuffer was reduced — read the breaking changes below.
Highlights¶
HM01B0 — arbitrary resolutions, QQVGA, cropping, and
set_auto_exposure()support, plus an automatic-exposure flicker fix.TensorFlow / ulab updated to their latest versions.
Portenta — external-SDRAM usage and production board files.
Fixes — lens correction, image quality at low resolutions, and an FPS clock fix.
Breaking: the legacy CMSIS-NN training/conversion tooling and examples were removed and the OpenMV 4 Plus framebuffer was reduced — see the breaking changes.
New features¶
HM01B0 — added arbitrary-resolution support, QQVGA and additional stubs, sensor-side cropping, and
sensor.set_auto_exposure()support.Apriltag readout — added a readout-control apriltag-tracking example.
Other changes and improvements¶
Updated TensorFlow and
ulabto their latest versions; added Portenta external-SDRAM usage and production/CI board files; cleaned up the MT9V034 driver and the framebuffer accessor functions.
Bug fixes¶
Camera and imaging:
Fixed flickering during automatic exposure on the HM01B0, lens correction, image quality at lower resolutions, the OV5640/JPEG line copy (
dest_fb), the FPS clock, and returning 0 whenbppis negative; removed an unnecessary HM01B0 horizontal flip.
Hardware and board support¶
HM01B0 — arbitrary resolutions, QQVGA, and cropping.
Arduino Portenta H7 — external SDRAM and updated production board files.
Breaking API changes¶
User-visible API breaks between v3.6.4 and v3.6.5. Scope: Python C-modules in
modules/, Python libraries in scripts/libraries/, and the bundled
tooling/examples.
Each change is tagged with its impact:
behavior — same API, different results; re-check tuned scripts.
tooling — affects the build/conversion tooling or bundled examples, not the firmware Python API.
Changes are grouped by impact in that order. If you just want to port your code, jump to the migration checklist at the end. Each commit hash links to its diff on GitHub.
OpenMV 4 Plus framebuffer reduced (behavior)¶
The OpenMV 4 Plus framebuffer was reduced to 20 MB (and the OpenMV 2/3 buffer size was corrected). Memory-tight scripts on the OpenMV 4 Plus that allocated very large frames/objects from the framebuffer may now hit allocation limits sooner and should be re-checked.
Commits: 3a790a827
Legacy CMSIS-NN tooling and examples removed (tooling)¶
The legacy CMSIS-NN model-training/conversion tooling (nn_convert.py,
nn_quantizer.py, the LeNet/CIFAR/smile model files) and the
25-Machine-Learning/nn_*.py example scripts were removed. The nn
module itself still works in this release (it is removed later, in v3.9.0),
but the CMSIS-NN model-generation tooling is gone — use the TensorFlow Lite
(tf) workflow instead.
Commits: 588f79a62
Migration checklist¶
Re-check large framebuffer allocations on the OpenMV 4 Plus against the reduced 20 MB framebuffer (the framebuffer change), and move CMSIS-NN model generation to the TensorFlow Lite workflow (the CMSIS-NN tooling removal). All other scripts run unchanged.