El ESP32-S31 puede ejecutar Linux con una unidad de gestión de memoria (MMU), no solo una variante sin ella. Espressif ha publicado una vista previa para desarrolladores de su BSP de Linux para este microprocesador de doble núcleo RISC-V; es un avance llamativo para un chip de la familia ESP32, aunque la propia compañía lo sitúa todavía en el terreno de la experimentación.
La publicación de Hackaday del 7 de noviembre destaca precisamente esa diferencia: el S31 dispone de MMU, una pieza que permite ejecutar la versión completa de Linux mencionada en la noticia, en vez de limitarse a Linux sin MMU. El anuncio llega después de la entrada del chip en producción en serie, comunicada por Espressif el 27 de julio, y de la aparición de placas de desarrollo.
Un ESP32 con Linux y MMU
El ESP32-S31 es un RISC-V de doble núcleo. En su anuncio de producción, Espressif detalló que su CPU de 32 bits alcanza hasta 320 MHz y que uno de los núcleos incorpora una ruta de datos de 128 bits y un conjunto de instrucciones SIMD para acelerar cálculos. También indicó que el SoC integra un coprocesador de bajo consumo de 40 MHz, 512 KB de SRAM interna, hasta 60 GPIO y soporte para expansión DDR PSRAM de 250 MHz.
Su conectividad incluye Wi-Fi 6 en 2,4 GHz, Bluetooth 5.4 —con LE Audio y Classic BR/EDR—, IEEE 802.15.4 para Zigbee y Thread, y un MAC Ethernet Gigabit. Espressif también enumera compatibilidad con Matter sobre Wi-Fi y Thread. Son características del chip; no implican que todas estén ya operativas en el BSP de Linux.
Para interacción con pantallas y otros dispositivos, el S31 ofrece interfaces para cámaras DVP, varios tipos de LCD y hasta 14 canales táctiles capacitivos. Espressif menciona aceleradores de hardware para JPEG y gráficos 2D, además de dos controladores I2S que permiten sincronizar audio Bluetooth a nivel de hardware. El SoC es compatible con ESP-IDF y con componentes del ecosistema de Espressif, entre ellos ESP-Matter, ESP-GMF, ESP-BLE-MESH y ESP-BLE-AUDIO; también puede funcionar como coprocesador de conectividad mediante ESP-Hosted y ESP-AT.
Buildroot y un kernel 6.18 en la vista previa
El soporte oficial se reparte entre varios repositorios. El proyecto esp-linux-bsp contiene el diseño de la imagen y las herramientas de empaquetado usadas por la integración con Buildroot. El grueso de la configuración está en esp-buildroot-external: incluye el arranque desde NOR y un sistema de archivos raíz construido con Buildroot 2025.02. Espressif mantiene además una bifurcación del kernel Linux para el chip.
La vista previa oficial emplea Linux 6.18, según la página del repositorio de Espressif. El flujo de Buildroot reúne componentes como U-Boot SPL, U-Boot FIT, el árbol de dispositivos de Linux, el kernel XIP y un sistema de archivos raíz cramfs en una imagen llamada s31_full_flash.bin. El BSP incluye instrucciones para generar y grabar la imagen; su repositorio también documenta herramientas para empaquetar el SPL y crear un FIT de diagnóstico.
CNX Software probó la compilación, aunque el autor explicó que no tenía una placa y, por tanto, no pudo verificar el arranque en hardware. En su prueba, el proceso descargó paquetes y construyó el sistema durante más de una hora. Para el ESP32-S31 se necesita esptool 5.3.0 o posterior: el autor tenía la versión 4.7.0 y tuvo que actualizarla. Una vez grabado, la consola de Linux debe estar disponible a 115200 baudios.
La memoria también marca el alcance práctico de estas pruebas. CNX Software señala que las placas de desarrollo citadas incluyen 16 MB de PSRAM, lo que permite plantear una imagen mínima de Linux. Hackaday advierte, a su vez, que los recursos del dispositivo no ofrecen una gran capacidad de cálculo. La presencia de MMU hace posible ejecutar Linux, pero no convierte al microcontrolador en un equipo de altas prestaciones.
Un BSP solo para experimentar
Espressif no recomienda el BSP para producción y, por ahora, lo limita al ESP32-S31. El repositorio califica la rama integration/v1.0-esp32s31 como una vista previa para desarrolladores, pensada para validación técnica, evaluación y recogida de comentarios. No promete una cadencia regular de actualizaciones ni compatibilidad de API o ABI.
La política publicada por Espressif avisa de posibles cambios incompatibles sin previo aviso y de una aceptación limitada de nuevas funciones. Los informes de errores son bienvenidos, pero pueden aplazarse; las correcciones se atenderán según el mejor esfuerzo disponible y las solicitudes de cambios se revisarán caso por caso. La compañía tampoco recomienda la rama para proyectos de largo plazo que requieran estabilidad ni para sistemas críticos.
Queda además una cuestión concreta sobre las funciones disponibles: CNX Software señala que no estaba claro si el Wi-Fi funcionaba en el BSP oficial. Por eso conviene separar el catálogo de conectividad anunciado para el SoC de lo que el port de Linux ofrece hoy. La vista previa da herramientas para construir y probar una imagen, pero no acredita que cada periférico esté soportado.
Los ports comunitarios avanzan por su cuenta
El BSP oficial no es el único trabajo en marcha. CNX Software describió dos ports comunitarios para la placa ESP32-S31-Korvo-1. Uno es el de GrieferPig, cuyo repositorio, en la versión consultada, presenta Linux 6.18 nativo con MMU RV32 y afirma haberlo probado en un módulo ESP32-S31-WROOM-3 E1H16R16V, identificado como ESP32-S31 Coreboard/Korvo. La página recomienda no usarlo en producción y ofrece una imagen precompilada en sus versiones publicadas.
Hay una diferencia entre las descripciones del avance de ese proyecto: CNX Software hablaba de un port Linux 6.12, con sistema de archivos raíz de Buildroot y reinicio estables, apagado aún sin implementar y Wi-Fi, Bluetooth de modo dual y doble núcleo en fase experimental. La página actual del repositorio, en cambio, lo presenta como Linux 6.18 y marca como estables Linux con MMU Sv32 y arranque XIP desde flash, SMP de doble núcleo, sistema de archivos raíz persistente, Wi-Fi en modo estación y Bluetooth mediante BTstack.
La matriz comunitaria mantiene otros elementos en fase experimental: firmware LP y buzón de mensajes, I2C0 e I2C1, controladores GPSPI host y target, I2S/TDM, SD/MMC, Ethernet, USB gadget, GDMA AHB/AXI, temporizadores, PWM, contador de pulsos y bloques analógicos y de sensores, además de watchdog, NVMEM, RNG y criptografía. La gestión de energía aparece como trabajo en curso, al igual que TWAI/CAN y USB host; RMT figura como no soportado.
El propio autor de ese port explica que recurrió ampliamente a agentes de IA para acelerar el desarrollo, pero también que tuvo que guiarlos con conocimiento del hardware específico del S31. Entre los ejemplos que cita están el transporte IPC mediante un búfer SRAM compartido y una interrupción, y la adaptación de un controlador SD/MMC existente. Asegura que el agente no habría descubierto por sí solo ciertos comportamientos particulares del chip.
El segundo proyecto que señala CNX Software es esp32-s31-linux, de Marco. En la descripción de ese medio, lleva Linux 7.1 y OpenSBI 1.9 a la placa Korvo, pero todavía no habilita la mayoría de los periféricos: las excepciones que enumera son el panel LCD, la ranura microSD, el USB host y el módem WLAN. La diferencia de versiones con otros ports refleja que son iniciativas independientes, no una única distribución común.
De la producción en serie a los prototipos
Espressif anunció en marzo la presentación inicial del ESP32-S31, según la cronología de CNX Software. Dos placas de desarrollo llegaron en mayo y la empresa comunicó el inicio de la producción en serie el 27 de julio de 2026. En ese anuncio indicó que el chip ya estaba disponible para compra en su tienda oficial de AliExpress y que su portal para desarrolladores ofrecía documentación, recursos de software, proyectos de ejemplo y herramientas.
El BSP de Linux abre una vía distinta a la orientación habitual del entorno ESP-IDF: evaluar un sistema Linux en el S31 mediante una imagen compilada con Buildroot. De momento, Espressif lo presenta como una base para pruebas y prototipos, no como un producto acabado. El siguiente paso práctico para quien tenga una placa es compilar o grabar la imagen y comprobar qué partes del hardware responden; en el caso del Wi-Fi, esa comprobación sigue siendo una pregunta abierta en la cobertura de CNX Software.
Fuentes: Hackaday, CNX Software - Embedded Systems News, GitHub, GitHub, GitHub, Espressif Systems