A developer created a custom handheld game console using an ESP8266 microcontroller. The device is housed in the repurposed casing of a discarded interface converter. The hardware setup includes a 2.4-inch TFT SPI display, a joystick shield, and a battery salvaged from an old Samsung mobile phone, managed by a TP4056 charging module.
The software implementation uses the Arduino IDE and the TFT_eSPI library for display management. The console features a state machine to switch between a menu, a 2D space shooter arcade game, and a 3D raycasting engine. The arcade game includes progressive difficulty, boss levels, and high-score storage in the EEPROM.
The 3D engine utilizes a raycasting algorithm with a 32x32 world map, consuming 1 KB of RAM. To optimize performance on the ESP8266, the developer implemented pixel-skipping rendering and a lantern effect that adjusts color brightness based on distance. User input is handled via two buttons and a single analog joystick axis.






