Szymon Kubica's MicroBox Turns the Arduino UNO R4 Into a Battery-Powered Handheld Games Console
Basic gaming on the go can be yours, using off-the-shelf parts and this MIT-licensed project.
Developer Szymon Kubica has turned an Arduino UNO R4 development board into a handheld games console, complete with color display and multiple built-in games: the MicroBox.
"MicroBox is a custom-built game console powered by the Arduino UNO R4, designed to allow for implementing various retro games and switch between them using an intuitive UI [User Interface]," Kubica explains. "Currently, MicroBox features the following games: 2048 — merge the tiles to reach the 2048; Minesweeper — avoid hidden mines using logical reasoning; [Conway's] Game of Life — watch and interact with a cellular automata evolving based on Conway’s rules; Snake — the most iconic retro game; Snake Duel — two snakes compete against each other."
Inside the console's 3D-printed housing is the Arduino UNO R4 microcontroller development board, built by Arduino in partnership with Renesas and launched back in June 2023 as the UNO family's biggest upgrade before it jumped tracks to become a single-board computer with the release of the Arduino UNO Q late last year. The Arduino UNO R4 features the Renesas RA4M1 system-on-chip, giving it a 32-bit Arm Cortex-M4 core running at 48MHz, 32kB of static RAM (SRAM), and 256kB of flash storage — plenty for basic games.
The Arduino board is connected to a DFRobot Input Shield, giving it a two-axis mini joystick with momentary switch and four push-button switches as fire buttons, and a Waveshare 1.69" 240×280 color LCD display connected via SPI. Power comes courtesy of a USB Type-C power bank, which allows for gaming on the go and means the Arduino UNO R4 doesn't have to handle any battery charging or maintenance work itself.
"If you are using [the] Arduino UNO R4 Minima, then its power draw might not be high enough to keep the power bank awake," Kubica notes of the lower-cost Arduino UNO R4 variant, which lacks a radio and on-board LED matrix. "If this happens, you can add a resistor between the GND and 5V pins of the board (simply slot it into the empty holes on the input shield). This will fix the issue."
The project is available on GitHub, with full source code, 3D print files, and an assembly guide published under the permissive MIT license. An emulator is also available, for those who want to try the games out before committing to a build.
Freelance journalist, technical author, hacker, tinkerer, erstwhile sysadmin. For hire: freelance@halfacree.co.uk.