Introduction: Arduino Leonardo Hat Adaptive Controller

Notice: This project was made for the completion of a class assignment. As such, instructions may be incomplete. I advise you to read through the whole instruction set before attempting build.


The purpose of this project was to build an assistive controller using cheap and accessible materials. In addition to simple coding using JS, CSS and HTML, we used an Arduino to build a makeshift MakeyMakey. If you prefer, you can use a store bought MakeyMakey instead and skip the first step. I choose this hat design to attempt to make a design that restricts as little head motion as possible. Except for that hat and attached wires, this design is entirely housed below the chair, ensuring maximum freedom of motion around the head.


See demo video here

Supplies

1 sheet of posterboard

3 long alligator clips

Several short alligator clips

3 resistors (1 megaohm)

1 assembled Arduino Leonardo circuit or Makey Makey

6 metal L brackets

3 Springs

1 Long USB to Leonardo cable

1 small PVC Pipe (optional)

Cardboard

Hot Glue

Electrical tape

Arduino IDE Software (download here)

Game code (download here)

DIY MakeyMakey Code (copy & paste from here)

Step 1: Circuit

Wire the Arduino Leonardo to a perfboard as shown in the images above:

  1. Attach 4 jumper wires b into ports A0 through A3 on the Arduino.
  2. Attach another jumper cable to the Ground (GND) and another to the 5V port
  3. Solder the ends of each the 4 wires to a resistor on the perf board, and a alligator clip to the other end of the resistor
  4. Solder the ground cable to an alligator clip on the perf board and the V5 cable to each of the 4 wires before the resistor as shown in the circuit diagram.
  5. Tape the perf board to the bottom of the Arduino

You now have a DIY MakeyMakey!

Step 2: Cut Box

  1. Cut the posterboard into the dimensions of 20x7" (four 5x7 box sides), with two additional 5x7 rectangles coming from in opposite directions, one from the top and the other from the bottom. This is just to make a 5x7" box, and if you don't have such a large piece of posterboard you can just form it out of 6 5x7 rectangles.
  2. Score every 5 inches as shown in the image so you can fold into a box more easily.
  3. Cut along all edges of the box as shown so you can glue them together more easily.

Don't hot glue it yet!

Step 3: Add the Brackets

Gather your 4 brackets. Tape pieces of posterboard to the top of each one and cover them in electrical tape to ensure that they're nonconductive. Then, hot glue them to the bottom of the box. This is to make a holder to keep the Arduino in place.

Step 4: Attach Metal Brackets

  1. Hot glue three metal brackets to edges of the inside of the box as shown in the image.
  2. Cut the clips of one end of each of the alligator clips
  3. Thread the clips through the holes in the binders.
  4. Clip the small short alligator clips coming from the Arduino to clip ends of the long alligator clips.


Step 5: Construct Box

Form the box. Hot glue all sides except one flap which should be left open to get inside. Cut three small holes in the top portion of the box on three sides then thread the wires through those holes

Step 6: Attach the Brackets to the Ground and Close Box

  1. Use 2 small alligator clips to connect the two side brackets to the center bracket, and clip the GND alligator clip from the Arduino to one of the side brackets
  2. Either hot glue the final side of the box shut, or just tape it so you can get back in if things don't work.

Step 7: Attach Hat

Poke the paper clips through holes in the hat to use to clip onto the wires.

Step 8: Attach the Springs

  1. Hot glue the bottom of the springs to three sides of the box where the wire holes are
  2. Tape the wires to the top of the springs.

Step 9: Make Cardboard Base

Form a cardboard base by hot-gluing together a T out of cardboard for the legs of the chair to sit on and hot glue the bottom of the box to its top.

Step 10: Run Code

Copy and paste the MakeyMakey code into the Arduino app. Make sure to select Arduino Leonardo on Tools -> Board

Step 11: Optional: Add a PVC

Optionally, I hot glued a PVC pipe to the cardboard base to wrap the wire around when not in use.