emir173/esp32-console — explained in plain English
Analysis updated 2026-05-18
Build a physical handheld game console from scratch around an ESP32-S3 chip.
Flash and run any of the fifteen included games or three small apps on the device.
Add a new game by writing custom C++ code for the dual-core hardware.
Capture screenshots and GIFs of the console's live gameplay over USB.
| emir173/esp32-console | codemagic-ci-cd/codemagic-patch | division-36/z-jail | |
|---|---|---|---|
| Stars | 25 | 25 | 25 |
| Language | C | C | C |
| Setup difficulty | hard | hard | moderate |
| Complexity | 5/5 | 4/5 | 3/5 |
| Audience | developer | developer | ops devops |
Figures from each repo's GitHub metadata at analysis time.
Requires assembling custom electronics hardware, not just installing software.
This project, called E-OS, is a homemade handheld game console built around the ESP32-S3, a small dual core microcontroller chip. The whole operating system and every game engine were written from scratch in C++ for this specific hardware, without relying on any existing game engine or emulator. The physical device has two screens: a small color TFT screen that handles the main game display and interface, and a smaller black and white OLED screen above it that shows system status and high scores. It also has an analog joystick with hardware filtering to stop unwanted drift, a simple 8-bit buzzer for sound, and a micro SD card slot for storing game data. Sixteen megabytes of flash storage and eight megabytes of extra memory give it enough headroom to run smoothly. The operating system takes advantage of the chip's two processor cores by dedicating one core entirely to running game logic while the other core is solely responsible for drawing graphics to the screen, which the project says keeps things from stuttering. The main menu is an animated, rotating carousel for choosing between programs, and pressing the joystick button can pause any running game instantly at the hardware level. New games or updates can be installed over the air by reading files from the SD card and writing them to the device's flash memory. The console ships with fifteen custom built games recreated for this small hardware, including a Doom style raycasting shooter, a Mode 7 style racing game, a top down dungeon crawler with boss fights and a shop, Tetris, Snake, Pac-Man, Space Invaders, Flappy Bird, 2048, a rhythm game, a tower defense game, and more, plus three small apps: a flight tracker that pulls real data from the OpenSky Network, a stopwatch and metronome tool, and an Etch-a-Sketch style drawing app. The project also includes Python scripts that can capture screenshots and animated GIFs of the console's screen live over a USB cable while a game keeps running. This is a from-scratch hardware and firmware project, best suited to someone comfortable building and flashing embedded electronics rather than a typical software-only user.
A homemade handheld game console built on the ESP32-S3 chip, with a custom dual-core OS, dual screens, and fifteen built-in games.
Mainly C. The stack also includes C, C++, ESP32-S3.
Setup difficulty is rated hard, with roughly 1day+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.