Morphable -- an Adjustable Video Game Controller
by maggs_cas in Design > 3D Design
285 Views, 1 Favorites, 0 Comments
Morphable -- an Adjustable Video Game Controller
This is an adaptable gaming controller designed to reduce strain and prevent injuries like RSI. Its parts can be repositioned to fit your hands and play style, keeping your hand posture neutral. By letting different fingers and muscles share the workload, it prevents overuse, and if you start feeling discomfort, you can adjust the layout mid-game instead of stopping or pushing through pain. Play longer, safer, and more comfortably, without forcing your body to adapt to the controller.
Supplies
Materials
- 3D printed parts (all files)
- Arduino Leonardo
- Micro USB cable (Data passing)
- Joystick module
- 3 push buttons (or your custom button mechanisms)
- Jumper wires male–female
- Wires
- Magnet tape / magnetic strip
- Copper tape (conductive adhesive)
- Computer with Arduino IDE installed
- WAGO 221-415 Lever-Clamp 5-Way Transparent Plastic Terminal Block
Tools
- Scissors
- Wire cutters / strippers (Just in case, can also be done with scissors)
- Tweezers (optional, for placing copper tape)
- Ruler
- Computer
- Hollow Knight
Print the Parts
- Print all the 3D files.
- While the parts are printing, you can start programming the Arduino.
Downloads
Prepare the Arduino
- Install the Arduino IDE software if you don’t have it.
- Connect the Arduino to your computer using a micro USB cable.
- Check that the Arduino is properly connected.
- Copy and paste the code into the Arduino software.
- Upload the code to the Arduino.
Downloads
Assemble the Buttons (x3)
You will have:
- 2 small button mechanisms (cover, female and male rail for small button)
- 1 long button mechanism (cover, female and male rail for Large button)
All three are assembled the same way.
3.1 Prepare the Base
- Cut a measure strip of magnet tape the length of the base of the _button rails
- Now cut that length horizontally exactly in half.
- Stick one half in the center between the two raised areas on the base (_button rail - female)
3.2 Add Copper Tape
- Cut 6 measure strips of copper tape measuring the base of the _button rails.
- On each side of the magnet:
- Stack 3- 4 strips on top of each other to ensure good contact.
3.3 Insert the Wires
- Feed a wires through the channels underneath the rail (_button rail - Female) .
- Bend the tips of the wires tightly.
- Make sure they press firmly against the copper tape.
- This is very important for proper electrical contact.
3.4 Prepare the Button
- Cut a measure of magnet tape the length of the button.
- Stick it to the back of the button.
- Place the button on top of the magnet on the base.(_button rail - Female)
- Check that:
- The copper touches the button.
- The wire touches the copper.
- If not, add another layer of copper tape.
3.5 Close the Mechanism
- Slightly flex the curved cover piece. (cover for _ button rail)
- Feed the two wires through the holes in the cover.
- Slide the cover into its track.
- Place the top lid (_button rail - male) over it and press firmly.
- Repeat this process for the other two buttons.
Assemble the Joystick
4.1 Prepare the Magnets
- Cut a measure strip of magnet tape the length of the joystick rail (Female) and stick it to the edge of it.
- Cut another measure of magnet tape the length of the joystick wagon and stick it to its bottom.
4.2 Connect the Wires
- Connect each joystick pin to a jumper wire.
- Write down which color wire connects to which pin.
4.3 Install the Joystick
- Place the joystick on top of the slider (joystick wagon).
- Make sure:
- The short and long sides are aligned correctly.
4.4 Close the Mechanism
- Place the slider (Joystick wagon) with the joystick onto the magnet on the base of the Joystick rail (female).
- Make sure the pins are pointing toward the holes in the casing.
- Pull the wires out through the holes.
- Slightly flex the Joystick cover and slide it into place.
- Place the top lid (Joystick Rail - male)
- Check that everything is secure and making good contact.
Connect Everything to the Arduino
5.1 Ground Connections
- You have 4 input devices, so you need 4 ground connections.
- The Arduino Leonardo only has 3 ground pins.
- Use a ground expansion strip (WAGO 221-415 Lever-Clamp 5-Way Transparent Plastic Terminal Block) and connect it to the ground on the Arduino.
5.2 Connect the Buttons
Connect the buttons to these digital pins:
- Button 1 → Pin 2
- Button 2 → Pin 4
- Button 3 → Pin 5
Tip: Write down which button goes to which pin for easier remapping later.
5.3 Connect the Joystick
Using your color notes:
- Connect each joystick wire to its corresponding Arduino pin.
- GND→ GND
- +5V → +5V
- VRx → A0 (Analog)
- VRy → A1 (Analog)
- SW → A3 (Analog)
Close the Case
- Place all components inside the casing.
- Connect the Arduino to your computer with the USB cable.
Test
Run the program.
Open Hollow Knight and check that the keyboard controls are mapped correctly:
- Pin 2 → E (on the keyboard)
- Pin 4 → J (on the keyboard)
- Pin 5 → K (on the keyboard)
All done! Remember to change how you play from time to time to help keep your hands safe! :]