Skip to content

Got it — you want your Final Project page restructured to match your friend’s layout (section order, formatting, and hierarchy), but without copying their content — only mirroring the structure, polish, and flow. I’ll rebuild your current content into that style, making it cohesive, professional, and visually balanced while keeping placeholders for anything you still need to fill in.

Here’s the reorganized and formatted version in MkDocs style, ready to drop into your site:


Final Project

(Andrew Puky – Fab Academy 2025)


Overview

Project Summary

For my final project, I designed and built a custom USB HID button box to enhance immersion in driving and simulation games. The box serves as an additional control interface, designed with aesthetics, ergonomics, and function in mind. My aim was to make it feel like a professional-grade product rather than a DIY prototype.

It uses a Seeed XIAO RP2040 microcontroller and integrates rotary encoders, toggle switches, and illuminated push buttons, all mounted in a sleek 3D-printed enclosure inspired by professional simulator hardware.


Concept & Design

Inspiration

My design was inspired by the ATS Accessories Patriot XL Box. I wanted to capture the same functional elegance but create a minimalist, affordable, and DIY-friendly version using accessible materials and open-source electronics.

Concept renders of my button box design

This is what it would look like integrated into my simulator setup:


Audience & Purpose

This project is aimed at simulator enthusiasts, DIY makers, and gamers who want a more immersive, tactile experience.

I hope the open-source nature and reduced cost of this project encourage more people to build their own simulator accessories instead of buying expensive proprietary gear. It can also serve educational or training purposes, such as for driving simulations or flight training rigs.


Design Development

CAD & Enclosure Design

I focused heavily on the appearance and user feel. Most DIY button boxes have harsh corners and overly utilitarian layouts. Mine features smooth fillets, a slanted top, and dark tones that match my simulator setup.

I designed custom PCB mounts inside the enclosure and included openings for USB-C ports and faceplate mounting.


Electronics Design

Both the large and small boxes were designed in KiCad.

  • Microcontroller: Seeed XIAO RP2040
  • Input Expansion: HEF4051BP and CD74HC4067 multiplexers
  • Voltage: 3.3V logic (for both buttons and LED indicators)

This setup maximized my button count while keeping direct connections for rotary encoders and pushbutton inputs.

Large Board

Small Board


Fabrication Process

PCB Milling

The boards were milled using the Bantam Tools desktop mill. Even under time pressure, the process was efficient and accurate.

Soldering & Assembly

I used 1206 SMD components, hand-soldered at home using a fine-tipped iron and magnification lamp. Lacking a multimeter, I creatively used another microcontroller and LED setup to test polarity and connectivity.

I connected components with female jumper headers, spade connectors, and later, direct solder joints for better reliability.


System Integration & Wiring

I used pin headers for all PCB connections, allowing flexibility in wiring and replacement. After testing, all button and LED lines were soldered and heat-shrunk for durability.

Wire management was challenging due to varied lengths, but the internal layout ended up clean and easy to trace.


Testing & Evaluation

Both boxes were detected as separate gamepad devices under Windows using the built-in HID Joystick library. All inputs were functional and responsive.

Testing in American Truck Simulator confirmed that each switch, button, and encoder mapped correctly and behaved as expected.


Future Improvements

I’d like to eventually:

  • Introduce modular, magnetic button modules for reconfigurable layouts.
  • Use machined aluminum or wood instead of 3D-printed plastic.
  • Refine the firmware for dynamic lighting and profiles.
  • Possibly turn this into a commercial kit or open-source hardware brand.

A key inspiration for future iterations was a video showcasing a sound system with magnetic knobs that glide perfectly — I want my device to feel that satisfying.


Dissemination & Licensing

This project is released under the Creative Commons Attribution-NonCommercial-ShareAlike (CC BY-NC-SA) license. This allows others to use, remix, and share the design for non-commercial purposes, while giving credit and keeping it open-source.

If I decide to commercialize the project, I may pursue a dual-license model — one open, one commercial.


Materials List

Item Link Item Name Price Notes In Lab?
Seeed Studio – Xiao RP2040 Xiao RP2040 $3.99 Main controller TRUE
Black PLA For 3D printing TRUE
Heat Set Inserts TRUE
Black Acrylic Panel Faceplate TRUE
Digi-Key – CD74HC4067M96 16:1 Multiplexer 2 used FALSE
Digi-Key – CD4051BEE4 8:1 Multiplexer Small box FALSE
Amazon – Metal Toggle Switch Toggle Switch $14.99 FALSE
Amazon – STARELO Push Button Momentary Button $17.49 FALSE
Amazon – Rotary Encoder Rotary Encoder $7.99 2 needed FALSE

Development Timeline

Gantt Chart Link


Files & Resources

Project Files

Software Used

References


Documentation Media

(Placeholder: Replace with final documentation media once presentation is complete.)


Notes / To-Do

  • [ ] Insert link to Box Faceplate files
  • [ ] Add cost breakdown table with totals
  • [ ] Replace placeholder media with final photos and video clips
  • [ ] Verify component quantities and pricing

Last update: October 26, 2025