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¶
Files & Resources¶
Project Files¶
- 3D CAD Models
- PCB Design Files (KiCAD)
- [Box Faceplates – Placeholder: Add link later]
Software Used¶
References¶
- HEF4051B Datasheet
- ATS Accessories
- Placeholder: Add any instructor or Fab Lab reference credits here
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