Un desarrollador ha creado P4 Launcher, una plataforma de código abierto que convierte una placa ESP32-P4 con pantalla táctil en algo parecido a un pequeño ordenador. Arranca directamente en una interfaz gráfica y lanza programas guardados en una tarjeta microSD. No hace falta reflashear el firmware ni reiniciar para añadir o quitar aplicaciones. Basta con copiar archivos. Hay ya 21 aplicaciones disponibles, casi todas emuladores y juegos, entre ellas Doom, Quake, Duke Nukem 3D, OpenTyrian y emuladores de Neo Geo y Atari 2600. El proyecto funciona en varias placas con pantallas de 4,3 a 7 pulgadas y admite mandos de consola. Además incluye un SDK para escribir tus propias aplicaciones y actualizaciones de firmware con vuelta atrás automática. Es un buen ejemplo de hasta dónde llega hoy un microcontrolador de bajo coste.
Un microcontrolador que aspira a ser un ordenador
Durante años, un microcontrolador servía para una sola cosa. Cargabas un programa, lo dejabas funcionando y poco más. El proyecto P4 Launcher rompe con esa idea. Su autor, Gil Tal, ha creado una capa de software que se comporta como un escritorio sencillo. Según explica CNX Software el lanzador arranca directamente en su propia interfaz y se maneja con la pantalla táctil.
La clave está en el chip. La ESP32-P4 de Espressif no es un modelo más de la familia. Lleva dos núcleos RISC-V de alto rendimiento que trabajan a unos 400 MHz. No incluye Wi-Fi ni Bluetooth integrados, porque se ha diseñado para cargas gráficas y de procesamiento. Esa orientación la hace mucho más adecuada para interfaces y emulación que las ESP32 clásicas.
Cómo funcionan las aplicaciones .papp
El diseño del sistema es sencillo e ingenioso. Las aplicaciones tienen extensión .papp y viven en una tarjeta microSD. Cuando eliges una, el lanzador la carga en la memoria PSRAM de la placa y la ejecuta desde ahí. El nombre lo dice todo: PAPP viene de PSRAM App.
Esto tiene una consecuencia práctica importante. Añadir un juego es tan fácil como copiar un archivo a la tarjeta desde tu ordenador. No tocas el firmware, no abres un entorno de desarrollo y no reinicias la placa. Quitar una aplicación es igual de simple. Es el mismo modelo mental que usamos con una memoria USB, pero aplicado a un dispositivo que cuesta una fracción de un ordenador.
Hay otro matiz técnico interesante. Ejecutar código desde PSRAM externa es más lento que hacerlo desde la memoria interna. A cambio, se gana flexibilidad y se evita el límite de la flash del firmware. Para emuladores de máquinas de los años ochenta y noventa, el compromiso funciona.
Placas y pantallas compatibles
De momento, el lanzador funciona en tres placas de desarrollo. La primera es la Guition ESP32-P4 de 4,3 pulgadas (unos 10,9 cm de diagonal) con una resolución de 800×480, es decir, 384 000 píxeles. La segunda es la Guition JC1060P470C de 7 pulgadas (unos 17,8 cm), con 1024×600 y 614 400 píxeles. La tercera es la M5Stack Tab5, más pequeña pero con 1280×720, lo que supone 921 600 píxeles. Si quieres saber cómo se comporta esta última con el entorno de Espressif, CNX Software detalla el proceso con ESP-IDF y con el IDE de Arduino.
Tres pantallas con tres resoluciones distintas plantean un problema evidente. La interfaz debe verse bien en todas. Para resolverlo, el proyecto usa LVGL, una biblioteca gráfica muy extendida en sistemas embebidos. Además, su compositor escala la interfaz a cada resolución. Con ello, el mismo código sirve para las tres placas sin versiones separadas.
Sonido, mandos y actualizaciones
Aquí aparecen varios datos técnicos que conviene destacar. El motor de audio admite hasta ocho flujos simultáneos con frecuencias de muestreo de 4 a 192 kHz. Es un rango amplio para un microcontrolador. Permite desde los efectos de un emulador de 8 bits hasta audio de mayor calidad.
El sistema acepta hasta cuatro dispositivos de entrada a la vez, lo que abre la puerta a partidas multijugador en la misma placa. Son compatibles mandos de PS3 y de Nintendo, entre otros. Para jugar a Neo Geo o a Atari 2600, un mando físico es casi obligatorio, y este detalle lo demuestra.
Las actualizaciones merecen mención aparte. Se pueden instalar desde la microSD o descargar desde GitHub. Si el nuevo firmware no arranca, el sistema vuelve automáticamente a la versión anterior. Esa vuelta atrás evita dejar la placa inservible por una actualización fallida, algo muy habitual en proyectos aficionados.
Por último, el código se basa en ESP-IDF 5.5.2, la versión del entorno oficial de Espressif. Trabajar sobre el entorno nativo, y no sobre capas adicionales, ayuda a exprimir mejor el hardware.
El producto en detalle: qué ofrece P4 Launcher hoy
Hay que separar lo que existe de lo que promete el proyecto. Hoy ofrece un catálogo de 21 aplicaciones. La mayoría son emuladores y juegos, aunque también hay un reloj y un explorador de archivos. Entre los títulos destacan Doom, Quake, Duke Nukem 3D y OpenTyrian, junto con emuladores de Neo Geo y Atari 2600.
El punto más atractivo para los desarrolladores es el SDK. Con él puedes escribir tus propias aplicaciones PAPP. Además, el repositorio incluye dos capas de compatibilidad. Una reimplementa la API odroid_*, pensada para código escrito originalmente para consolas portátiles basadas en ESP32. La otra reproduce la tabla de servicios de la versión 1 del formato PAPP. Gracias a esta última, Doom, Quake, Duke Nukem 3D y OpenTyrian funcionan con su código de enlace original.
El proyecto es de código abierto y está disponible en el repositorio de GitHub de P4 Launcher. Por ahora se centra sobre todo en juegos. Su autor no oculta que la comparación natural es ESPBrookesia, otro entorno de interfaz para la ESP32-P4. La diferencia es que P4 Launcher permite cargar aplicaciones desde la tarjeta, y eso le da bastante más flexibilidad.
Desarrollo con ayuda de inteligencia artificial
Un detalle llama la atención. El desarrollo se ha apoyado mucho en Claude, el asistente de programación de Anthropic. El propio medio señala que, aun así, el proyecto parece bien estructurado y está correctamente documentado.
Este dato refleja una tendencia clara. Cada vez más proyectos aficionados y profesionales usan asistentes de código para avanzar más deprisa. Lo importante sigue siendo el resultado. Un repositorio ordenado, con documentación y capas de compatibilidad bien pensadas, indica que alguien ha revisado y dirigido el trabajo con criterio.
Reflexiones adicionales
P4 Launcher plantea una pregunta interesante. ¿Hasta dónde puede llegar un microcontrolador con una buena capa de software? Hace poco habría sido impensable ejecutar Quake en una placa de este tipo. Hoy es una demostración funcional.
También hay un mensaje para quienes hacen proyectos de domótica o de bricolaje electrónico. Una placa con pantalla táctil ya no tiene que quedarse con una función fija. Con un sistema de aplicaciones como este, el mismo hardware puede servir como panel de control un día y como consola retro al siguiente.
Quedan, eso sí, algunas dudas razonables. El catálogo actual es pequeño y se limita casi por completo a emulación y juegos. La compatibilidad con solo tres placas es otro freno. Y habrá que ver si surge una comunidad que escriba aplicaciones nuevas. Sin ella, el proyecto corre el riesgo de quedarse en una curiosidad técnica.
Aun así, la base es sólida. Un lanzador abierto, un SDK documentado y actualizaciones con vuelta atrás son ingredientes que suelen anticipar proyectos con recorrido. Merece la pena seguirlo de cerca, sobre todo si ya tienes una placa ESP32-P4 en el cajón.
1
