Embedded 2D game running directly on an ESP32-driven TFT display with on-device graphics and game-state rendering.
Overview
This embedded game project demonstrates real-time 2D graphics on a small TFT display controlled by an ESP32. The game renders lanes, obstacles, score/game-over states, and a playable interface on the physical screen. It is a compact example of display control, game-loop timing, sprite updates, and UI feedback on microcontroller hardware.
ESP32 firmware maintains the game state, updates objects each frame, draws to the TFT over SPI, and checks physical input for player movement.
Project photos
TFT game display test on the embedded board.
Gameplay running directly on the TFT hardware.
Videos
Implementation details
Firmware
Firmware uses a timed game loop to draw the player, obstacles, collision states, score, and menu/game-over screens on the TFT display. Graphics are optimized for microcontroller memory and refresh-rate limits.
Components / BOM
ESP32 development board, TFT display module, Input controls, Breadboard and jumper wiring
Engineering challenges
The main challenge was keeping graphics responsive on a small embedded display while maintaining readable UI elements and stable input handling.
Solutions
Used simple 2D geometry, compact UI screens, and frame-based state updates to keep the gameplay responsive.
Results & metrics
Physical TFT demos show the game screen, live gameplay, game-over state, and embedded board running the application.
Future improvements
Add sound, menus, selectable difficulty, persistent high score, and a custom PCB/enclosure for the handheld game.