E-OS is a custom-built, dual-screen handheld game console based on the ESP32-S3 microcontroller, featuring 15 original games and 3 apps powered by a FreeRTOS architecture.

Stars

26

7-day growth

No data

Forks

3

Open issues

0

License

MIT

Last updated

2026-07-10

AI repository intelligence
FR-AI / ANALYSIS

Why it is worth attention

It demonstrates a complete DIY gaming system with a custom operating system (E-OS), dual-core async rendering, and a unique carousel UI—all built from scratch without relying on existing game engines or emulators.

Who it is for

  • ESP32-S3 hobbyists and makers
  • Embedded systems developers learning FreeRTOS
  • Retro gaming enthusiasts interested in custom hardware
  • Students looking for a comprehensive embedded project

Use cases

  • Building a portable retro gaming console
  • Learning dual-core FreeRTOS programming on ESP32-S3
  • Experimenting with dual-screen (TFT + OLED) integration
  • Creating an OTA-updatable embedded entertainment system

Strengths

  • 15 custom games and 3 apps covering various genres (raycasting, racing, platformer, etc.)
  • Dual-core architecture with dedicated graphics core for tear-free 60 FPS rendering
  • Hardware pause and OTA bootloader with SD-card-based updates
  • USB screenshot/GIF capture tool without impacting game performance

Considerations

  • Requires specific custom hardware (no off-the-shelf board support beyond pinout)
  • Each game is a separate Arduino sketch, not a unified firmware image
  • No mention of open-source license or contribution guidelines

README quick start

Türkçe | English

E-OS — ESP32-S3 Handheld Console An ESP32-S3 based, dual-screen (TFT+OLED) handmade gaming console project running on a FreeRTOS architecture.

🌐 Project Website

About the Project

This project is a handheld console developed from scratch using the ESP32-S3 microcontroller. Without relying on any pre-built UI frameworks or emulators, the operating system (E-OS) and the game engines were custom coded in C++ to run specifically on this hardware.

Hardware Architecture

  • Processor: Dual-Core ESP32-S3 running at 240 MHz.
  • Dual Display:
    • Main Screen: 160x128 Color TFT (SPI). Handles the main game rendering and UI.
    • Secondary Screen: 128x64 OLED (I2C). Located at the top of the device; displays system status and high scores.
  • Memory: 16MB Flash + 8MB PSRAM OPI. Massive memory bandwidth ensures a stutter-free experience.
  • Audio & Controls: 8-bit buzzer and an analog joystick (with hardware deadzone filtering).
  • Storage: Micro SD Card integration for game assets.

Software Architecture (E-OS)

  • FreeRTOS: One processor core (Core 0) handles the game logic, while the other core (Core 1) is entirely dedicated to screen rendering.
  • Carousel UI: Features an animated, rotating carousel menu design for navigating between games.
  • Hardware Pause: Thanks to RTOS task management, games can be paused instantly at the hardware level.

15 Custom Games

All games are heavily optimized for the device's resolution and hardware limits.

DOOM: Doom-style raycasting engine.



MODE 7 RACING: Classic racing mechanics. Collect checkpoints and leave rivals behind.



WIRE-FRAME 3D: 3D space battles against alien forces.



GALACTIC STRIKE: Survive enemy fleets, collect power-ups and defeat bosses.



PLATFORMER: Overcome obstacles, dodge traps, and beat the levels.



SPACE INVADERS: Survive waves of incoming aliens.



ARKANOID: Break all bricks with an accelerating ball.



PAC-MAN: Escape ghosts and collect all dots in the maze.



FLAPPY BIRD: Fly carefully through the pipe obstacles.



SNAKE: Grow your tail, don't hit the walls or yourself.



TETRIS: Stack the blocks, clear the lines; speed up as the leve

Description

Dual-screen ESP32-S3 handheld console with a dual-core OS, OTA launcher, and 15 native games.

Related repositories

Similar projects matched by category, topics, and programming language.

sorryhumans
sorryhumans GitHub avatar

clawdmeter-plus

Clawdmeter Plus is a fork of the open-source Clawdmeter that turns a Waveshare ESP32-S3 AMOLED display into a live Claude Code usage monitor with weather, agent health dots, and daily voice greetings, all driven by a macOS Bluetooth LE daemon.

C
86
theqkash
theqkash GitHub avatar

esp32flight

A standalone desk flight radar that runs on a single ESP32 board with a touchscreen, also available as an Android app, showing live aircraft positions, routes, airline logos, and alerts without requiring any server, subscription, or API keys.

C
107
AlguevaraSec
AlguevaraSec GitHub avatar

VideoSlim

VideoSlim is a modern, open-source desktop video processing toolkit that provides a native GUI for FFmpeg, enabling compression, watermarking, silence removal, and pipeline automation while keeping all processing local and subscription-free.

TypeScript
15