Gracias a todos los que hacen posible esta maravilla
Como todos los proyectos de software libre, este no es una excepción; todo ha sido posible gracias a la contribución desinteresada de muchas personas que, cada una aportando su granito, hacen que otros puedan avanzar en proyectos que parecen imposibles, pero que no lo son.
Esta no es una excepción, un emulador de ZX Spectrum corriendo en un microcontrolador barato y con TODAS sus funciones. Pero para llegar aquí el camino ha sido largo y los participantes llegan desde diferentes partes del mundo; así de increíble es el software libre.
Resumiendo su historia, que más abajo desglosaré: Un buen día, Víctor Iborra se encuentra un video de David Crespo, en que enseña cómo ejecuta un emulador de ZX Spectrum en una plaquita llamada Lilygo, que incluye un microcontrolador ESP32. Víctor se queda perplejo de que aquello pueda funcionar y se compra uno inmediatamente.
Antes de nada, para los que no sepáis de qué va esto, un microcontrolador nunca ha generado una señal de video, ni se le puede conectar un teclado, ni genera sonido; ¿cómo demonios es posible todo esto?.
Todo esto empieza cuando a un señor llamado Fabian Greif (Bitluni), se le ocurre que va a intentar sacar por los pines de un ESP32 todas las señales necesarias que componen una señal VGA capaz de verse en un monitor. Después de mucho trabajo y unas cuantas resistencias, lo termina y publica de forma libre una librería para que cualquiera pueda ponerle VGA a su ESP32. Esto es un gran hito. Gracias a los dos núcleos del ESP32, usa enteramente uno de ellos para generar cada uno de los pines de la señal de video, los sincronismos vertical y horizontal, los RGB, etc.
Ya podemos generar señal de video desde un ESP32, ahora lo siguiente es emular el procesador del Spectrum. Para esto hay varios makers que han donado su trabajo; el primero fue Sashnov, con su emulación de Z80 para ESP32. Más tarde, J. L. Sánchez crea otro emulador muy afinado y muy bien documentado.
Después, el señor don Fabrizio Di Vittorio crea una librería (superbien documentada) donde integra la librería VGA y añade soporte de teclado, gamepads, ratón y sonido.
Un buen día, David Crespo se encuentra el emulador de Spectrum, pero no le funciona el teclado y decide incorporarle el soporte del mando de la Wii por Bluetooth. Publica esto en YouTube, Víctor Iborra lo ve y aquí estamos.
Victor Iborra actualmente es el que más está aportando al proyecto (según mi opinión) del ESPectrum (ESP de ESP32 + Spectrum), llegando a afinarlo tanto que a día de hoy es imposible saber si estás delante de un ZX Spectrum real o la emulación de Victor.
Todos los makers debemos darles las gracias por su trabajo y estar eternamente agradecidos porque finalmente esto sea posible.


Conocido como Bitluni, es un ingeniero y maker alemán muy conocido en la escena retro del ESP32, famoso por demostrar cómo generar salida VGA estable directamente por GPIO sin chips gráficos, usando timings precisos, DAC por resistencias y sincronismos optimizados para modos como 640x480 o variantes retro. Pionero en exprimir el ESP32 al límite con proyectos minimalistas que incluyen bibliotecas VGA didácticas, emuladores, demos, juegos y recreaciones de Spectrum, C64 y consolas DIY —muchos inspirados directamente en su trabajo—, destaca por su ingeniería elegante, comprensión profunda del hardware eléctrico y de timings, documentación clara y enfoque práctico: primero lo hace funcionar, luego explica por qué. Su legado radica en probar que un microcontrolador barato puede manejar vídeo usable, convirtiéndose en referencia absoluta para la comunidad maker.
Fabian Greif


