MicroPython v1.24 ha llegado y trae consigo una serie de mejoras y nuevas características que están diseñadas para potenciar el uso de microcontroladores como el RP2350, el ESP32-C6 y otras arquitecturas. Este lenguaje, popular entre desarrolladores de dispositivos embebidos gracias a su simplicidad y versatilidad, continúa evolucionando para ofrecer más compatibilidad y rendimiento en hardware de bajo consumo. ¿Qué novedades nos trae esta nueva versión? Vamos a explorarlas.
Con la llegada de MicroPython v1.24, los desarrolladores tienen a su disposición una plataforma más robusta y eficiente, apta para una amplia gama de dispositivos embebidos. Las mejoras significativas en el soporte para RISC-V, junto con la optimización de memoria y la inclusión de nuevas placas y bibliotecas, permiten que esta versión de MicroPython sea ideal para proyectos IoT avanzados que requieren rendimiento y fiabilidad. Desde la automatización del hogar hasta aplicaciones industriales, MicroPython continúa expandiendo sus horizontes, ofreciendo un lenguaje ligero pero poderoso para construir el futuro de la programación en microcontroladores.
Nuevas Capacidades en MicroPython v1.24
La actualización más importante de MicroPython v1.24 incluye soporte para nuevos microcontroladores como el RP2350 de Raspberry Pi y el ESP32-C6 de Espressif. El primero es un microcontrolador dual que combina dos núcleos, ARM Cortex-M33 y RISC-V, permitiendo flexibilidad adicional para los desarrolladores. Mientras tanto, el ESP32-C6, basado en la arquitectura RISC-V, está diseñado para ofrecer una conectividad inalámbrica eficiente y de bajo consumo, con características avanzadas de WiFi y Bluetooth.
Mejoras en RISC-V para MicroPython
La introducción del soporte completo para RISC-V es una de las mejoras más destacadas de esta versión. Los desarrolladores ahora pueden aprovechar características como la generación de código nativo, escaneo de registros de basura (GC) y soporte semihosting de RISC-V. Esto marca un avance significativo en el rendimiento, especialmente para dispositivos como el ESP32-C6 y otros que utilizan esta arquitectura en crecimiento.
Uno de los aspectos más importantes de esta mejora es la posibilidad de emitir código nativo RV32IMC y congelarlo en archivos .mpy, lo que permite optimizaciones adicionales en cuanto a espacio de almacenamiento y ejecución de código en entornos con limitaciones de memoria.
Actualizaciones en STM32 y otras plataformas
Además de las mejoras en las arquitecturas RISC-V, MicroPython v1.24 incluye una serie de actualizaciones para plataformas populares como STM32. Una de las nuevas características es el soporte opcional para redes PPP utilizando lwIP, lo que mejora las capacidades de conectividad de estos microcontroladores. Asimismo, el soporte para OctoSPI en la serie STM32H7 amplía las posibilidades de interacción con periféricos externos.
Placas adicionales: en esta versión, se añaden a MicroPython v1.24 un total de nueve nuevas placas, entre las que destacan:
- ESP32_GENERIC_C6 y otras variantes para la familia ESP32.
- RPI_PICO2 (puerto RP2 basado en el SDK Pico v2.0.0).
- ARDUINO_OPTA (para la plataforma STM32).
Optimización de Memoria y Mejoras en Bibliotecas
MicroPython v1.24 también se ha centrado en optimizar el consumo de memoria, algo crucial para dispositivos embebidos donde los recursos son limitados. Según los desarrolladores, el consumo de memoria se ha reducido en un 10%, permitiendo a los microcontroladores de baja capacidad ejecutar aplicaciones más complejas sin sufrir problemas de rendimiento.
Además, las bibliotecas estándar de MicroPython han sido actualizadas. Es el caso de machine
y network
, que han mejorado en cuanto a compatibilidad y funcionalidad, facilitando la implementación de aplicaciones IoT y de control de dispositivos conectados. Estos ajustes permiten una integración más sencilla cuando se trabaja con hardware diverso, lo que ahorra tiempo y esfuerzo a los desarrolladores.
Nuevas Funciones y Correcciones
La versión 1.24 de MicroPython incluye varias correcciones de bugs importantes que impactan a las plataformas ESP32 y RP2. Por ejemplo, el manejo de código nativo en ESP32 ha sido optimizado, especialmente para las arquitecturas ESP32-C3 y ESP32-C6. Se han solucionado problemas relacionados con la corrupción de la pila y la carga de código .mpy, así como mejoras en la interacción con dispositivos I2S.