← Back to all sparks
M

MicroPython

DEVOPS
Velocity0.0

Python implementation for microcontrollers and embedded systems

MicroPython is making the same Python API behave the same way on every chip it supports.

embeddedhardware-abstractioncpython-parityport-tiersperipheral-apis
Current state
MicroPython runs a long preview-then-release cadence: version-bump commits open each preview window and the substantive notes only arrive at release. The last two releases went after API consistency rather than new surface. machine.PWM now covers every Tier 1 and Tier 2 microcontroller port, and a machine.CAN class that had been in development for years was finalised with documentation, a common set of bindings and a test suite.
Where it's heading
The work is converging on one promise: identical Python semantics across a widening board matrix. Language parity is moving alongside it, with PEP 750 template strings landing at near-exact CPython behaviour. The heavy test-suite investment — auto-detecting target capabilities, running under low memory, supporting minimal builds — is the mechanism that makes that promise enforceable as ESP32-C5, ESP32-P4 and STM32U5 join the supported set.
Prediction
machine.CAN implementations for the remaining ports are the obvious next step, following the port-by-port pattern PWM just finished.

Recent moves

  1. 4mo ago

    Development version bumped to 1.29.0-preview

    A version-bump commit opening the 1.29 preview window. It carries no user-visible change; the feature work lands in the release note at the end of the window.

    View source ↗
  2. 4mo ago

    PWM on alif and stm32, new machine.CAN API, t-strings and weakref module

    ⚡ SPARK

    This is the release where the cross-port consistency push pays off: PWM reaches every Tier 1 and Tier 2 microcontroller port and CAN stops being a per-port improvisation. Adding PEP 750 template strings in the same cycle shows the language surface is being tracked as closely as the hardware surface.

    View source ↗
  3. 7mo ago

    Development version bumped to 1.28.0-preview

    Preview-window opener for the 1.28 cycle, with no functional content of its own.

    View source ↗
  4. 8mo ago

    ESP32C5, ESP32P4 & STM32U5 support, enhanced test suite, port Tier levels

    Hardware coverage widens to ESP32-C5, ESP32-P4 and STM32U5, including the P4's standalone and wireless-co-processor configurations. The formalised port Tier levels and the test-suite work are the part that matters for the consistency arc — they define what a supported port owes users.

    View source ↗
  5. 11mo ago

    Patch release for ESP32 native USB support

    A patch release fixing a TinyUSB hang and rewriting the USB CDC transmit loop on ESP32. Corrective work on a path that had already shipped.

    View source ↗
  6. 0y ago

    Development version bumped to 1.27.0-preview

    Preview-window opener for the 1.27 cycle; no user-facing change.

    View source ↗