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

IMG_4277.jpeg
IMG_4319.jpeg

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

  1. 3D printed parts (all files)
  2. Arduino Leonardo
  3. Micro USB cable (Data passing)
  4. Joystick module
  5. 3 push buttons (or your custom button mechanisms)
  6. Jumper wires male–female
  7. Wires
  8. Magnet tape / magnetic strip
  9. Copper tape (conductive adhesive)
  10. Computer with Arduino IDE installed
  11. WAGO 221-415 Lever-Clamp 5-Way Transparent Plastic Terminal Block

Tools

  1. Scissors
  2. Wire cutters / strippers (Just in case, can also be done with scissors)
  3. Tweezers (optional, for placing copper tape)
  4. Ruler
  5. Computer


  1. Hollow Knight

Print the Parts

  1. Print all the 3D files.
  2. While the parts are printing, you can start programming the Arduino.

Prepare the Arduino

  1. Install the Arduino IDE software if you don’t have it.
  2. Connect the Arduino to your computer using a micro USB cable.
  3. Check that the Arduino is properly connected.
  4. Copy and paste the code into the Arduino software.
  5. Upload the code to the Arduino.

Assemble the Buttons (x3)

You will have:

  1. 2 small button mechanisms (cover, female and male rail for small button)
  2. 1 long button mechanism (cover, female and male rail for Large button)

All three are assembled the same way.

3.1 Prepare the Base

IMG_4209.jpeg
IMG_4210.jpeg
IMG_4211.jpeg
  1. Cut a measure strip of magnet tape the length of the base of the _button rails
  2. Now cut that length horizontally exactly in half.
  3. Stick one half in the center between the two raised areas on the base (_button rail - female)

3.2 Add Copper Tape

IMG_4208.jpeg
IMG_4207.jpeg
IMG_4212.jpeg
  1. Cut 6 measure strips of copper tape measuring the base of the _button rails.
  2. On each side of the magnet:
  3. Stack 3- 4 strips on top of each other to ensure good contact.

3.3 Insert the Wires

IMG_4213.jpeg
IMG_4214.jpeg


  1. Feed a wires through the channels underneath the rail (_button rail - Female) .
  2. Bend the tips of the wires tightly.
  3. Make sure they press firmly against the copper tape.
  4. This is very important for proper electrical contact.

3.4 Prepare the Button

IMG_4200.jpeg
IMG_4199.jpeg


  1. Cut a measure of magnet tape the length of the button.
  2. Stick it to the back of the button.
  3. Place the button on top of the magnet on the base.(_button rail - Female)
  4. Check that:
  5. The copper touches the button.
  6. The wire touches the copper.
  7. If not, add another layer of copper tape.

3.5 Close the Mechanism

IMG_4205.jpeg
IMG_4206.jpeg
IMG_4201.jpeg
  1. Slightly flex the curved cover piece. (cover for _ button rail)
  2. Feed the two wires through the holes in the cover.
  3. Slide the cover into its track.
  4. Place the top lid (_button rail - male) over it and press firmly.
  5. Repeat this process for the other two buttons.

Assemble the Joystick

4.1 Prepare the Magnets

  1. Cut a measure strip of magnet tape the length of the joystick rail (Female) and stick it to the edge of it.
  2. Cut another measure of magnet tape the length of the joystick wagon and stick it to its bottom.

4.2 Connect the Wires

IMG_4219.jpeg


  1. Connect each joystick pin to a jumper wire.
  2. Write down which color wire connects to which pin.

4.3 Install the Joystick

IMG_4221.jpeg
IMG_4227.jpeg


  1. Place the joystick on top of the slider (joystick wagon).
  2. Make sure:
  3. The short and long sides are aligned correctly.


4.4 Close the Mechanism

IMG_4203.jpeg
IMG_4219.jpeg


  1. Place the slider (Joystick wagon) with the joystick onto the magnet on the base of the Joystick rail (female).
  2. Make sure the pins are pointing toward the holes in the casing.
  3. Pull the wires out through the holes.
  4. Slightly flex the Joystick cover and slide it into place.
  5. Place the top lid (Joystick Rail - male)
  6. Check that everything is secure and making good contact.

Connect Everything to the Arduino

5.1 Ground Connections

  1. You have 4 input devices, so you need 4 ground connections.
  2. The Arduino Leonardo only has 3 ground pins.
  3. 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

IMG_4215.jpeg

Connect the buttons to these digital pins:

  1. Button 1 → Pin 2
  2. Button 2 → Pin 4
  3. 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:

  1. Connect each joystick wire to its corresponding Arduino pin.
  2. GND→ GND
  3. +5V → +5V
  4. VRx → A0 (Analog)
  5. VRy → A1 (Analog)
  6. SW → A3 (Analog)

Close the Case

IMG_7961.jpeg


  1. Place all components inside the casing.
  2. Connect the Arduino to your computer with the USB cable.


Test

controles foto Hknight.png

Run the program.

Open Hollow Knight and check that the keyboard controls are mapped correctly:

  1. Pin 2 → E (on the keyboard)
  2. Pin 4 → J (on the keyboard)
  3. Pin 5 → K (on the keyboard)


All done! Remember to change how you play from time to time to help keep your hands safe! :]