Winning a dance battle typically ends with a trophy—but I envisioned something different: a fully playable arcade console inspired by the aesthetics of the 1990s.
That’s exactly what inspired this unique project!
This concept became the foundation of a project where I reimagined a conventional award as a functioning retro game system.
The process demanded precision and persistence—navigating measurement errors, overcoming intricate programming issues, and fabricating components that weren’t readily available.

Yet, the result was worth every setback.
Ready to dive into this exciting DIY adventure?
Let’s explore how storytelling and constraints can lead to amazing creative engineering!

Components Needed for the Arduino Nano Arcade Console
Creating a custom arcade console—requires careful planning before moving into creative engineering and code development.
As with any interactive installation, gathering the right components is a foundational step.
Below is a concise breakdown of the materials I used:

Arduino Nano Microcontroller
The Arduino Nano serves as the core of the build.
Its compact form factor makes it ideal for limited-space applications like this trophy-based console.
It manages the inputs from the joystick and buttons, drives the LCD output, and executes the game logic efficiently.
- Small and lightweight, making it ideal for embedded setups
- Offers a sufficient number of digital and analog I/O pins for interface control
- Compatible with widely supported Arduino IDE libraries, streamlining development

Mini Arcade Buttons
To preserve the classic arcade experience, I relied on mini arcade buttons that provide reliable tactile feedback while fitting within a limited enclosure.
- Chosen for their ease of wiring and hardware integration
- Selected to complement the overall retro arcade console aesthetic
- Sized precisely to match the custom enclosure’s design parameters

2-Axis Joystick Module
Achieving an authentic feel within tight spatial constraints was a design challenge.
A standard joystick was too bulky, so I integrated a compact 2-axis joystick module as a practical, responsive solution.
- Delivers smooth control ideal for classic-style gaming
- Required subtle modifications to enhance the tactile arcade feel
- Fully compatible with the Arduino Nano’s analog inputs for straightforward programming

16×2 Character LCD with I2C Converter
This compact LCD module functions as the console’s primary visual output, displaying score, game status, and customized trophy text.
The I2C interface also streamlined the wiring process.
- Efficiently conveys key gameplay data and personalized messages
- The I2C converter reduced pin usage and simplified wiring
- Helped optimize memory usage, a necessity in embedded DIY builds

Custom Enclosure for Trophy Integration
To protect and unify the electronics, I designed a custom enclosure that fits seamlessly into the trophy base.
This stage demanded precise measurement and aesthetic consideration.
Also, the enclosure is an important part of the creative / visual aesthetic.
- Tailored through 3D modeling to fit every component with minimal margin
- Designed for clean layout of buttons, joystick, and LCD
- Finished with visual details to enhance the retro appeal and align with the narrative focus of the project
Every component was selected not only for function, but also for its contribution to the broader storytelling approach of the trophy.
As with all creative engineering, success lies in working within constraints—transforming limitations into intentional design.

Story-Motivated Design: Constraints and Conceptualization
Transforming a standard trophy into a playable arcade console required more than technical skill—it demanded a concept rooted in storytelling.
I approached this as a story-motivated build, where narrative drives form, function, and the entire creative engineering process.

The Creative Brief: From Dance Trophy to Retro Console
When the organizers of Plan of Decades, a dance battle event in Greece, reached out, their request was clear:
create a trophy that wasn’t just symbolic but interactive—one that reflected the energy of the event and celebrated retro gaming culture.
The vision was ambitious:
- A fully functional arcade console embedded into the trophy
- Compact and affordable enough for production within limited means
- Evocative of 90s aesthetics—nostalgic, tactile, and instantly recognizable
Designing Within Constraints
Tight parameters often unlock new creative directions.
In this case, a series of specific constraints guided the design:
- 6-Day Turnaround: With less than a week to deliver, every phase—from prototyping to final assembly—had to be executed efficiently
- Retro Aesthetic: The look and feel needed to reference classic arcade hardware through bold visuals, simple controls, and minimal pixel-based interfaces
- Fully Interactive: The trophy wasn’t just decorative, it had to be a playable gaming device
- Compact and Printable: All components were designed to fit within a small 3D printed enclosure, demanding precision in modeling and tolerances
- Budget-Conscious Materials: Working with cost-effective parts meant creatively modifying components to retain the arcade-style experience

