Skip to content
Retrospec allow all screenshots of all games to be used in the public domain. en:Category:ZX Spectrum game screenshots Klass of 99 by Retrospec
Retrospec allow all screenshots of all games to be used in the public domain. en:Category:ZX Spectrum game screenshots Klass of 99 by Retrospec Image by Wisebede at English Wikipedia, via Wikimedia Commons (Public domain).

ESPectrum

ZX SPECTRUM BRITISH COMPUTERS EMULATOR

ESPectrum

ESPectrum is an open-source Sinclair ZX Spectrum emulator implemented to run on Espressif ESP32 SoC boards (examples: Lilygo TTGo VGA32, Olimex ESP32-SBC-FabGL). It supports multiple Spectrum models including 48K, 128K, +2A, +3, Pentagon 128, and Microdigital TK90X/TK95 and provides VGA output, PS/2 input support, tape/disk image loading and snapshot support

zx spectrum british computersPRIMARY SYSTEM
History documentedPROJECT BEGAN
Open sourcePROJECT MODEL

WHY IT MATTERS

Why ESPectrum matters

ESPectrum brings high-quality, cycle-accurate ZX Spectrum emulation to inexpensive ESP32-based hardware, enabling a dedicated, low-cost physical device (VGA/CRT output plus PS/2 input) that runs real Spectrum software from SD card image files.

BEST FOR

Best for

People who want a compact hardware Spectrum experience using cheap ESP32 boards (TTGo VGA32 and similar) and those who prefer a self-contained SD-card-driven emulator with VGA output and PS/2 keyboard/joystick support.

Jet Set Willy gameplay on ZX Spectrum
Gameplay from Jet Set Willy on ZX Spectrum.

The people behind ESPectrum

History and lineage

ESPectrum is derived from community ESP32 Spectrum emulator work and cites earlier projects in its README: it is based on David Crespo's ZX-ESPectrum-Wiimote fork, which itself forked ZX-ESPectrum (Rampa & Queru) and was inspired by PaseVGA (Pete Todd). The repository contains active development, documentation and releases on GitHub and a project website with instructions and an online flasher.

What ESPectrum supports

  • Espressif ESP32 SoC boards (example: Lilygo TTGo VGA32)
  • Olimex ESP32-SBC-FabGL and similar ESP32 dev boards
  • VGA monitors or 15 kHz CRTs (with appropriate cable/adapters)
  • PS/2 keyboards and PS/2 mice (used for input and joystick/mouse emulation)
  • SD card storage (FAT16/FAT32) for ROMs, snapshots and image files
  • Build/compile on Windows, Linux and macOS via PlatformIO

Download and availability

OFFICIAL DOWNLOADS

Get ESPectrum

Official binaries and source are published on the project's GitHub releases page. The project also provides an online web flasher on the documentation site for easy flashing of supported boards.

Get ESPectrum ↗

DOCUMENTATION

Official documentation

Read the official configuration, compatibility, and troubleshooting material before changing advanced options.

Read official documentation ↗
Broken or missing download? Emulator projects move and official links sometimes change. Please contact Retro Replay so the source can be verified and updated.

ESPectrum setup guide

Setup note: Practical setup steps below assume you have an ESP32 board known to work (TTGo VGA32 recommended) and a VGA monitor or CRT. Follow the repository README and the project site for the latest board-specific notes and downloads.

  1. 1) Choose and prepare hardware: Use an ESP32 board supported by the project (Lilygo TTGo VGA32 is the commonly recommended starter board). You will also need a microSD card (FAT16 or FAT32), a VGA monitor or a CRT with the appropriate VGA-to-RGB cable, and a PS/2 keyboard (or adapter) for input.
  2. 2) Obtain firmware: Either download prebuilt binaries from the project's GitHub releases or use the project's online web flasher (documented on the project website) to flash your board. The README and releases page list bin files and release-specific flashing instructions.
  3. 3) Prepare the SD card: Format the microSD card as FAT16 or FAT32. Copy your supported image files to the card—ESPectrum indexes .sna, .z80, .p, .tap, .trd and .scl files according to the README. You may also copy optional ROM files if you wish to use custom ROMs (the emulator supports selecting Sinclair 48K/128K, +2 English/Spanish, TK90X variants and allows flashing custom ROMs from SD card).
  4. 4) Flashing using PlatformIO (optional, for builders): If you prefer building from source, open the repository in VSCode + PlatformIO. Select the target board (pico32 entry behaves like TTGo VGA32) and run PlatformIO > Project Tasks > Upload. The README provides the PlatformIO configuration and build hints.
  5. 5) Boot and configure: Power the board via microUSB. On first boot use the PS/2 keyboard to access the OSD and file browsers (F1 Main menu, F2..F4 for snapshot/disk/tape browsers, see README for full key list). Configure video mode (VGA/CRT and aspect ratio) and input mapping as needed.
  6. 6) Loading games and snapshots: Place your .tap/.tzx (tape) files, .sna/.z80 snapshots, and .trd/.scl disk images on the SD card. Use the emulator's file browser/OSD to load tape/disk/snapshot files; the emulator supports real-time TZX/TAP playback and flashload of TAP files as documented.
  7. 7) Optional hardware/input features: ESPectrum supports PS/2 joystick emulation, DB9-to-PS/2 converters for real joysticks, Kempston mouse emulation via PS/2 mouse, AY sound and beeper/mic options using GPIO pins or board-specific connectors. Consult the README and board notes for specific GPIO mappings.

Software reminder: ESPectrum does not include commercial ROMs, firmware or game files. Provide any Spectrum ROMs, tape/disk images, or snapshots yourself and ensure you have the legal right to use them.

Sources and further reading

Detailed guides and tutorials

Explore step-by-step guides for ESPectrum as they are published.