Driver FixRecommendedSound, Wi-Fi or graphics acting up? Check drivers firstFind missing or outdated drivers fast.Check DriversHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsClean PCRecommendedOne scan can reveal what keeps slowing WindowsLook for cleanup and repair opportunities.Run Scan×
FREEDOM251

Freedom251 › Blog › C programming

ESP32-S3 Retro Games: Tetris and a Roguelite Shooter on Two Buttons

By Freedom251 Team · · 3 min read

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Donato Maglie’s ESP32-S3 project turns a pocket digital multi-tool into a small game platform: it includes a native Tetris clone and a vertical roguelite space shooter, both controlled through an LCD and just two physical buttons. The interesting engineering is not only the games themselves, but how their controls and object management are adapted to a constrained embedded device.

What the project puts on the device

In an article published September 30, 2026, Donato Maglie describes two games written in C for an ESP32-S3 digital multi-tool: a native Tetris clone and a vertical space shooter with roguelite progression. The shooter is described as having 30 enemy waves, three boss fights, an in-game shop, and upgrades for health, damage, multi-shot, and bullet bounce. Those are features of Maglie’s project, not independently verified performance or benchmark results. Read Maglie’s project article.

As an Amazon Associate I earn from qualifying purchases.

The hardware is described at the platform level as an ESP32-S3 device with an LCD and two physical buttons. The available article details do not establish the exact board model used, so the project should not be identified as running on a particular ESP32-S3 product.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How Tetris works with two buttons

Instead of relying on the directional pad and multiple action buttons typical of a game console, Maglie assigns actions to clicks, double-clicks, and holds. The mapping makes the limited controls do more, though it requires players to learn gestures and timing.

#1 Best Overall
Sale
Retro Game Console, Retro Gaming Console with Built-in 9 Emulators, 25200+Games, 4K HDMI Output, Dual 2.4GHz Wireless Controller, Plug and Play Video Game Console (Deep Black)
  • Retro Game Console: Enjoy a vast collection of games with no need to download or install anything, as long as connected to the TV or monitor can play directly ,his wireless TV game console built in 25200+ rich games.
  • 4K High Definition Output: Supporting HD output, this nostalgic stick video game provides 4K ultra-clear picture quality, high-speed screen operation, and original quality control to capture details. The clearer and more realistic game screen ensures a comfortable gaming experience.
  • Built-in 25200+ Retro Games: Boasting an extensive library of over 25200 retro games, this wireless TV game console comes pre-installed with 9 emulators for various game formats, Play games without repetition every day and relive your childhood memories while enjoying family entertainment time!
  • 2.4G Wireless Controllers: This Retro Game Console has upgraded the Game with a 2.4G wireless handle, offering complete functions, more advanced and comfortable texture. Enjoy games with friends or family members without being tethered by wires.
  • Game Console: The nostalgic Retro Game Console, not only restores your childhood games and releases stress but also allows you to enjoy wonderful game moments with friends and family. It can serve as the best gift for children, fostering communication and shared experiences while allowing them to understand their parents'upbringin.
Control Reported Tetris action
Side-button click Rotate the piece
Side-button rapid double-click Pause
Front-button hold Soft-drop
Front-button quick double-click Hard-drop

These mappings illustrate a practical trade-off: gestures expand the number of available actions without adding hardware, but actions are less immediately visible than dedicated buttons. A quick double-click and a hold also need to feel distinct in play, or a player may trigger an unintended move.

Why button debouncing matters

A physical button does not always produce one clean electrical transition when pressed. Contact bounce can register as several rapid changes, which software may mistake for repeated clicks. Maglie says the project uses a 30-millisecond stable-state check to reduce accidental inputs. That delay is the author’s implementation detail, not a universal setting for every switch; the right value depends on the hardware and how responsive the controls need to feel.

Rank #2
Sale
Retro Gaming Console with 64GB High-end 3D Game Classic Games, 25 Emulators, Dual 2.4GHz Wireless Controllers, 4K HD Output, Save & Load Function, Plug & Play
  • Massive Game Library with 128GB Storage - Enjoy thousands of classic retro games, including 3D titles, pre-installed on a 64GB memory card. No downloads or internet needed—just plug in and play instantly.
  • 25 Emulators in One System - Compatible with 25 popular emulators that cover a wide range of vintage gaming systems. Explore titles from arcade classics to handheld hits, all in one sleek device.
  • Smooth 4K HD Output via HDMI - Plug directly into your TV or monitor using the included HDMI cable. Experience enhanced visuals with crisp 1080P resolution for a modern take on retro fun.
  • Dual 2.4GHz Wireless Controllers - Includes two ergonomic 2.4GHz wireless controllers with responsive buttons and stable connectivity. Enjoy smooth multiplayer sessions from up to 10 meters away.
  • Save & Load Anytime - Pick up right where you left off using the save/load feature. Ideal for longer play sessions and preserving your progress in challenging games.

Gesture controls add another layer: the game must distinguish a single click from a double-click or hold. Debouncing helps establish a reliable button state before the game interprets the gesture, while gesture timing determines which action follows.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Managing bullets and enemies on a microcontroller

Maglie identifies repeated dynamic allocation and freeing of bullets and enemies as a risk. If a game continually creates and destroys many small objects, the heap can become fragmented, making future allocations less predictable on a device with limited memory.

