En septiembre de 2026 concluyó la octava edición de la Nokia 3310 Game Jam, donde el juego de pinball físico Trick Shot II se alzó con la victoria entre 51 participantes. Mientras la mayoría de los desarrolladores presentaron proyectos ejecutables en emuladores web, Hoani Bryson decidió dar el salto al hardware real. Consiguió un Nokia 3310 original fabricado a principios de los años 2000, vació por completo su electrónica interna e introdujo en la carcasa original una placa de circuito impreso artesanal equipada con una Raspberry Pi Pico.
Fue un auténtico trasplante de corazón para la carcasa del mítico teléfono móvil. Desarrollando un motor multiplataforma en Go, el autor logró controlar directamente sobre el microcontrolador bare-metal la vieja pantalla LCD de matriz de puntos y el zumbador piezoeléctrico. El chasis clásico volvió a iluminarse con su característico resplandor verde y los botones físicos recuperaron su crujiente sonido mecánico. El ecosistema de código abierto y la potencia de cálculo de los microcontroladores actuales permitieron reinventar el alma interna de la máquina sin perder un ápice de su inconfundible tacto ergonómico.
Una regla de plástico de 20 centímetros para diseñar una PCB a medida
Al abrir un Nokia 3310, lo primero que aparece es un conjunto de chips propietarios altamente integrados. La placa original reúne procesadores de banda base y unidades de gestión de energía cuyos manuales técnicos prácticamente no existen en la red. Ante la ausencia de documentación de los buses originales, Hoani descartó la ingeniería inversa del procesador de fábrica. Decidió prescindir de toda la electrónica previa y diseñar una placa de sustitución a medida que encajara en la carcasa original.
Definir el contorno físico y la posición exacta de las perforaciones era un reto crítico. Sin máquinas de medición por coordenadas ni calibradores digitales de precisión a mano, el autor recurrió a una sencilla regla de plástico de 20 centímetros y midió a ojo las divisiones milimétricas para trazar el perfil de la placa. Las pistas de contacto del teclado, los orificios para la retroiluminación y las pestañas de anclaje se obtuvieron mediante mediciones manuales. Cuando las placas de prueba llegaron a solo tres días del cierre del concurso, la soldadura a mano sacó a relucir unas tolerancias mecánicas implacables.
El diseño industrial no tolera desfases de medio milímetro. La placa base original del Nokia 3310 tiene un grosor estricto de 1,0 milímetro, pero el autor encargó inicialmente el grosor estándar de la industria, que es de 1,6 milímetros. Esos 0,6 milímetros adicionales bloquearon los enganches de plástico de la carcasa, provocando que los bordes quedaran levantados e impidiendo el cierre del terminal.
Las pestañas laterales de sujeción de la PCB también chocaban contra el armazón interior de plástico debido a ligeras desviaciones de medida. Con gafas protectoras puestas y una amoladora eléctrica de mano, Hoani rebajó los bordes sobresalientes hasta lograr encajar el primer prototipo. En revisiones posteriores volvió al grosor reglamentario de 1,0 milímetro, logrando que la carcasa cerrara con total precisión y sin holguras.
El contacto eléctrico interno recurre, al igual que el diseño original, a un sistema de presión elástica pura. Los terminales de la batería, los conectores de la pantalla LCD, el zumbador y el motor de vibración dependen exclusivamente de la presión ejercida por el cierre de la carcasa sobre las pistas de cobre de la placa. Por ello, la cara frontal de la PCB debía mantenerse completamente plana, quedando prohibida la presencia de componentes con relieve.
Para iluminar el teclado, los diodos LED se soldaron en orientación invertida en la parte trasera de la placa. La luz viaja hacia el frontal a través de orificios de 2 milímetros perforados en la fibra. La altura máxima de los componentes quedó fijada en 2 milímetros en casi toda la superficie, salvo en la zona superior donde se alojaba la antena original, que ofrecía un margen algo mayor.
Figura: Comparativa entre la placa verde original del Nokia 3310 y la placa personalizada soldada a mano con Raspberry Pi Pico. Fuente: Hoani.net (blog de Hoani Bryson).
Píxeles no cuadrados que obligan a rehacer el motor de física
La pantalla LCD monocroma PCD8544 que incorpora el Nokia 3310 es un emblema del diseño industrial. Su resolución es de tan solo 84x48 píxeles y el área visual útil mide unos 30,5 milímetros de ancho por 21,5 milímetros de alto. Cada píxel físico tiene unas dimensiones de 0,363 milímetros por 0,448 milímetros, lo que arroja una relación de aspecto próxima a 4:5. Esta geometría no cuadrada supuso un reto de primer orden para la simulación física en dos dimensiones.
Si los gráficos se renderizan asumiendo una cuadrícula cuadrada convencional, una bola esférica se deforma visualmente en una elipse alargada. Para que la pelota mantuviera una forma perfectamente redonda en pantalla, el desarrollador rediseñó el sistema de coordenadas interno del motor físico. En el nivel inferior mapeó 5 píxeles horizontales y 4 píxeles verticales a una misma unidad de distancia física. Desacoplando el motor de cálculo del entramado de píxeles, las colisiones y los rebotes recobraron su armonía visual sobre la pantalla de matriz de puntos real.
A esto se sumó la lentitud de respuesta óptica propia de las pantallas LCD antiguas. Aunque el panel PCD8544 admite una tasa de refresco de hasta 67 Hz, las moléculas de cristal líquido sufren una latencia considerable. Un píxel tarda aproximadamente 50 milisegundos en oscurecerse y nada menos que 125 milisegundos en volver al estado transparente.
Una bola en movimiento rápido dejaba una densa estela de imágenes fantasma en la pantalla. El autor intentó en un principio alternar el parpadeo de píxeles entre fotogramas para simular tonalidades de gris, pero en el hardware real aparecieron bandas horizontales oscuras y un parpadeo inasumible. La inercia física del panel impedía recurrir al tramado temporal a alta frecuencia.
El software acudió al rescate para compensar las limitaciones ópticas del hardware. Abandonando el parpadeo temporal, el autor apostó por el tramado espacial ordenado (spatial dithering). Implementó una matriz de umbrales de Bayer de 8x8 que convierte 64 niveles de brillo en patrones de puntos blancos y negros de diferente densidad. De este modo, las pantallas de título y la trayectoria de la bola adquirieron una riqueza de contrastes suave y sin parpadeos molestos.
Figura: Pistas de contacto de cobre planas para el teclado y orificios pasantes de retroiluminación en el frontal de la placa personalizada. Fuente: Hoani.net (guía de desensamblaje del hardware).
Arquitectura dual para llevar Go al microcontrolador
El núcleo del desarrollo de software consistió en construir un motor unificado capaz de ejecutarse tanto en el simulador de navegador web como en el hardware embebido real. Hoani concibió un marco específico denominado 3310_engine, aprovechando la compilación condicional de Go para separar el código en dos vías. Mediante etiquetas de compilación (build tags), la misma lógica del juego genera dos binarios de ejecución totalmente distintos sin duplicar el código fuente.
La compilación embebida se apoya en el compilador TinyGo. Sobre el chip de doble núcleo RP2040 de la Raspberry Pi Pico, el programa corre como firmware bare-metal sin sistema operativo. Al eliminar la sobrecarga de planificación del sistema operativo, el bucle principal mantiene una tasa de fotogramas fija y rigurosamente estable. En cada fotograma se exploran secuencialmente la matriz de teclas, se actualiza el estado físico, se genera el audio y se transfiere el búfer a la pantalla, detectando las pulsaciones de los 16 botones físicos con una precisión de microsegundos.
La memoria integrada del microcontrolador obligó a una contención extrema. El RP2040 solo dispone de 264 KB de SRAM, por lo que descomprimir imágenes comprimidas saturaría la memoria de pila al instante. El desarrollador prescindió de bibliotecas de descompresión y optó por la lectura directa desde la memoria flash. Los recursos gráficos se convirtieron durante la fase de compilación en mapas de bits PBM monocromos sin comprimir, fijándose en la memoria de solo lectura para volcarse directamente al búfer gráfico en tiempo de ejecución.
El zumbador piezoeléctrico monofónico también impuso restricciones singulares al apartado sonoro. Al contar con un único elemento piezoeléctrico, el terminal no puede reproducir acordes polifónicos. El creador moduló el zumbador mediante ondas cuadradas PWM con un ciclo de trabajo ajustable entre el 0 y el 50%. Como las notas por debajo de C3 carecen de resonancia física y degeneran en un zumbido débil, el motor de sonido incorporó una herramienta de transposición para adaptar las melodías a la frecuencia óptima de resonancia del zumbador.
Reconstruir hardware real reabre el debate sobre la potencia en la cultura retro
El chip RP2040 de la Raspberry Pi Pico cuenta con dos núcleos a 133 MHz y 2 MB de memoria flash externa. El procesador original del Nokia 3310 apenas alcanzaba una docena de megahercios y su memoria se medía en kilobytes. La brecha de cálculo abarca varios órdenes de magnitud. Esta disparidad generacional suscitó un intenso debate en las comunidades de modificación de hardware.
Los puristas sostienen que retirar la placa madre original vulnera la integridad histórica del hardware retro. Sustituirla por un chip ARM moderno se asemeja más a un modding de chasis que a un ejercicio de conservación informática. Para ellos, las limitaciones, el retraso de reloj y las imperfecciones del chip antiguo constituyen la esencia misma de un producto de los 2000; colocar un microcontrolador actual equivaldría a parasitar una carcasa vacía.
Por el contrario, los partidarios de reconstruir las máquinas reales defienden una visión pragmática. Ante la escasez de esquemas y la desaparición de las herramientas de desarrollo originales, empeñarse en la ingeniería inversa nativa suele condenar a estos dispositivos a acumular polvo como chatarra electrónica en un cajón. Diseñar una placa personalizada de código abierto alarga la vida útil de las carcasas y dota al equipo de interfaces de programación modernas. Cualquiera puede mandar a fabricar las placas a partir del diseño abierto y conectar un dispositivo histórico a la comunidad de creadores actual.
Esta división refleja una evolución profunda en la cultura retro. El interés por lo clásico ya no consiste únicamente en conservar máquinas intactas en vitrinas de museo. Cuando el diseño industrial de antaño converge con el ecosistema de código abierto actual, el hardware retro renace como un lienzo de experimentación completamente nuevo.
Figura: El Nokia 3310 modificado ejecutando Trick Shot II en hardware real. Fuente: Hackaday (artículo de Jenny List).
El tacto de los botones mecánicos rescata el alma interactiva del milenio
La diferencia sustancial entre jugar en un emulador dentro del navegador y sostener el teléfono en la palma de la mano reside en la certeza táctil. Al pulsar una pantalla táctil moderna, las yemas de los dedos solo perciben cristal liso. Sin recorrido mecánico ni rebote elástico, la interacción carece de memoria muscular.
El teclado de silicona y las cúpulas metálicas del Nokia 3310 proporcionan una confirmación táctil inequívoca. La firmeza al presionar con el pulgar y el peso sólido del cuerpo del teléfono brindan una sensación de inmersión imposible de replicar en una pantalla táctil. Esa retroalimentación física no puede reproducirse mediante líneas de código en un emulador.
La popularización de las placas abiertas y los microcontroladores económicos ha derribado las barreras de entrada para la modificación de hardware. Ya no se requieren costosos equipos de laboratorio para completar en los ratos libres el trayecto desde el trazado de pistas hasta la programación de controladores. Al revitalizar los dispositivos con potencia contemporánea, los hackers de hardware mantienen viva la calidez física que los diseños clásicos dejaron grabada en nuestras manos.
Enlaces de referencia:
- Reportaje de Hackaday: Taking A Nokia 3310 Game Jam To The N’th Degree
- Blog técnico de Hoani: Multiplatform Engine for Nokia Jam 3310
- Guía de desensamblaje de Hoani: Nokia 3310 Hardware Teardown