KryonOS transforma un ESP32 de un equipo con firmware fijo en una plataforma reutilizable, informó Open Electronics. El sistema de código abierto, creado por el desarrollador Haris16-code, lleva una interfaz gráfica de estilo escritorio y un entorno de ejecución JavaScript al ESP32 y al ESP32-S3. Se instala una vez y no hace falta volver a flashear la placa, porque las aplicaciones se escriben, instalan e intercambian como en un computador pequeño.
El entorno de ejecución va en la versión v2.0.0 con API Level 2, y las apps disponen de unos 90 KB de RAM utilizable.
El núcleo es Duktape, un motor JavaScript ECMAScript 5.1 con algunas funciones más recientes. Las aplicaciones corren dentro de ese motor, así que no hay que recompilar nada. El sistema también trae un lanzador, un administrador de archivos, una tienda de aplicaciones y servicios en la nube. El código completo está en el repositorio de Haris16-code.
¿En qué placas y pantallas funciona?
Una capa de abstracción de hardware (HAL) multiplaca mantiene unidas configuraciones muy distintas. La lista de placas soportadas incluye:
- ESP32-S3 DevKitC-1, con 16 MB de flash y 8 MB de PSRAM octal.
- ESP32 DevKit v1 con WROOM-32 y 4 MB de flash.
- M5Stack Cardputer v1.1, con 8 MB de flash y OTA dual.
- LilyGO T-HMI, con pantalla ST7789 de 240 x 320 en bus paralelo de 8 bits.
- ESP32-CYD-28, la llamada Cheap Yellow Display.
En pantallas, la HAL maneja la ILI9341 de 240 x 320 por SPI, la ST7789V2 de 240 x 135 por SPI y el táctil XPT2046. El Cardputer suma un teclado físico matricial de 56 teclas. También hay soporte para tarjetas SD en varios buses y para pantallas paralelas.
Kryon3D y las API de hardware
Los gráficos usan doble búfer con soporte para mini sprites, así que el dibujo no genera cortes ni parpadeo. Encima va Kryon3D, el motor 3D que maneja modelos de alambre, mallas de polígonos sombreados, cámara, luces y niebla. Para los cálculos está FastMath, con una tabla de consulta (LUT) precalculada de 360 grados.
Las API de JavaScript dan acceso directo al hardware:
- GPIO.
- Escaneo y transferencias por el bus I2C.
- Generadores de tono PWM de alta frecuencia.
- Hash criptográfico y AES por hardware.
- Monitoreo de batería por ADC.
El sistema de archivos es LittleFS. Así, una aplicación puede leer un sensor, manejar un parlante o escribir en memoria sin bajar a código en C.
Actualizaciones OTA que no dejan la placa muda
Las actualizaciones inalámbricas OTA tienen protección contra reversión y usan manifiestos de dos niveles en update.json. El flasheo avanza en bloques de 4 KB con verificación de integridad MD5 y recuperación automática del bootloader, de modo que una actualización interrumpida no deja la placa inutilizada. Para desarrollar se usan PlatformIO y esptool.py, con flasheo a 921.600 baudios, o como alternativa la ESP Flash Download Tool.
Alrededor del sistema crecieron KryonCloud, el mercado en la nube de la tienda de apps, Kryon.ai y System.ai, y KryonBeam, un mensajero en malla. Todo sigue siendo de código abierto, y quien quiera estudiar cómo se construye un entorno JavaScript sobre un microcontrolador parte de código legible.




