Gumdrop Mini
A Raspberry Pi Pico‑powered handheld that runs a Rust implementation of a platformer game.
Author: Caraian Sonia-Adriana
GitHub Project Link: https://github.com/UPB-PMRust-Students/proiect-soniacaraian
Description
I decided to build a handheld console designed to run a Rust reimplementation of a platformer game I had originally created in a previous project, "Princess Bubblegum Adventure". Inspired by the game's candy-themed world, I named the console Gumdrop Mini.
Motivation
I chose this project because I had taken a lot of creative freedom when designing "Princess Bubblegum Adventure" — from the gameplay mechanics to the visual assets, all of which I created myself. I wanted to see the game run on real hardware rather than just in a development environment. Because it was inspired by retro games, it only felt natural to run it on a handheld console.
Architecture
Log
Week 5 - 11 May
Week 12 - 18 May
Week 19 - 25 May
Hardware
The console is built around the Raspberry Pi Pico 2W, and is powered by a 9V battery regulated through a step-down voltage module. User input is handled via push buttons connected on a breadboard, while game audio is played through a buzzer. An LCD display is used for game output.
Schematics
Bill of Materials
Device | Usage | Price |
---|---|---|
Raspberry Pi Pico 2W | The microcontroller | 39 RON |
Modul DC-DC Step Down LM2596S | Voltage regulation from 9V battery to 3.3V/5V | 13 RON |
Baterie de 9V Varta Superlife | Power source | 6 RON |
Conector pentru baterie 9V | Connects battery to power circuit | 1.29 RON |
Breadboard 175 x 67 mm | Prototyping and wiring connections | 12 RON |
Modul cititor card SD | External storage access | 6 RON |
Set fire M-M 40p, 30 cm | Jumper wires for circuit connections | 10 RON |
Set fire M-F 40p, 30 cm | Jumper wires for mixed pin headers | 10 RON |
Set fire F-F 40p, 10 cm | Short jumper wires for compact connections | 5 RON |
Buzzer pasiv 3V | Outputs sound/music using PWM | 1 RON |
Buton 6x6x6 mm | Input controls for the game (e.g., A/B/Start) | 0.36 RON |
3.5" TFT LCD ILI9486 Display | Large color display with touchscreen, SPI interface | ~43 RON |
Software
Library | Description | Usage |
---|---|---|
embedded-graphics | A 2D graphics library for embedded systems without a framebuffer. Supports drawing text, shapes, and images. | Used to render visuals for the game on the LCD screen |
ili9486-driver | A Rust driver for ILI9486-based TFT displays over SPI, compatible with embedded-graphics. | Used to control and render graphics on the 3.5" TFT LCD |
tinybmp | A parser for BMP image files with no std dependency, useful for rendering sprites. | Loads and draws bitmap assets onto the display |