Un usuario del foro de ESP32 en Reddit ha montado su propia consola portátil con una placa de desarrollo y una pantalla sobrante. Lo cuenta XDA, y el resultado es sencillo, pero llama la atención. Usa una ESP32, una pantalla ST7735 de 160 por 128 píxeles, un joystick analógico y unos pulsadores sobre una placa perforada de 7 por 9 centímetros. Ya ejecuta juegos, aunque aún no tiene batería ni guardado de partida. Su autor quiere añadir pantalla de inicio y estados guardados. Además, tuvo que cargar los juegos en la memoria flash, porque la tarjeta SD no funcionó con los títulos grandes. Repasamos qué hardware hay detrás, por qué es una buena base y qué limitaciones técnicas marcan el camino.

De una pantalla sobrante a una consola

El proyecto nació por casualidad. El autor, que firma como engineeroids, tenía una pantalla ST7735 olvidada en un cajón. Su idea original era construir un controlador musical. Cambió de planes porque, según sus palabras, así quedaba mucho más vistoso.

Esa decisión resume bien el espíritu de los proyectos caseros. Se parte de una pieza suelta y se busca el uso más divertido. No hace falta un diseño perfecto. Hace falta una placa que funcione y un poco de paciencia.

El montaje es muy ligero. Una placa de 7 por 9 centímetros ocupa 63 centímetros cuadrados. Sobre ella caben el microcontrolador, la pantalla, el joystick y los botones. Todo se conecta con cables o pistas sencillas.

Por ahora se alimenta por USB. No lleva batería. Es un detalle que su creador lamenta, pero que no impide jugar. Con ese punto de partida, el proyecto sirve más como prueba de concepto que como producto terminado.

La Game Boy original, en números

Para valorar el reto conviene recordar qué era la Game Boy. Según la documentación técnica Pan Docs, la consola usaba una CPU de 8 bits a 4,194304 MHz. Tenía 8 KB de memoria de trabajo y otros 8 KB de memoria de vídeo. La pantalla medía 160 por 144 píxeles.

Los cartuchos tenían entre 32 KB y 8 MB de ROM, repartidos en bancos. El refresco rondaba los 59,73 Hz. Esa cifra equivale a una imagen cada 16,7 milisegundos.

También era una máquina frugal. Consumía unos 0,7 vatios con cuatro pilas AA y duraba unas 15 horas. Un solo juego podía llenar el cartucho entero. Aun así, programadores de todo tipo sacaron de ella títulos memorables.

El dato importante es el contraste con el hardware actual. Un microcontrolador barato supera con mucho esas cifras. Por eso resulta tan fácil recrear la experiencia en una placa de pocos euros.

La ESP32, un microcontrolador sobrado

El corazón del proyecto es una placa de desarrollo con ESP32. Según la guía de chips de Random Nerd Tutorials, la ESP32 original lleva dos núcleos Xtensa LX6 a un máximo de 240 MHz y 520 KB de SRAM. Suele incluir 4 MB de memoria flash, ampliables hasta 16 MB.

Entre los aficionados, la ESP32 viene a ser lo que fue el Arduino en su día. Despierta un interés parecido y genera una cantidad similar de proyectos. Es barata, está bien documentada y tiene una comunidad enorme que comparte montajes sin parar. Sirve igual para domótica, relojes o pantallas que para una consola como esta. Y se puede programar desde el entorno del Arduino, lo que facilita el salto a quien ya lo conoce.

Comparada con la Game Boy, el reloj es unas 57 veces más rápido. La memoria interna es unas 32 veces mayor que los 16 KB combinados de trabajo y vídeo. Además, la hoja de datos de Espressif recoge una puntuación CoreMark de unos 994 puntos con los dos núcleos activos.

Con esa holgura, el reto no está en la potencia. Está en el resto de piezas. Hay que leer el joystick, dibujar la imagen, gestionar el sonido y guardar los juegos. Y todo con el menor número de componentes.

