MicroPython v1.24 has arrived and brings with it a series of improvements and new features that are designed to enhance the use of microcontrollers such as the RP2350, ESP32-C6 and other architectures. This language, popular among embedded device developers thanks to its simplicity and versatility, continues to evolve to offer greater compatibility and performance on low-power hardware. What's new in this new version? Let's explore them.
With the arrival of MicroPython v1.24, Developers have a more robust and efficient platform at their disposal, suitable for a wide range of embedded devices. Significant improvements in RISC-V support, along with memory optimization and the inclusion of new boards and libraries, make this version of MicroPython ideal for advanced IoT projects that require performance and reliability. From home automation to industrial applications, MicroPython continues to expand its horizons, offering a lightweight yet powerful language for building the future of microcontroller programming.
New Capabilities in MicroPython v1.24
The most important update of MicroPython v1.24 includes support for new microcontrollers such as the Raspberry Pi RP2350 and ESP32-C6 from EspressifThe first is a dual-core microcontroller that combines two cores, ARM Cortex-M33 and RISC-V, allowing additional flexibility for developers. Meanwhile, the ESP32-C6, based on RISC-V architecture, is designed to offer efficient, low-power wireless connectivity, with advanced WiFi and Bluetooth features.
RISC-V Enhancements for MicroPython
The introduction of Full support for RISC-V is one of the most notable improvements in this release. Developers can now take advantage of features such as native code generation, garbage collection (GC) register scanning, and RISC-V semi-hosting support. This marks a significant step forward in performance, especially for devices such as the ESP32-C6 and others using this growing architecture.
One of the most important aspects of this improvement is the possibility of issuing RV32IMC native code and freeze it into .mpy files, allowing for additional optimizations in storage space and code execution in memory-constrained environments.
Updates on STM32 and other platforms
In addition to improvements in RISC-V architectures, MicroPython v1.24 includes a number of updates for popular platforms such as STM32. One of the new features is optional support for PPP networking using lwIP, which improves the connectivity capabilities of these microcontrollers. Also, support for OctoSPI in the STM32H7 series it expands the possibilities of interaction with external peripherals.
Additional plates: In this release, a total of nine new boards are added to MicroPython v1.24, including:
- ESP32_GENERIC_C6 and other variants for the ESP32 family.
- RPI_PEAK2 (RP2 port based on Pico SDK v2.0.0).
- ARDUINO_OPTA (for STM32 platform).
Memory Optimization and Library Improvements
MicroPython v1.24 has also focused on optimizing memory consumption, which is crucial for embedded devices where resources are limited. According to the developers, the memory consumption has been reduced by 10%, allowing low-capacity microcontrollers to run more complex applications without suffering performance problems.
Furthermore, the standard libraries of MicroPython have been updated. This is the case of machine
y network
, which have improved compatibility and functionality, making it easier to implement IoT applications and control connected devices. These adjustments allow for easier integration when working with diverse hardware, saving developers time and effort.
New Features and Fixes
MicroPython version 1.24 includes several important bug fixes that impact the ESP32 and RP2 platforms. For example, the Native code handling on ESP32 has been optimized, especially for ESP32-C3 and ESP32-C6 architectures. Issues related to stack corruption and .mpy code loading have been fixed, as well as improvements in interaction with I2S devices.