Hace poco hablamos del proyecto P4 Launcher, que ofrece una experiencia de escritorio tipo PC —y también de juegos retro— a las placas ESP32-P4, con las aplicaciones almacenadas en una tarjeta microSD y cargadas en la PSRAM cuando se ejecutan.
Sin embargo, recientemente me han avisado de dos nuevos proyectos que van incluso más lejos y aspiran a ofrecer un sistema operativo de escritorio para microcontroladores. Ambos se centran por ahora en la placa Olimex ESP32-P4-PC, con puertos HDMI, Ethernet y USB: Sylphide OS y Bare Metal, Do Stuff (BMDS).
Sylphide OS, un escritorio al estilo Macintosh para ESP32-P4, RP2350 y ESP32
Thomas Capricelli (Orzelf) ha desarrollado Sylphide OS como un sistema operativo para ordenadores basados en microcontroladores. Está pensado para funcionar en otras plataformas además de las placas ESP32-P4, y hasta la fecha se ha probado en una Raspberry Pi Pico 2 con conectores VGA y USB, y en la placa FabGL (la variante Olimex ESP32-SBC-FabGL) con entrada PS/2 y conectores VGA. Si no dispones de hardware compatible, hay un emulador de Sylphide OS para equipos anfitriones Linux.
Sylphide OS no reinventa la rueda: en su interior se apoya en el sistema operativo de tiempo real FreeRTOS e implementa actualmente lo siguiente:
- Interfaz gráfica monocroma
- Escritorio, menú, ventanas, gestor de ventanas e iconos de escritorio, al estilo de los antiguos Macintosh de Apple
- Panel de información con los detalles del hardware y del software
- Renderizado de bajo nivel: framebuffer, mapas de bits y fuentes
- Controladores para ratón, teclado, pantalla, almacenamiento y red
- Configuración basada en kconfig
- Framework: distintos SDK, plataformas y herramientas
- Plataformas: tres objetivos compatibles y un emulador
Aún queda trabajo por hacer, y entre las funciones previstas figuran el almacenamiento (microSD y USB), la conectividad de red (Ethernet y Wi-Fi), los widgets para la interfaz gráfica y la ejecución de programas externos desde la tarjeta microSD, de forma similar a lo que hace P4 Launcher. Thomas explica que el código está escrito sobre todo en C (bajo nivel, controladores y biblioteca de renderizado) y en C++ para la interfaz gráfica, y que algunas plataformas recurren al ensamblador para los controladores.
Puedes consultar más información en la web del proyecto, donde encontrarás detalles técnicos adicionales sobre las tres placas compatibles y el emulador. El código fuente de Sylphide OS se ha publicado en un repositorio del sitio de Freehackers bajo licencia GPL v3.
Bare Metal, Do Stuff (BMDS), un sistema operativo de escritorio tipo DOS para placas ESP32-P4
Bare Metal, Do Stuff (BMDS), obra de Jason Howard, es otro sistema operativo de escritorio de código abierto diseñado específicamente para las plataformas ESP32-P4 de Espressif, como la ESP32-P4-PC de Olimex. Se describe como un sistema similar a DOS, pero además incorpora una interfaz gráfica en color con ventanas, tal y como muestra la captura de pantalla anterior.
Lo más destacado de BMDS:
- Entorno de escritorio de 1280 x 720 a 60 FPS
- Aplicaciones cargables: binarios ELF independientes que se ejecutan directamente desde la tarjeta SD
- Sintetizador de audio integrado con motores FM y de tabla de ondas
- Servidor y cliente SSH/SFTP
- Compatibilidad con POSIX, con BusyBox y Dropbear portados
- Un port de Doom y varios juegos originales
- Un SDK estable para que otros desarrolladores puedan crear sus propias aplicaciones
- Un gestor de paquetes y un instalador en línea que facilitan la instalación y las actualizaciones
- Basado en FreeRTOS y ESP-IDF
Jason publicó un vídeo de 34 minutos en el que muestra BMDS funcionando en la placa ESP32-P4-PC.
Si ya tienes una placa, puedes instalarlo fácilmente desde un navegador web. El código fuente, la documentación y el SDK están disponibles en GitHub bajo la permisiva licencia MIT.
Traducido del artículo en inglés «Desktop operating systems for ESP32-P4-based “PCs” – Meet Sylphide OS and Bare Metal, Do Stuff (BMDS)» de Jean-Luc Aufranc (CNXSoft).
Publicaciones traducidas automáticamente