El joystick analógico plantea un detalle curioso. La Game Boy original tenía una cruceta digital. Un joystick entrega valores continuos, y la ESP32 los lee con un conversor de 12 bits, es decir, 4.096 niveles. El programa debe fijar umbrales para convertir el movimiento en las cuatro direcciones.

La pantalla: 160 por 128 píxeles

Aquí aparece la limitación más visible. La pantalla ST7735 tiene 160 por 128 píxeles, es decir, 20.480 en total. La de la Game Boy tenía 160 por 144, o sea, 23.040. Faltan 16 líneas, algo más del 11 %.

La imagen original no cabe entera. El programa debe recortarla, escalarla o ajustar la zona visible. El texto de XDA no detalla qué solución se eligió ni qué software ejecuta la consola, así que no podemos afirmar más.

La documentación de ESPHome ayuda a calcular el coste en memoria. Con color de 16 bits, el búfer de imagen ocupa 40.960 bytes. En modo de 8 bits baja a 20.480. Los 40.960 bytes suponen cerca del 8 % de los 520 KB de la ESP32. Es una cifra asumible. Queda memoria de sobra para el emulador o el juego.

Queda por ver la velocidad de envío. Las pantallas de este tipo se comunican por SPI. Con un reloj de 40 MHz, algo razonable pero que el autor no indica, enviar 40.960 bytes lleva unos 8,2 milisegundos. Es la mitad del tiempo de un fotograma de 16,7 milisegundos. El cálculo es nuestro y orientativo, pero muestra que el margen existe.

Flash en lugar de tarjeta SD

El autor encontró un problema práctico. Usar una tarjeta SD para varios juegos no funcionó con los títulos grandes. Por eso carga los juegos directamente en la memoria flash.

La razón puede ser la velocidad de lectura o el tamaño de los datos. El proyecto no lo aclara. Lo que sí sabemos es que la flash de la ESP32 admite hasta 16 MB, y que muchos módulos traen solo 4 MB. Con esa capacidad caben varios juegos de 1 MB, pero no una colección grande.

Es una limitación seria si el objetivo es una consola con biblioteca amplia. La solución habitual sería una flash mayor o una SD más rápida bien integrada. Ambas son factibles, aunque exigen más trabajo.

Lo que falta

El proyecto está inacabado. Su creador quiere añadir una pantalla de inicio al arrancar y la posibilidad de guardar el estado de la partida. También busca una forma de almacenar varios juegos.

Falta además la batería. Una consola portátil sin batería es, en realidad, una consola de sobremesa con pantalla pequeña. Añadirla implica elegir celda, cargador y regulador. También exige medir el consumo real de la ESP32 con la pantalla y la retroiluminación encendidas.

Todo eso es normal en un primer prototipo. Lo importante es que lo esencial ya funciona: la placa arranca, dibuja y responde a los controles.

Reflexiones adicionales

Este tipo de proyectos demuestra algo práctico. Un microcontrolador de pocos euros tiene hoy más memoria y velocidad que muchas consolas clásicas. Lo difícil ya no es la potencia, sino la integración.

También recuerda el valor de las piezas sobrantes. Muchas ideas nacen de un cajón con componentes. Una pantalla, una placa y unas horas bastan para empezar.

La versión actual tiene límites claros. Sin batería, sin guardado y con una pantalla algo más pequeña que la original, es más un banco de pruebas que un juguete. Pero como punto de partida es sólida. Si el autor completa las mejoras que anuncia, podría convertirse en un diseño fácil de replicar.

Para quien quiera imitarlo, conviene fijarse en tres puntos. Primero, elegir una pantalla con la resolución adecuada. Segundo, prever flash suficiente. Y tercero, planificar la alimentación desde el principio.

2
Suscribirse
Notificación
0 Comments
0
¡Aquí puedes dejar tus comentarios!x