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