Sashnov es un desarrollador de emulación reconocido por su investigación profunda y precisa sobre el ZX Spectrum y sus comportamientos más delicados, con un enfoque obsesivo en la fidelidad al hardware real: timings finos, sincronización, casos límite y detalles que suelen pasar desapercibidos pero que, cuando faltan, rompen demos o software especialmente exigente. No es un divulgador ni un maker de hardware, sino un perfil de emulación “pura” que aporta conocimiento crítico —citado en código fuente y foros técnicos— sin necesidad de firmar emuladores completos. En este proyecto, sin embargo, su aportación se ha usado de forma muy concreta: únicamente su implementación de la emulación del chip de sonido AY-3-8910. (Gracias Eremus por la aclaración)
Sashnov


Es un desarrollador español reconocido en la escena retro y de emulación por sus núcleos de CPU Z80 extremadamente precisos y bien documentados, con un enfoque de ingeniero clásico que prioriza código limpio, exactitud en timings, interrupciones, flags y comportamiento real del chip por encima de interfaces vistosas o emuladores completos. Su trabajo destaca en implementaciones reutilizadas o estudiadas por otros proyectos, sirviendo como referencia educativa y técnica para la parte más ardua de la emulación: lograr que el Z80 actúe idéntico al hardware original, más allá de simplemente cargar un juego. Es especialmente valorado por desarrolladores de emuladores, ports a hardware limitado y proyectos educativos sobre arquitectura Z80, perteneciendo al selecto grupo obsesionado con la fidelidad absoluta al original.
J.L. Sánchez


Es un ingeniero y desarrollador italiano mundialmente reconocido por crear FabGL, una librería excepcionalmente potente y completa para ESP32 que integra salida VGA, teclado PS/2, ratón, gamepads, audio, drivers gráficos y emulación retro, todo estructurado, documentado y mantenido con excelencia —convirtiendo el VGA "a pelo" pionero de Bitluni en un sistema maduro y usable. Su aportación clave incluye un emulador de ZX Spectrum nativo en FabGL que corre establemente en ESP32 con VGA real, soporte para teclado físico y enfoque como ordenador completo, no mera demo, sirviendo de base directa para innumerables proyectos DIY como "ESP32 Spectrum" o "Spectrum VGA Retro".
Fabrizio Di Vittorio


Es un desarrollador y maker español activo en la escena retrocomputación, reconocido por sus emuladores de ZX Spectrum en ESP32 y hardware ajustado, con un perfil técnico puro que prioriza código serio, optimización extrema de RAM, velocidad y timings, soporte para pantallas TFT SPI, VGA y diversos layouts de teclado —pensado para hardware real, no simulaciones de escritorio. Su trabajo hace posible lo aparentemente imposible mediante código reutilizable, claro, modular (emulador, vídeo, input, audio) y bien documentado, sin postureo ni marketing, representando el espíritu maker auténtico: no busca likes, sino que el emulador arranque, suene y responda perfectamente, influyendo en muchos proyectos donde "algo va sorprendentemente bien" gracias a sus ideas o código.
David Crespo


Víctor Iborra (Eremus) es un desarrollador y maker español muy respetado en la escena retro-DIY, particularmente reconocido por su emulador de ZX Spectrum para ESP32 que destaca por su emulación perfecta, logrando una fidelidad excepcional al hardware original pese a las severas limitaciones del microcontrolador. Este emulador está meticulosamente optimizado para hardware muy restringido —con bajo consumo de energía que lo hace ideal para proyectos portátiles—, y soporta una amplia gama de periféricos como pantallas pequeñas TFT/LCD SPI, teclados DIY conectados por GPIO, PS/2 o USB, preservando timings precisos, sincronización ULA, efectos de border y comportamientos edge-case del Z80 real que muchos ports simplifican o ignoran. Lejos de ser una figura mediática o mainstream, su enfoque técnico puro lo convierte en referencia para makers que buscan llevar el ZX Spectrum al terreno moderno, habilitando consolas caseras, "Spectrum de bolsillo" y dispositivos DIY funcionales que no solo cargan juegos, sino que los ejecutan con la exactitud necesaria para demos exigentes y software auténtico, demostrando maestría en exprimir el ESP32 sin compromisos en calidad emulativa.
