v4.3.0#
v4.3.0 adds hardware-accelerated JPEG decoding, FLIR Lepton high-temperature mode and model detection, new JPEG color-space conversions, and MicroPython 1.18, plus a batch of RTC and WiFi fixes. The Lepton measurement-mode API changed — read the breaking changes below.
Highlights#
Hardware JPEG decoding on STM32 (H7) — faster JPEG decompression.
FLIR Lepton high-temperature mode (up to ~600 °C on Lepton 3.5) and automatic model detection (1.5–3.5).
New JPEG conversions — decode YCbCr JPEGs to grayscale and grayscale JPEGs to RGB565.
MicroPython updated to 1.18.
Breaking: the Lepton measurement-mode ioctl changed — see the breaking changes.
New features#
Hardware-accelerated JPEG decoding — the STM32 on-chip JPEG codec is now used for decompression.
JPEG color-space conversions — the decoder can decode YCbCr JPEGs to GRAYSCALE and GRAYSCALE JPEGs to RGB565.
Lepton high-temperature mode — a new
high_tempmeasurement mode uses low-gain to extend the range to roughly 600 °C on the Lepton 3.5.Arduino Nano RP2040 Connect — the
onewire,dht, andneopixeldriver modules are now frozen into the firmware.
Other changes and improvements#
MicroPython updated to 1.18.
The FLIR Lepton driver now detects and reports the specific Lepton model (1.5 / 1.6 / 2.0 / 2.5 / 3.0 / 3.5) to the IDE.
Bug fixes#
Image processing:
Image.to_grayscale()/ L-channel conversion no longer returns negative L values for dark RGB565 pixels; the JPEG decoder no longer faults (MemManage) on odd-dimension images.
Camera and sensors:
Fixed GC2145 window subsampling ratios and Bayer pixel order for correct image quality at sub-QVGA resolutions and in BAYER mode.
Networking and storage:
Corrected WINC1500 non-blocking socket timeout handling and added proper MicroPython errno mapping for socket errors; fixed the STM32 OpenMV USB-disk file handling.
Real-time clock:
Fixed the RTC clock source / LSE-vs-LSI selection and LSE oscillator errata across the OpenMV Cam H7 Plus and Pure Thermal boards.
Hardware and board support#
Breaking API changes#
User-visible API breaks between v4.2.3 and v4.3.0. Scope: Python C-modules in modules/ and Python libraries in scripts/libraries/.
Each change is tagged with its impact:
minor — narrow API; only affects scripts that used it.
behavior — same API, different results; re-check tuned scripts.
Both breaking changes affect the FLIR Lepton thermal sensor only. Each commit hash links to its diff on GitHub.
Lepton measurement-mode ioctl (minor)#
sensor.ioctl(SET_MEASUREMENT_MODE, ...) accepts a new optional high_temp argument, and GET_MEASUREMENT_MODE now returns a 2-tuple (enabled, high_temp) instead of a single boolean. Code that read the previous boolean return value must be updated to unpack the tuple.
Commit: 6b2cd1008
Lepton default temperature range (behavior)#
The FLIR Lepton default temperature range changed from −17.78 °C…37.78 °C to −10.0 °C…40.0 °C. The color mapping and reported temperatures for scenes that relied on the old default range will differ — set an explicit range if you need the previous behavior.
Commit: bc07e0131
Migration checklist#
Only FLIR Lepton scripts are affected: unpack the new GET_MEASUREMENT_MODE (enabled, high_temp) tuple (the measurement-mode change) and set an explicit temperature range if you depended on the old default (the default-range change). All other scripts run unchanged.