Rank #3
Retro Handheld Game Console Linux System 64G TFCard Preloaded 4353 Games 3.5'' IPS Screen RG35XXPro Portable Game Console Support WiFi Bluetooth HDMI Green
  • 【 Retro handheld game console 】CPU:H700 quad-core ARM Cortex-A53, 1.5GHz frequency. GPU:dual- core G31 MP2.RAM:1GB. System:Linux 64-bit .The retro gaming console can run large-scale retro simulation games smoothly. Moreover,it significantly improves game installation,loading, and system responsiveness,significantly reduced game loading times,support multitasking,ensures smooth and lag-free gaming.
  • 【Compatible with Numerous Simulators】The retro gaming console handheld features a built-in game frontend.It supports third-party software like RixelHK (a game downloader) and enjoy the fast download experience of massive game resources. The handheld game console features an intuitive user interface that is easy to pick up with no operational barriers, along with a vast library of retro and modern games as well as powerful emulation capabilities, ensuring a smooth and uninterrupted gaming experience.
  • 【3.5-inch IPS Screen】The retro game handheld console is equipped with 3.5-inch IPS full viewing angle, OCA full lamination, multi-touch, 640*480 resolution.Ultra-high-definition realistic game graphics enhance your gaming experience.This is a cost-effective game handheld that brings you an extraordinary gaming experience.
  • 【5G WIFI & 4.2 Bluetooth & HDMI TV Output】The retro gaming console 2.4/5G WIFI 802.11a/b/g/n/ac, Bluetooth 4.2,2.4G wireless controller and wired controller connection, Bluetooth controller connection, HD connection to TV, vibration motor, online multiplayer via WiFi, and streaming expanding your entertainment options beyond gaming.Not only can you enjoy a good game time alone, but you can also call your friends and have fun together.
  • 【3200mAh High Capacity Battery】The Retro gaming console handheld built-in 3200mAh high capacity lithium battery for ultra-long standby time and battery life.Support up to 7 hours game playing.Support fast charging with USB Type-C cable.Brings lots of joy and happiness to you during a trip or a long journey.

The article says object pooling helped keep resource use stable: rather than repeatedly requesting and releasing memory for every transient object, a game can reuse a managed set of objects. Pooling can make allocation behavior more predictable, but it requires code to track which objects are active and available. Maglie also connects this approach to managing packet-sniffer queues, where predictable handling of many short-lived items can matter. These are the author’s design rationale and reported outcome, not independently measured results.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Why use games as an embedded-systems test?

Maglie frames the games as a stress test for RTOS task management and UI rendering. A game combines frequent input handling, screen updates, and changing collections of objects, which gives the author a way to exercise several parts of an embedded application together. The article does not provide independent timing measurements or a hardware test report, so its stress-test framing should be understood as the author’s rationale rather than a quantified performance claim.

Rank #4
ESP32-S3 Development Board Onboard 1.28inch Round Touch LCD Display
  • Capacitive Touch Display: Onboard 1.28inch capacitive touch display with 240×240 resolution and 65K color, featuring QMI8658 6-axis IMU with 3-axis accelerometer and 3-axis gyroscope for detecting motion gestures
  • Memory and Storage: Built in 512KB of SRAM and 384KB ROM, with onboard 2MB PSRAM and an external 16MB Flash memory, featuring Type-C connector for easy connectivity and updates
  • Dual-Core Processor: Equipped with 32-bit LX7 dual-core processor operating up to 240MHz main frequency, supports 2.4GHz Wi-Fi (802.11 b/g/n) and Bluetooth 5 (LE) with onboard antenna
  • Battery and Connectivity: Onboard 3.7V lithium battery recharge and discharge header with 6 GPIO pins via SH1.0 connector for flexible project integration
  • Low Power Consumption: Supports flexible clock and module power supply independent setting with various controls to realize low power consumption in different scenarios, integrated with USB serial port full-speed controller and GPIO pins for flexible pin function configuration

The project’s broader lesson is that small games can expose practical design questions for embedded software: whether controls remain understandable with few inputs, whether button events are interpreted reliably, and whether memory use stays manageable as objects appear and disappear.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Best Value
Waveshare ESP32-S3 Wi-Fi Development Board with ESP32-S3-WROOM-1 Series Module, 240MHz Dual Core Processor, 512KB SRAM, 8MB PSRAM, 16MB Flash, Type-C Connector
  • ESP32-S3-DEV-KIT-N16R8 development board adopts ESP32-S3-WROOM-1 series module with 32-bit LX7 dual-core processor, capable of running at 240 MH. Integrated 512KB SRAM, 384KB ROM, 8MB PSRAM, 16MB FLASH memory
  • ESP32-S3 Microcontroller 2.4GHz Wi-Fi Development Board integrated 2.4GHz Wi-Fi and Bluetooth LE dual-mode wireless communication
  • Type-C connector, easier to use. Onboard CH343 and CH334 chips can meet the needs of USB and UART development via a Type-C interface
  • Rich peripheral interfaces, compatible with the pinout of ESP32-S3-DevKitC-1 development board, offers strong compatibility and expandability
  • Supports ESP-IDF, Arduino, MicroPython, can easily and quickly get started and apply it to the product

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

C programmingembedded systemsESP32-S3retro gamesTetris

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Recommended PC Tool
Recommended PC Tool
Outdated Drivers Are Slowing You DownFree scan - exact matches
PC Slower Than It Used to Be?Free scan - under a minute

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.