Personalization: Highlighting the Winner
Adding a personal layer enhanced the emotional resonance of the build.
Using the 16×2 LCD display, each unit displayed not only game data but also the winner’s name and event details.
This subtle personalization elevated the piece beyond a functional object—it became a meaningful memento.
By aligning storytelling with clear technical constraints, this project pushed me to think beyond aesthetics and utility.
It’s a testament to how creative engineering can yield results that are both technically sound and emotionally impactful.
Working within limits isn’t a barrier—it’s the framework that shapes truly memorable engineering and creative projects.

Assembly Challenges and Solutions
Assembling a functional arduino arcade console within the dimensions of a dance trophy presented a unique set of challenges—especially under a tight deadline and with strict design constraints.
Here’s a closer look at the practical hurdles I encountered, and how creative engineering helped resolve them.

Measurement Errors and Early Setbacks
In precision-based creative builds, even minor miscalculations can derail progress.
My first major issue came from relying on online dimensions when designing enclosure parts.
I switched to a more rigorous process:
Manually measuring each physical component and updating my CAD files accordingly.
After redesigning the enclosure based on accurate data, the second print fit seamlessly, enabling clean wiring and proper hardware integration.
Compact Joystick Integration
Fitting a responsive, arcade-style joystick into the limited space of a trophy base was another core challenge.
- Constraint: Traditional arcade joysticks were too large and costly.
- Goal: Preserve the tactile authenticity of arcade controls in a compact format.

I repurposed a small 2-axis joystick module, commonly used in microcontroller projects, and gave it a physical upgrade.
- I designed and 3D-printed a longer, more ergonomic joystick shaft
- Added a custom arcade-style cap for improved grip and feedback
- Tuned the analog input sensitivity in code for smoother directional control
Maintaining Arcade Authenticity on a Budget
Replicating the feel of a retro arcade machine without exceeding budget or space constraints required continual adaptation:
- Mini arcade buttons were selected for their responsiveness and compatibility with small-scale designs
- Custom 3D-printed parts allowed precise alignment and integration, creating a clean, cohesive look
- Affordable LCD modules with I2C interfaces minimized wiring complexity while offering essential display functionality
Each challenge—whether technical or material—reinforced the value of thoughtful design, precise execution, and adaptive problem-solving.
Constraints didn’t limit the project;
They defined its character.
By grounding the build in storytelling and intentional constraint, I was able to craft a compact, playable arcade console that reflects the essence of electronics at their most expressive.

Arduino Programming & Debugging
Programming the microcontroller for this arduino nano arcade console marked the intersection of creativity and precise execution.
Working within the limitations of a compact microcontroller meant every line of code needed to serve a purpose.
Preparing the Arduino IDE Environment
Before diving into development, I configured the Arduino Integrated Development Environment with the essential tools:
- Installed the official Arduino IDE from Arduino.cc
- Added required libraries for I2C-based display integration
For input devices I used native Arduino functions, avoiding extra libraries to conserve memory and maintain control over input behavior.
Integrating a Modified Dinosaur Mini-Game into the Arcade Console
To deliver a nostalgic experience, I integrated a modified version of the classic Chrome dinosaur game reimagined to fit the limitations of the 16×2 LCD.
Source: Adapted from open-source code by Mohammed Magdy.

Code Optimization for Memory-Limited Hardware
The most challenging aspect of programming was optimizing for both display constraints and limited RAM:
Code Optimization Techniques:
- Stored static text in PROGMEM to preserve dynamic memory
- Streamlined loops and conditional branches for efficient execution
- Replaced larger variable types with
byte
orbool
to reduce memory usage
Managing Display and Game Modes
To extend the trophy’s interactive potential, I built in two core modes:
- Display Mode: On startup, the LCD presents the event title (Plan of Decades) and the winner’s name (a personal, story-driven detail reinforcing the narrative core of the project).
- Game Mode: Triggered via input, this mode launches the mini-game, offering an authentic arcade experience within a trophy form factor.
Transition logic was structured using minimal state variables and simple conditional checks to ensure seamless switching without memory conflicts.

