Introduction: Joystick Controller for Cerebral Palsy
This is a controller that was made to be accessible by people with cerebral palsy. Almost all video game controllers have small buttons and joysticks, requiring fine motor skills to function. This technology isn't very friendly for people who have cerebral palsy, not just because of its smaller components, but also because most adaptive controllers are expensive. As a result, I created this controller to have 6 easily accessible outputs and to be created by cheaper, more widespread materials. I hope that with this controller, people with cerebral palsy will be able to play and enjoy all video games, no matter the complexity of the game itself.
The controller has 6 outputs: up, down, left and right arrow keys; along with the space and W keys. The arrow key outputs are via the joystick, while the space and W keys are activated through the two button/pedals.
Supplies
Physical Materials:
- Foam core
- Copper Tape
- Makey Makey Starter Set
- Aligator clips
- Hot Glue Gun (with hot glue sticks)
- Painters Tape
- Scissors
- X-Acto knife
- Permanent Marker
- Steel Ruler
3D printing:
Resources for testing the controller:
Link for remapping the Makey Makey:
Step 1: Gather the Supplies
- See supplies list above and get what you need to create this controller.
Step 2: Cutting Foam Core Pieces
Joystick base:
- Draw a plus-shaped outline on the foam core using a steel ruler, ensuring equal sides and distances from the center (refer to the picture with red, green, and blue lines).
- Use an X-Acto knife and the steel ruler to cut along the outlined lines, creating a plus-shaped foam core piece.
- In the center of the plus-shape, draw a circle with a 64 mm diameter and cut it out.
- Sketch and cut openings on each "flap" of the plus-shape, following the reference picture with pink dotted lines.
Pedals/Buttons:
- Trace and cut out two relatively medium sized squares/rectangles out of foam core.
- Next, trace and cut out two more squares/rectangles that a slightly smaller in either length or width than the previous two squares/rectangles.
- Along with these four squares/rectangles, cut out two small, thin, foam core rectangle pieces with the same width as the smaller squares/rectangles from the previous step. these will serve as the button's "spring" piece.
Step 3: Assembling the Base
- Fold each "flap" of the plus shape inwards towards the center, making them perpendicular. If folding is difficult, make a small slit along the crease for a cleaner fold (making sure not to cut all the way through).
- Use hot glue to attach the side edges of the "flaps," forming a 3D box without a bottom panel.
- After assembly, the box should stand upright with the circle cutout on top. Refer to the pictures in this section for guidance.
Step 4: Remapping the Makey Makey
Following the steps in this link (also in the supplies list), remap the Makey Makey to suit your needs. For my version of this project, I only changed the click portion of the Makey Makey to activate the W key. Remapping the Makey Makey changes the output values of the Makey Makey's inputs. It is incredibly useful to easily alter what each button and joystick output means, since different games require different key binds.
Step 5: Wiring and Electronics
- Tape the bottom side of the joystick lid (3D printed piece) and the middle of the four sides on the joystick base with conductive tape. See pictures 1-3 in this section for reference. These pieces of coper/aluminum tape create a conductive surface that can lead to the completion of the circuit.
- Tape one side of each button/pedal components with conductive tape. Make sure that the buttons have tape on the inner sides that can be pressed to touch the two sides together.
- Using some more copper tape, create 7 little tabs by folding a rectangular piece of tape onto itself, leaving a little bit of the sticky side exposed.
- Attach one of these tabs to each piece of the tape that is on the controller pieces (from the previous step).
- With the alligator clips, connect the Makey Makey outputs to each of the tabs from the previous step. make sure to connect the proper output to it's corresponding component on the physical controller.
Step 6: Assembling the Buttons/pedals
The four square/rectangle and the two thin rectangle foam core cut outs from the previous step
- With hot glue, attach one thin rectangle piece to the one of the smaller square/rectangle pieces. Repeat this for both of the smaller square/rectangle pieces. make sure to glue the thin rectangle on the same side as the conductive tape on the smaller pieces.
- Still using hot glue, attach the other side of the thin rectangle pieces to the larger rectangle.
Following these steps results in two pedals that have a shape similar to a sandwich (the square/rectangle pieces outside and the thin rectangle piece inside).
Step 7: Labelling
- Using painters tape, label the sides of the joystick and buttons/pedals with their corresponding outputs so its easier to identify what button/joystick-side/pedal matches with a specific output.
- Label the alligator clips with painters tape in the same way, making it easier to identify each wire and adjust the wiring later on if needed.
Step 8: Final Assembly
With all the wiring and pieces complete, we can now assemble this controller.
- Place the 3D printed lid onto the joystick base, with the sphere shape resting in the circular cutout on the top.
- Place both buttons/pedals on either side of the base, the sides in particular can change based on personal preference.
- Using the little window cutouts made in all the sides of the base, guide the alligator clips through them, organizing the wiring layout and making it easier to identify which alligator clip goes where.
Step 9: Testing
Using the controller testing program (linked here and in the supplies list), test to see if your controller runs smoothly.
- Open the link.
- Plug in the Makey Makey (using the red USB cord provided in the kit) to your computer.
- Following the instructions in the testing program, start running the controller testing program.
- Use the controller and the testing program to test out each component working capability.