Awesome Open Source
Awesome Open Source

ESPlay Retro Emulation

retro-emulation GitHub release Github All Releases Github Last Commit

Description and Video Review

Youtube Video

This projects is a set of firmware for playing second and third generation gaming platform and to be runs on esplay-micro-hardware, an ESP32 Devices with WROVER Module (4MB PSRAM) which you could find the details on my hackaday page. This hardware also commercially available on the Makerfabs Online Store. Due to small Flash ROM (only 4MB) currently only 3 game emulator could be bundled altough this device support 7 emulator including Atari, PC Engine, ZX-Spectrum, MSX, etc. The main feature of this projects is bundled as follow:

  • Nofrendo NES Emulator for play Nintendo ROM
  • GNUBoy for play GameBoy and GameBoy Color
  • SMSPlusGX could play Sega Master System, Game Gear and Coleco Vision ROM
  • In-Game menu on Emulator
  • NEW! Built-in Audio Player for playing music, support WAV, MP3, OGG, and FLAC audio files.
  • Esplay launcher, new code base using UGUI library

Place your Audio files that supported (mp3, flac, wav and ogg) to audio folder on the root of sdcard, if folder not exist just created one and place audio files on them.



Launcher Option

Now you have options to choose launcher, Retro-ESP32 launcher by 32teeth or ESPlay launcher by me. ESPlay Launcher has Wifi AP options so you can upload rom by using web interface via phone or your computer.

Here spoiler Retro-ESP32 launcher running on esplay-micro-hardware esplay-micro-hardware


This code is an esp-idf project. You will need esp-idf to compile it. Newer versions of esp-idf may introduce incompatibilities with this code; for your reference, the code was tested against release/v3.3 branch of esp-idf. edit with correct location for your mkfw. Find mkfw tool in the base firmware in my repository.

Also to get compiling correctly you need ffmpeg installed on your system and included in the PATH Environment.

edit to match your setup path(to match your location installation of esp-idf and clone of this repo). and simply execute then you'll find esplay-retro-emu.fw in the root of repo.

run to compile and make an .fw file that could be flashed by base firmware bootloader. Place .fw file in esplay/firmware folder on sdcard, power on esplay device while press B button until bootloader screen appear. select .fw then A -> Start to flash firmware.

Base firmware is a modified bootloader fork from odroid-go.


Extract from docs, and copy to the root of sdcard. Please provide ROM by yourself and place them in the appropriate folder on sdcard.


The software are free to use but we also accept small donation to make the project lives and continue development Donate

Source Author and Special Thanks

  • Audio Player based on ogo-shell projects by [Passpartout], thank you very much for sharing awesome code.
  • All emulator based on Go-Play for Odroid-go by OtherCrashOverride.

All Contributors

Thanks to contribute your work for this project.

Alternative Project Comparisons
Related Awesome Lists
Top Programming Languages
Top Projects

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
C (181,946
Firmware (10,438
Esp (8,424
Sms (7,347
Rom (4,355
Esp32 (4,080
Retro (1,595
Nes (1,383
Gameboy (1,325
Esp Idf (583
Odroid Go (24
Gb (23
Gbc (22
Gamegear (8