Skip to main content
Version: ACS CC

Gumdrop Mini

A Raspberry Pi Pico‑powered handheld that runs a Rust implementation of a platformer game.

info

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

Architecture

Log

Week 5 - 11 May

Started doing the hardware and finished the documentation.

Week 12 - 18 May

Done the hardware, began designing the case.

Week 19 - 25 May

Started and finished the code, including taking button input, drawing on the SPI display and the general game logic. Modeled and 3D printed the case.

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.

Hardware With case

Schematics

KiCad schematic

Bill of Materials

DeviceUsagePrice
Raspberry Pi Pico 2WThe microcontroller39 RON
Modul DC-DC Step Down LM2596SVoltage regulation from 9V battery to 3.3V/5V13 RON
Baterie de 9V Varta SuperlifePower source6 RON
Conector pentru baterie 9VConnects battery to power circuit1.29 RON
Breadboard 175 x 67 mmPrototyping and wiring connections12 RON
Modul cititor card SDExternal storage access6 RON
Set fire M-M 40p, 30 cmJumper wires for circuit connections10 RON
Set fire M-F 40p, 30 cmJumper wires for mixed pin headers10 RON
Set fire F-F 40p, 10 cmShort jumper wires for compact connections5 RON
Buzzer pasiv 3VOutputs sound/music using PWM1 RON
Buton 6x6x6 mmInput controls for the game (e.g., A/B/Start)0.36 RON
2.8" TFT LCD ILI9341 DisplayColor display with touchscreen, SPI interface67 RON
4k7 resistorResistors0.10 RON

Software

LibraryDescriptionUsage
embedded-graphicsA 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
ili9341-driverA Rust driver for ILI9341-based TFT displays over SPI, compatible with embedded-graphics.Used to control and render graphics on the 2.8" TFT LCD
tinybmpA parser for BMP image files with no std dependency, useful for rendering sprites.Loads and draws bitmap assets onto the display