• Models
  • Contests
  • Slicer
  • Login
  • Start Here
    thingiverse-iconprintables-iconcults3d-iconmakerworld-iconmyminifactory-icon

    3D GO

    3D ModelsContestsCollectionsSaved ModelsOn a mobile device?

3D GO

Privacy Policy
gameKey Ergonomic Controller 3D Printer File Image 1
gameKey Ergonomic Controller 3D Printer File Image 2
gameKey Ergonomic Controller 3D Printer File Image 3
gameKey Ergonomic Controller 3D Printer File Image 4
gameKey Ergonomic Controller 3D Printer File Image 5
gameKey Ergonomic Controller 3D Printer File Thumbnail 1
gameKey Ergonomic Controller 3D Printer File Thumbnail 2
gameKey Ergonomic Controller 3D Printer File Thumbnail 3
gameKey Ergonomic Controller 3D Printer File Thumbnail 4
gameKey Ergonomic Controller 3D Printer File Thumbnail 5

gameKey Ergonomic Controller

Andrew B avatarAndrew B

September 14, 2023

printables-icon
DescriptionCommentsTags

Description

Updates:

Sept 06, 2023
  • There was an error in the thumb cluster PCB where the navigation switch was lacking its common/column pin and was tied to ground - resolved on GitHub for the KiCAD and gerber files. If you have an older PCB, you can work around this by cutting the trace from Pin 1 of the JS5208 pads and wiring it directly between that pin and C4. New PCBs have a pad for C(olumn) marked on the bottom silkscreen.

gameKey Controller

This is an attempt at an easy to print and easy to build adjustable ergonomic game controller. It is based around two custom PCBs, hosting a SparkFun Pro Micro as the main controller (hooked to up to 30 buttons), and a daughterboard containing a joystick and navigation switch for additional controls, including analog.

It uses a combination of M2 and M3 heat-set inserts and as narrow a variety of attachment hardware as reasonably possible. The primary goal is simplicity without sacrificing adjustability or quality.

The entire assembly can be mirrored at the part level to create a version intended to be used with your right hand instead of your left - with the exception of the thumb back/body parts. The control PCB will fit in either direction.

This project can be found in a more complete form on GitHub in the following repositories:

2023/02/18: Version 2.0 of the firmware and companion app are released, adding in-hardware shift layers and slightly less crash-prone serial communication.

https://github.com/andrewb435/gameKey-STL
https://github.com/andrewb435/gameKey-PCB
https://github.com/andrewb435/gameKey-Firmware
https://github.com/andrewb435/gameKey-Companion

Printing Notes


The middle and ring finger assemblies are identical. Index is the same, but with a special MainA part to allow the addon to attach. Pinky is a 100% mirror of the Index, with every involved printed part being mirrored.

All printed parts are unique with the exception of:

  • 3x Finger_Main-Mount for Index/Middle/Ring (Pinky has a mirrored version)
  • 2x Finger_MainA and Finger_MainB for the Middle and Ring fingers
  • 4x short button paddles
  • 19x of the long paddles

The palm rest may need support in the center depending on your printers bridging capability. The thumb cluster front and back need supports.
 

Assembly notes

Heatset inserts should also be in the A side of all parts. All shell assembly inserts/bolts are M2, and all adjustment inserts/bolts are M3. All buttons use 10mm snippets of 1.75mm filament as an axel/pivot.

Insert sizes:

  • M3 x D4.2 x L3
  • M2 x D3 x L2.5
Fingers

The switches nestle into the pockets in the A sides of all printed parts and are wired in place. All switches share a common wire that goes to the Column pad on the main control board, with the exception of the side button, which get dedicated lines to their specific row/column pad.

Side button assemblies are bolted to the side of the Index/Pinky A-sides before the main buttons go in, as the bolt is under the button at the bottom of the main clusters.

Thumb Cluster

The cap for the joystick needs to be inserted into the housing before the circuit board with the Alps RKJXV122400R stick, as it needs a bit of finagling around the lower edge insert. The navigation switch is an E-Switch JS5208 5 position.

Palmrest

The palmrest itself has 3 M3 inserts in the bottom, with the M3x35 Socket Head Cap Screws going through the lower plate, mid section, and into the palm. The control board has a single M2 insert and screw to fasten and locate it on the base plate.

Wiring:


Most of the fingers and thumb should be straightforward, common pins to the Column pads (C0...C4), but the last column (C5) gets a collection of common pins from several different buttons. This may be changed in a future revision on the PCB, but for now the easiest way is making a small pigtail splitter by soldering the separate wires heading there to a single wire that gets attached to the board.

Status

As of original posting, the firmware is mostly feature complete, and the configuration application is viable but rough. PCBs can be ordered inexpensively from JLPCB and the main board has the proper files for PCBA to handle the 30 diodes on the bottom.

License:

Creative Commons — Attribution — Noncommercial — Share Alike

Related Models

bakercube preview image

bakercube

iomaa profile image

iomaa

44,420

Book Page Holder V3 preview image

Book Page Holder V3

fifindr profile image

fifindr

3,476

Customizable Spotify Keychain / Tag preview image

Customizable Spotify Keychain / Tag

ewt profile image

ewt

2,973

Bottle Opener and Cap GUN! preview image

Bottle Opener and Cap GUN!

3Deddy profile image

3Deddy

43,968

Funnel Tray preview image

Funnel Tray

fifindr profile image

fifindr

3,513

Aldi Cart keychain preview image

Aldi Cart keychain

Nexus profile image

Nexus

1,072

Mini Tape Gun - Tape Dispenser preview image

Mini Tape Gun - Tape Dispenser

brycelowe profile image

brycelowe

23,748

Drill Paint Mixer preview image

Drill Paint Mixer

fifindr profile image

fifindr

2,400