// the find
retro-esp32/RetroESP32
Retro ESP32 is a turbo charged Odroid Go Launcher, Emulator and ROM Manager
A feature-packed launcher and multi-emulator firmware for the Odroid Go handheld, covering 11 systems from NES to PC Engine. It also ships as a hardware drop-in for Game Boy Pocket via a custom PCB sold on Tindie. Aimed at retro gaming enthusiasts who own Odroid Go hardware or want a pre-built handheld solution.
The component structure is unusually clean for an embedded project — each emulator core lives in its own subtree with its own display/audio/input wrappers, making it easy to understand what changed when a core gets updated. Favorites and recently-played lists are built into the launcher, which sounds basic but most competing launchers didn't have them at the time. The in-game HUD menu is a real quality-of-life feature on constrained hardware where you'd otherwise have to reset to change settings. The Game Boy Pocket hardware variant shows the project went beyond software — someone actually designed a PCB and shipped product.
Last meaningful commit was mid-2024 and the Odroid Go itself is discontinued hardware, so this is effectively in maintenance mode for a shrinking installed base. The emulator components are largely vendored forks of other projects (gnuboy, nofrendo, smsplusgx) with no clear upstream tracking — you get whatever was pinned years ago, including any unfixed emulation bugs. There's no build system documentation; figuring out how to compile this without the exact Espressif IDF version it was built against is trial and error. The repo structure with deeply nested duplicate components (go-play, pitpo, odroid-go-handy all containing near-identical odroid_display.c files) suggests copy-paste component management rather than any shared library approach.