ESP32 Powers Single-PCB ZX Spectrum Emulator

When word first got out that the Chinese board houses were experimenting with full color silkscreens, many in our community thought it would be a boon for PCB art. Others believed it would be akin to cheating by removing the inherent limitations of the medium. That’s not a debate that will be solved today, but here we have an example of a project that’s not only making practical application of the technology, but one that arguably couldn’t exist in its current form without it: a single-PCB ZX Spectrum emulator developed by [atomic14].

There basics here are, well, they’re pretty basic. You’ve got an ESP32-S3, a TFT display, a micro SD slot, and the handful of passives necessary to tie them all together. What makes this project stand out is the keyboard, which has been integrated directly into the PCB thanks to the fourteen pins on the ESP32-S3 that can be used as touch sensor input channels. There are issues with detecting simultaneous keypresses, but overall it seems to work pretty well.

The keyboard matrix takes 13 of the 14 touch input pins on the ESP32-S3.

But what makes the keyboard really special is that [atomic14] has used the color silkscreen capability to put all the necessary labels directly onto the keys. Technically this could have been done using a traditional single color silkscreen, but it would have been a hell of a lot harder to fit all the necessary information on there while keeping it readable. Plus, you’d miss the little rainbow in the corner.

As good as it looks already, the project is still in the early stages of development. Some components, such as the TFT display, still need to be better integrated into the board. In terms of software, the board is running a ZX Spectrum emulator that [atomic14] developed previously. Judging by the gameplay in the video below, it’s doing a solid job of bringing this classic system (and its games) back to life.

21 thoughts on “ESP32 Powers Single-PCB ZX Spectrum Emulator

    1. It would be, but the original was made to be as cheap as possible and had a notoriously unpleasant keyboard because of that (hence all the macros, means you don’t have to type quite as much). Using fancy keyswitches would go against the spirit of this emulator, I think.

    1. If you make nice with your local sign shops, you may find one willing to do the UV printing for you. Then you can use any board house that can do white solder mask. Many larger sign shops will have something like a HP Scitex to print on ACM or coroplast. It will probably take some trial and error, and extra setup to get it right. Having a friendly relationship with the sign shop first might keep them from charging you extra setup costs, and they may find it a unique project that helps expand their portfolio.

  1. Honestly, that touch-on-pcb keyboard will probably work better and feel nicer than the original rubber dead meat keys on that thing :)

    Love the idea, would love to purchase a PCB like that.

  2. 1) There is no cheating in art, aside from blatant plagiarism, and even that seems to have its place. The limitations are what you say they are.
    2) WHY? I mean, why even tie it into the “ZX Spectrum” name, since the only thing the two machines have in common are the name and a rainbow on the case?

    1. In reply to 1) Good artists copy, great artists steal. In reply to 2) Because it has the name, and the rainbow on the case, in common. And the key functions. And the key layout. And some background work to ensure the emulator will work properly. But, apart from that, yes, no reason to tie it to the Spectrum name.

  3. It seems like the display integration could be solved by making the PCB slightly larger, using a 3D printer back enclosure (just for the display) or angling it. Otherwise, a great job.

  4. Love it, the OG Speccy was as cheap as chips built down to a price in the hardware, but that BASIC and Z80 exyended instruction set were to die for. Great work guys!

  5. TAKE MY MONEY!!!
    I’ve been waiting for a ‘modern’ Spectrum since I sadly got rid of my original Spectrum.
    Can’t WAIT to see if this is the success I believe it will be.

  6. Un Emulador de Zx Spectrum , basado en ESP32 , y de una calidad de emulación y características adicionales , inmejorables ( emula varios modelos de Zx 48kb y 128kb , Pentagon , roms perdonalizables , tap , tzx , trd , scl , etc ) …..es ESPectrum …. y en carcasa de un gomas la experiencia es brutal ….. https://zxespectrum.speccy.org/

  7. Hi there!

    A very nice ZX Spectrum emulation project!

    I’d like to take the opportunity to share that there’s yet an open source and mature ZX Spectrum emulator for the ESP32 SoC, which faithfully replicate the functioning of this iconic 8-bit computer: ESPectrum.

    ESPectrum is, right now, one of the most accurate emulation of the real Speccy out there. It even allows to output video to a real CRT TV with same exact refresh rate that a real machine.

    If you fancy it, you can get more info at:

    Website
    https://zxespectrum.speccy.org

    Patreon
    https://www.patreon.com/ESPectrum

    Github repo
    https://github.com/EremusOne/ZX-ESPectrum-IDF

    Youtube channel
    https://www.youtube.com/@ZXESPectrum

    Twitter
    https://twitter.com/ZX_ESPectrum

    Regards!

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.