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: TBD.
  • 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?

Yes

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: June 3, 2025