ESP32-S3 ZX Spectrum: Classic Hardware Emulation on a Microcontroller
ESP32-S3 ZX Spectrum

Emulating the classic ZX Spectrum is not difficult these days. The community has completely documented this computer, and we can even get parts to repair original systems, but if all we care about is the environment, there are several options available. However, "atomic14" on YouTube decided to explore another route: running the emulation on a low-cost microcontroller like the ESP32, with a custom PCB that also takes on the role of keyboard.

A Brief History

The ZX Spectrum debuted on April 23, 1982, four months before the Commodore 64. Entire generations of professionals had the Spectrum as their "first computer", and beyond its original problems (from the rubber keyboard to the hardware distribution), it ended up selling more than five million units.

Today, the ZX Spectrum is not only an essential system for any collector, but also a great project to polish our emulation and design skills. So we arrive at the channel of "atomic14" (whom we remember for his minimalist ESP32 programmer and his Doom games with wireless charging), who recently introduced the ESP32-S3 ZX Spectrum.

ZX Spectrum Emulation on an ESP32 with Integrated Keyboard

There are still a few details to resolve, and "atomic14" admits he made a couple of design errors, but it doesn't look like a prototype because of how good it looks. The new silkscreens printing from PCBWay has a high level of precision, and with a simple case, this "computer" would be ready to use. As its name indicates, the ESP32-S3 ZX Spectrum uses an ESP32-S3 microcontroller, which besides connecting directly to USB, can also process all the keyboard signals (13 touch pins are needed, and it has 14).

ESP32-S3 ZX Spectrum: Classic Hardware Emulation on a Microcontroller
Although it seems unbelievable, this is better than the rubber keyboard...

The microSD card stores all games compatible with the ZX Spectrum (one is more than enough), and the PCB includes a charging circuit to connect a battery and make the device portable.

What's next? Three challenges:

  • Fix the keyboard problems (some key combinations don't register correctly)
  • Offer a compatibility option to connect different screens (perhaps in the form of a breakout)
  • A personal suggestion: include a switch to turn off the speaker

One-bit sounds are not for everyone...