v4.0.2#
v4.0.2 introduces the initial RP2040 port (Raspberry Pi Pico / Arduino Nano RP2040 Connect board files), PixArt PAJ6100 and MT9M114 sensor support, a PDM audio filter library, and sensor improvements. STM32 ADC and the image-transfer path changed — read the breaking changes below.
Highlights#
Initial RP2040 port — Raspberry Pi Pico / Arduino Nano RP2040 Connect board files.
New sensors — PixArt PAJ6100 and a working MT9M114 driver.
PDM audio filter library;
sensor.set_framerate()works for any FPS.Breaking: the STM32 ADC driver was aligned with upstream and full MDMA image-transfer offload was enabled — see the breaking changes.
New features#
RP2040 port — added the RP2040 port with Raspberry Pi Pico and Arduino Nano RP2040 Connect board files (initial bring-up; WiFi/Bluetooth land in v4.1.0).
PixArt PAJ6100 camera sensor support and a working MT9M114 driver.
PDM audio filter library added to the audio path.
Sensor —
sensor.set_framerate()now works for any FPS, a method to read the actual XCLK frequency was added, additional sensor resolutions are supported, and adisable_full_flushframebuffer option was added.
Other changes and improvements#
Snapshot error messages were made clearer; Ethernet updates and a low-power mode were added (Portenta).
Bug fixes#
Fixed the
pyb.Servotimer channel state, the LSM6Dx IMU driver, the STM32 H7dma_nohal_init, and a missing framesize init check.
Hardware and board support#
Raspberry Pi Pico / Arduino Nano RP2040 Connect — initial board files.
PixArt PAJ6100 and MT9M114 camera sensors.
Breaking API changes#
User-visible API breaks between v4.0.1 and v4.0.2.
Both breaking changes are behavior changes (same API, different results) — re-check affected scripts. Each commit hash links to its diff on GitHub.
STM32 ADC alignment and full MDMA offload (behavior)#
The STM32 ADC driver was aligned with the upstream MicroPython implementation, so machine.ADC behavior/readings may differ slightly from previous releases. Separately, full MDMA offload of image transfers was enabled, which speeds up capture but changes the transfer path and timing. Re-check ADC-dependent code and timing-sensitive captures.
Migration checklist#
Re-validate any machine.ADC readings and timing-sensitive capture code against the aligned ADC driver and full MDMA offload (the behavior changes). All other scripts run unchanged.