Skip to content

20. Project development

What does it do?

I designed the button box as a custom input device, meant to streamline interactions in gaming, simulations, and even productivity tasks. It provides tactile feedback through well-placed switches, encoders, and buttons, enhancing control beyond the standard keyboard.

Who’s done what beforehand?

Plenty of enthusiasts have built button boxes for flight sims and racing setups. I looked into projects from Instructables, previous Fab Academy projects, and Arduino communities, studying how others approached usability and technical challenges. Then, I refined those ideas to better suit my needs.

What did I design?

I focused on creating a sleek, well-integrated device that balances function and form. My design included:

  • Ergonomic layout to maximize efficiency and comfort.
  • Aesthetic considerations for a modern, polished look.
  • Thoughtful placement of switches and encoders for intuitive use.

What sources did I use?

I pulled information from forums, datasheets, and GitHub repositories to understand best practices. I also consulted with many experts in the lab as they were knowledgeable in their subject of expertise.

What materials and components did I use?

  • Microcontroller: XIAO RP2040.
  • Switches: A mix of toggle switches, push buttons, and rotary encoders.
  • Enclosure: 3d Printed.
  • Wiring: Soldered connections for reliability.
  • Software: Arduino IDE with the Joystick library.

Where did they come from?

I sourced componets from the Lab, Bambu Labs, and Amazon.

How much did they cost?

The total cost of materials was around $270.83

For me, the total cost of this project was $96.54

Item Link Item Name Price Notes In Lab?
Black PLA $19.99 YES
Black Acrylic Panel $30.07 YES
Heat Set Inserts $6.99 YES
M3 Machine Screws $1.50 YES
Female Jumper Wires $6.59 Buy 2 YES
Male Pinheaders $4.13 YES
Solder $7.99 YES
Seeed Studio – Xiao RP2040 Xiao RP2040 $3.99 YES
USB C Cable $8.99 2 needed YES
1206 10k Ohm Resistors $0.56 Buy > 50 YES
Digi-Key – CD4051BEE4 CD4051BEE4 $0.86 1 needed NO
Digi-Key – CD74HC4067M96 CD74HC4067M96 $0.78 2 needed NO
Grayhill 58J8A45-01-1-05N Key Switch $76.90 YES
Amazon – Metal Toggle Switch (B0BMVLKJHL) Toggle Switch $14.99 NO
Amazon – STARELO Push Button Push Button $17.49 NO
Amazon – JTAREA Rotary Encoder Rotary Encoder $7.99 NO
Amazon – Nilight ON/OFF/ON Rocker Switch ON/OFF/ON Rocker Switch $8.09 2 needed NO
mxuteuk Momentary Rocker Switch (B0885W19KL) ON/OFF/ON Rocker Switch $7.99 NO
Amazon – ZJWZJH Rotary Toggle Switch ON/OFF/ON Rotary Toggle Switch $15.99 NO
Amazon – Nilight Latching Push Button Latching Push Button $13.49 NO

What parts and systems did I make?

  • The PCB for efficient input processing.
  • The Code for signal handling.
  • Enclosure design for stability and aesthetic appeal.

What processes did I use?

I went through: - PCB design. - System Integration. - 3D printing the enclosure. - Embedded Networking.

What questions did I answer?

I tackled: - Compatibility with different software ecosystems. - Optimal placement and responsiveness of controls. - Power consumption and microcontroller limitations.

What worked? What didn’t?

  • Worked: Button responsiveness, smooth integration, durable enclosure.
  • Didn’t: Initial wiring complexity, firmware troubleshooting, occasional compatibility issues.

How did I evaluate it?

I tested it extensively, analyzing responsiveness and durability, and gathered feedback for refinements.

What are the implications?

This project contributes to the open-source hardware space, offering a refined approach to custom controllers. It highlights structured design thinking and could expand into gaming.

Dissemination Plan

My project will be released under the Creative Commons Attribution-NonCommercial-ShareAlike (CC BY-NC-SA) license. This license allows others to freely use, modify, and share the project for non-commercial purposes, while preserving credit to the original creator and encouraging community collaboration. I chose this license because it supports open access and learning, while preventing unauthorized commercial use. If I decide to turn the project into a product, I may adopt a dual-license model or develop a separate commercial version that can be sold while maintaining the original educational edition as free and open-source.

Placeholders

These are in the root of my directory.


Last update: November 25, 2025