Key Insights for Memory-Efficient Arduino Projects
Working within a memory-limited microcontroller requires discipline:
- Keep Your Code Lean: Remove unnecessary variables and consolidate repetitive code into functions.
- Use Appropriate Variable Types: Small variables (byte, bool) instead of larger types (int, float) can substantially reduce memory usage.
- Limit External Libraries: Only include essential Arduino IDE libraries to minimize memory overhead.
- Debug Incrementally: Regularly use Arduino’s Serial Monitor for debugging step-by-step rather than troubleshooting large blocks of code all at once.

Insights from Minimalist Game Design
One of the most rewarding aspects of creating this Arduino Nano arcade console was exploring the nuances of minimalist game design.
Working within significant hardware limitations required me to focus on what truly makes gameplay engaging.
It became clear that when visual resources are minimal, strong mechanics, responsive controls, and thoughtful pacing define the experience.
These constraints offered a perfect framework for applying intentional, narrative-driven creative engineering.
Read my guides on microcontrollers in art and electronics to explore more concepts!
Prioritizing Input Mechanics Over Graphics
On a 16×2 character LCD, traditional graphics are simply not an option.
But that limitation redirected focus to something more essential:
How the game feels.
- Timing as Core Gameplay: The mini-game—modeled after Chrome’s offline dinosaur runner—centered on jump timing. Despite minimal visuals, precise input timing created tension, satisfaction, and replayability.
- Responsive Controls: By customizing a 2-axis joystick and integrating mini arcade buttons, I ensured inputs were immediate and accurate. This responsiveness compensated for the display’s simplicity, delivering an authentic arcade console experience.
- Streamlined Interaction: With intuitive controls and a focused mechanic, players could engage instantly, without explanation or learning curves—something that defines great minimalist game design.
Leveraging Simple Physics for Depth
To make gameplay compelling, I relied on basic physics principles that were both manageable in code and impactful in experience.
- Dynamic Obstacles: Obstacle generation on a scrolling display introduced just enough unpredictability to maintain interest.
- Jump & Collision Logic: Simple gravity simulations and collision detection routines formed the basis of challenge and progression.
- Progressive Difficulty: Terrain speed and obstacle frequency increased over time, adding a layer of tension and motivating repeated playthroughs.
These mechanics highlighted how simplicity—when implemented thoughtfully—can result in meaningful complexity.

Why Minimalist Games Like Tetris Remain Timelessly Entertaining
Iconic games like Tetris and Pac-Man endure because they are universally accessible, emotionally rewarding, and elegantly designed.
I aimed to embody those same qualities in this project.
- Immediate Feedback: Success and failure were instantly communicated through the LCD—jumping at the right moment or colliding with an obstacle created tight feedback loops.
- Simple Concept, Challenging Execution: One core mechanic—jump to avoid—was easy to understand but hard to master.
- Engaged Imagination: The low-res display didn’t limit storytelling—it invited it. Players naturally filled in the visual and narrative gaps, enhancing their emotional connection to the game.

Applying Minimalist Design Principles to This Project
Minimalism wasn’t just a design aesthetic—it was a functional necessity.
But rather than seeing that as a barrier, I embraced it as a framework for focused design.
- Pixel-Level Graphics: I designed characters and obstacles with creative arrangements of LCD characters, maximizing every pixel for visual clarity.
- Single-Mechanic Focus: Prioritizing the jump mechanic enabled a clean, fast, and satisfying gameplay loop.
- User Experience First: With smooth controls and clear game-state feedback, players remained immersed—even with limited display real estate.
Through this build, I was reminded that design doesn’t rely on complex graphics or expansive resources.
It relies on clarity, intention, and interactivity.
By applying minimalist design principles, I transformed a constrained build into a functional and memorable arcade console—one that delivers lasting enjoyment through simplicity, precision, and storytelling.
Conclusion
This project exemplifies how storytelling, creative engineering, and thoughtful design constraints can combine to produce something truly extraordinary.
This trophy isn’t just an award—it’s a personalized arcade experience that blends retro gaming nostalgia with innovative microcontroller interaction, compact electronic assembly, and customized aesthetics.
Ready to explore further? Explore how to use electronics in art, story-motivated builds, and Arduino-based creativity.
Whether it’s enhancing your gaming console with more interactive features, creating entirely new personalized electronics, or experimenting with different microcontroller projects—the possibilities are limitless.