Key Takeaways
- The KeyboaStick is a fully 3‑D‑printed analog joystick that mounts directly onto an 8BitDo mechanical keyboard.
- It replaces the traditional WASD key cluster with a single 2‑axis stick offering ±20 mm travel, 10‑bit (1024) resolution per axis, and a 0.5 ms response time.
- The device uses DLC‑coated aluminum linkages for low friction and a micro‑switch for the “click” press, delivering a tactile feel comparable to commercial gamepads.
- Print time averages 3.5 h (0.6 kg of PETG) and the total bill‑of‑materials (BOM) is under US $25.
- Compatibility extends to any keyboard with a standard 6‑pin hot‑swap socket or via a simple solder‑bridge, making it a versatile upgrade for hobbyists and professionals alike.
Introduction: Turning a Keyboard into a Gamepad
The KeyboaStick—a project from the maker collective FunOrNothing—adds a high‑performance analog joystick to a conventional mechanical keyboard. By swapping the classic WASD keycaps for a custom 3‑D‑printed module, users instantly gain precise 2‑axis control without needing a separate gamepad. The result is a hybrid input device that is both “fun” for casual play and “awesome” for serious CNC‑operator training simulations.
Design Overview
Mechanical Architecture
| Component | Material | Dimensions | Key Feature |
|---|---|---|---|
| Joystick housing | PETG (3D‑printed) | 45 mm × 45 mm × 30 mm | Snap‑fit mounting to keyboard PCB |
| Linkage arms | DLC‑coated aluminum (0.2 mm) | 20 mm length | Low‑friction articulation |
| Potentiometers | 10 kΩ linear | 12 mm × 6 mm | 10‑bit resolution per axis |
| Click button | Omron micro‑switch | 6 mm × 6 mm | 0.5 ms debounce |
| PCB (optional) | FR‑4 | 30 mm × 20 mm | USB‑C breakout for firmware updates |
The joystick’s two‑axis motion is generated by dual linear potentiometers mounted on a DLC‑coated aluminum linkage. The DLC (Diamond‑Like Carbon) coating reduces wear, ensuring consistent performance over thousands of cycles—critical for CNC‑operator training where repeatability matters.
Electrical Integration
- Power: Draws ≤ 30 mA from the keyboard’s 5 V rail.
- Interface: Uses the keyboard’s existing USB‑C data line; firmware on the keyboard’s MCU interprets analog values as standard HID joystick reports.
- Firmware: Open‑source code (GPL‑v3) can be flashed via QMK, allowing custom dead‑zone and sensitivity settings.
Build Process
- 3‑D Print the Housing – PETG at 230 °C, 0.2 mm layer height, 30 % infill. Estimated print time: 3.5 h.
- Assemble Linkages – Insert DLC‑coated arms, secure with M2×6 mm set screws.
- Mount Potentiometers – Solder wires to the keyboard’s hot‑swap socket (pinout: X‑axis, Y‑axis, VCC, GND).
- Program Firmware – Compile QMK with
JOYSTICK_ENABLE = yes, flash via USB‑C. - Replace WASD Caps – Snap the custom caps onto the joystick module; the remaining keys retain their original function.
Total BOM cost (as of Oct 2026): US $22 (PETG filament $12, DLC‑coated arms $6, potentiometers $3, micro‑switch $1).
Performance Comparison
| Feature | KeyboaStick (FunOrNothing) | Standard 8BitDo Pro 2 | DIY Arduino Joystick Kit |
|---|---|---|---|
| Axis resolution | 10‑bit (1024) | 8‑bit (256) | 10‑bit |
| Travel range | ±20 mm | ±15 mm | ±18 mm |
| Latency | 0.5 ms | 1.2 ms | 1.0 ms |
| Power draw | ≤ 30 mA | 45 mA | 60 mA |
| Cost (incl. print) | $22 | $79 | $35 |
| Compatibility | Any hot‑swap keyboard | 8BitDo controllers only | Broad (requires Arduino) |
The KeyboaStick outperforms many commercial mini‑joysticks in latency and travel while remaining dramatically cheaper.
Applications in CNC & Manufacturing Training
- Real‑time axis control: Trainees can manipulate X/Y feed rates on CNC simulators with the same precision as a dedicated pendant.
- Ergonomic workflow: Consolidating typing and joystick input on a single device reduces desk clutter and improves posture.
- Rapid prototyping: Because the module is fully printable, manufacturers can iterate on joystick geometry to match specific machine kinematics.
Bottom Line
The KeyboaStick demonstrates how additive manufacturing and open‑source firmware can transform a mundane mechanical keyboard into a high‑performance analog controller. With sub‑millisecond latency, 10‑bit resolution, and a BOM under US $25, it offers a cost‑effective alternative to commercial gamepads for both gaming enthusiasts and CNC training environments. Its straightforward assembly and broad compatibility make it a compelling upgrade for anyone seeking tighter, more intuitive control without adding extra hardware to the workspace.