Authors: DAVID KOS
Menthor: DANIJEL ESKERIČIĆ
School: Technical School for Computing and Network Technologies
Country: CROATIA
e-mail: danijel.eskericic@gmail.com
RetroBox is a portable arcade console based on an Arduino Nano microcontroller, a 128×64 pixel OLED display, an analog joystick, and two physical buttons. The project aimed to implement three functional games—Tetris, Space Invaders, and DOOM-lite (a raycasting FPS)—within the strict memory and processing constraints of an embedded system featuring 2 KB of RAM and 32 KB of Flash memory. The firmware was written in C++ for the Arduino environment, with the code organized into modular header files (doom.h, shooter.h, tetris.h, menu.h, shared.h, input.h). The raycaster utilizes fixed-point arithmetic and precomputed sine/cosine tables stored in program memory (PROGMEM), enabling real-time 3D rendering without the need for floating-point operations. The project demonstrates the application of embedded programming, memory optimization, and low-level computer graphics algorithms.