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

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.
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 ↗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) 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) 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) 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) 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) 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) 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) 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.
Retro Replay Retro Gaming History, Reviews & Emulation
