Los microcontroladores ESP32 de Espressif son favoritos entre makers y desarrolladores por su bajo costo, buen rendimiento y conectividad inalámbrica integrada. Son ideales para todo, desde sensores IoT básicos hasta proyectos de robótica sofisticados, pero no son el tipo de hardware en el que se esperaría ejecutar un sistema operativo completo. Eso podría estar cambiando: el nuevo ESP32-S31 es lo suficientemente potente como para ejecutar Linux y, a diferencia de hacks anteriores, Espressif apoya oficialmente el esfuerzo.
Por qué este ESP32 es diferente
El ESP32-S31 es un microcontrolador RISC-V de dos núcleos que funciona a hasta 320 MHz. Admite Wi-Fi 6, Bluetooth, Zigbee y una amplia gama de periféricos, incluidos GPIO, SPI, I2C y Ethernet —incluso una MAC Gigabit Ethernet, un controlador host USB 2.0 de alta velocidad, una interfaz para tarjeta SD y una entrada de cámara—. Pero lo que lo hace apto para ejecutar una distribución completa de Linux es su unidad de gestión de memoria (MMU).
A diferencia de la mayoría de los microcontroladores, el ESP32-S31 admite memoria virtual mediante una tabla de páginas de dos niveles y traducción de direcciones por hardware. También ofrece varios niveles de privilegio, lo que permite que el sistema operativo separe las operaciones del kernel de las aplicaciones de usuario. Estas características hacen posible ejecutar un kernel Linux completo, en lugar de las variantes sin MMU que a veces se usan en hardware menos capaz.
El apoyo oficial de Espressif
Para apoyar estos esfuerzos, Espressif ha publicado una rama oficial de desarrollo de Linux 6.18 para el ESP32-S31. El proyecto aún está en vista previa para desarrolladores y no se recomienda para uso en producción, pero ahorrará mucho tiempo a quienes quieran experimentar, aunque todavía será necesario compilar el kernel por cuenta propia.
Linux fue demostrado funcionando en una placa ESP32-S31 CoreBoard, y la documentación oficial de Espressif ya cubre las placas de desarrollo de la familia, incluida la ESP32-S31 Function CoreBoard-1, orientada a la creación de prototipos de AIoT.
La opción más fácil para empezar
Hay otra opción que facilita aún más el inicio: el desarrollador GrieferPig ha lanzado un port no oficial de Linux 6.18 con imágenes precompiladas que se pueden grabar directamente en placas de desarrollo compatibles con el ESP32-S31. El proyecto incluye soporte para multiprocesamiento simétrico de dos núcleos, almacenamiento persistente, Wi-Fi, Bluetooth, GPIO y UART. Varias de esas funciones ya figuran como estables, mientras que otras —incluidas I2C, SPI, Ethernet, la función USB gadget y las interfaces de audio— siguen siendo experimentales. El port también incluye BusyBox, que ofrece un entorno de línea de comandos de Linux familiar para interactuar con el hardware.
Los límites siguen siendo reales
Por supuesto, hay muchas limitaciones. El ESP32-S31 tiene mucha menos memoria que un ordenador Linux normal, y no hay GPU para aplicaciones gráficas. No va a sustituir a una Raspberry Pi en el corto plazo, especialmente en proyectos que requieran un entorno de escritorio o una potencia de procesamiento considerable. La mayoría de los proyectos embebidos probablemente seguirán estando mejor servidos por FreeRTOS o por el framework ESP-IDF de Espressif, pero tener Linux como opción abre nuevas posibilidades. Y a medida que los microcontroladores se vuelven más potentes, la línea que los separa de los ordenadores de placa única se vuelve cada vez más difusa.
El ecosistema ya se mueve: Waveshare ha lanzado la placa ESP32-S31-Zero, una placa de desarrollo compacta con hasta 32 MB de PSRAM y 32 MB de flash SPI, y el soporte inicial de Linux para el ESP32-S31 ya está disponible, lo que podría abrir el camino a aplicaciones interesantes a medida que el software madure.
Lee también en Geekiki: Meta abre Muse Gadgets: ESP32 y Raspberry Pi se convierten en hardware del agente de IA.
Crédito de la imagen: ESP32-S31 Function CoreBoard-1, imagen oficial de Espressif Systems en su documentación.
Fuentes
- Hackster.io — “Full Linux on an ESP32? It's Official”
- Hackaday — “Proper Linux, On An ESP32”
- CNX Software — “Waveshare ESP32-S31-Zero”
Transparencia: este artículo fue producido con ayuda de inteligencia artificial, contrastado con publicaciones públicas en X y fuentes de internet. La información se verificó en las fuentes originales citadas a continuación; recomendamos consultarlas para confirmar los detalles.
Por Muse