Flexible Switch
Angled Hand Switch
As soon as I got my first Lego set as a little kid, I realized I loved building things and turning my ideas into something real. My love for creativity and design problem solving has driven me to take design and engineering related classes, which have provided me the inspiration, the space, and the tools to let my imagination run wild.
I have learned a lot and had a lot of fun working through the unique challenges that come with developing assistive tech, and I hope I will have more opportunities to work on this in the future.
Contact Information: name@name.com
Materials
2x Metal Spring Door Stopper
Can be found at any hardware/home improvement store or on Amazon here
Must be a flexible spring, not a solid stopper
5mm (3/16") Foam Board
Can be found at craft stores, department stores, or even Dollar Tree.
Also available on Amazon here
Must have at least a 4" by 6" piece for the base and at least 3 pieces 1.5" by 6" to form the supports
3x Alligator Clips + Wire Strippers
Available at hardware stores or on Amazon here
Spare clips are useful testing or in the case you don't want to solder something
1" Copper Tape
At hardware stores or on Amazon here
Soldering Iron + Solder
Great all in one kit on Amazon here
Also available at hardware stores or hobby stores
It is possible to improvise this add-on without soldering, however it will not be nearly as reliable or durable. Soldering is strongly recommended.
Hot Glue Gun
Nice hot glue gun on Amazon here
You can also find glue guns at craft stores, hobby stores, or hardware stores
Any glue gun will work, but bad ones are frustrating to use
3 Pin JST Connector
Available on Amazon here
Possible to make it without, but that will greatly impact the usability and conveniece of the add-on.
Heat Shrink (Optional)
Useful for managing wires and improving ergonomics and ease of use
If you don't have a heat gun, you can use a lighter to great effect
CAD File(s)
Click here
Code
Click here
Cut Foam Board Pieces
The layout of the foam board base is pretty flexible, and can be augmented to fit the needs of the user. If you want to make the add-on wider or shorter, feel free to differ from my cut plan in some places. However, the placement of the door stoppers at 0.75" above the base plate should remain consistent. After testing different heights, I found this to be the most reliable and tactile configuration.
Cut base plate to be 4"x6"
Make two 1.5"x6" strips to sandwich the door stoppers between
Mark points halfway up both strips (0.75") where you want the center of each door stopper to be. Make sure that the points line up between the strips. I recommend doing this with measurements from the edges to ensure consistency.
Make a cutout that you can run the ground cable through that lines up between both strips.
Cut a 0.75"x6" strip to act as the angled support*
*3d model included for this part if you wish to print it
If you make the part using foamcore like I did, make sure you have a sharp cutting tool to make the precise angled cuts. Using an x-acto knife or box cutter, make angled cuts along the long edges of the part so that it has 45 degree bevels. Look at the attached 3d model for a closer look at how to make this part by hand.
Screenshot of the angled support piece in CAD, upside down so you can see the angled edges and wiring channel
Insert Door Stoppers and Glue Parts Together
Pick one of the 1.5"x6" strips to be the front one
Carve a little plus-sign at both marked points on it with the center of the cross lined up with the points you marked earlier.
Press the tip of your door stoppers through both cross-shaped slits so that the stoppers are poking all the way through to the base.
Then, take the other 1.5"x6" strip and line up your markings with the screws poking out the back of the front strip. Press the screws into the back piece of foamcore so that you sandwich the doorstoppers in between them.
Apply a generous amount of hot glue evenly in between the two foam board parts and press them together tightly so that the foam board deforms around the shape of the door stopper base.
Glue the "door stopper sandwich" down to your baseplate and hold it upright perpendicular to your base. Ensure the ground wire cutout is facing downard against the base.
Glue the angled support against the base and the door stopper assembly to hold it in place. Again, make sure the wire channel on the support lines up with the wire channel of the stopper assembly before you stick it down.
Run Wiring and Prepare for Soldering
Prepare ground and output wires
Strip both ends of three alligator clips
If you want to try this project without soldering, you will need to leave the clips on your output wires to clip onto the screws
One wire will run through the wire channel up to the middle to be your ground
The other two wires will attach to the screws sticking out the back to close the circuit and create an output
Fix the ground wire with copper tape
Fan out the stripped end of your ground wire that is facing the front of the add-on
Lay down a long strip of copper tape from one end to the other underneath the door stoppers, covering the frayed end of your ground wire in the middle
To find out where your door stoppers will contact the copper before you place it down, you can drag the ends of the stoppers in an arc across the foam board base to see where they will touch the copper tape after you place it down
Soldering and JST Connector
If you want to use heat shrink or use other wire managment techniques, read Step 5 before you continue
Solder the other two output wires to the screws poking out the back. Wrap the stripped wire around the screws and put more solder than you need so that this connection is secure
Prepare your JST connector for soldering
Strip all three wires and separate them
(Optional) If you are going to use heat shrink, slip that onto the wires before you solder
Solder JST connector
Solder the left and right output wires onto the left and right wires of the JST
Solder the middle ground wire to the middle wire of the JST
Great work! With some code and a hub, the add-on will now be able to function. There are a few extra things you can do to improve the ease of use for this add-on.
Adding heat shrink to the soldered connections makes the wire a lot more durable, and increases your confidence handling it.
Having three separate wires hanging out of the add on before reaching the JST connector bothered me, so I kept them together by lightly hot gluing them to each other and covering it with electrical tape.
Using larger tubes of heat shrink in key places will help improve the durability of the cord, for instance when it transitions between taped and untaped
Mostly for aesthetic purposes, I peeled the top layer of paper off my extra foam board and glued it across the ground wire and also along the back, just to cover seams and protect the fragile wires.
Materials
Soldering Iron + Solder
Great all in one kit on Amazon here
Also available at hardware stores or hobby stores
This add-on requires a soldering iron to create
Clicky Buttons
On Amazon here
Breadboard Wires + Wire Stripper
On Amazon here
Make sure your wire strippers have a hole small enough to strip them
Hot Glue Gun
Nice hot glue gun on Amazon here
You can also find glue guns at craft stores, hobby stores, or hardware stores
Any glue gun will work, but bad ones are frustrating to use
3 Pin JST Connector
Available on Amazon here
Heat Shrink (Optional)
Useful for managing wires and improving ergonomics and ease of use
If you don't have a heat gun, you can use a lighter to great effect
CAD File(s)
Click here
Code
Click here
3D Printing
Put the 3D file into whatever program you use, and print it out!
The add on works best printed in TPU, since it has a slit down the bottom for you to bend it in half and access the cable management tunnels better.
Clearing the support out from inside would be impossible without being able to bend it, and having a flexible body made it much easier to access the channels to run the cables through them.
Clean Up the 3D Print and Prep for Soldering
Clear support filler out of the wiring channels
A small flathead screwdriver works great for getting into the thinner channels
You may want to use a box cutter to slice out parts of the filler that wont come out with just scraping alone
This is where TPU really works to your advantage! Bend and flex the part at the middle to give you access to the inside channel.
You won't bend it too far and break it! I got pretty aggressive with it and folded it pretty far on itself without any permanent deformation
Scraping at it with a screwdriver won't scratch it like it would stiffer filaments.
Prep the buttons and wiring
Bend two out of the four prongs on the buttons down to the bottom of the housing. You only need two of them
Strip both ends of four breadboard wires
Two wires will go to each button - one ground and one output for each button. All four wires will come out of the add-on where the ground wires can be soldered together into one, leaving you with two outputs and one ground
If you want to use heat shrink, remember to slip it onto the wires beforehand so you don't solder it all and realize you forgot
Thread the wires through the channels so that you have two wires poking out where each button will be
Soldering and JST Connector
Solder the wires to the buttons
Make sure that you don't put globs of solder, because you don't want them touching each other and both solder joints have to fit down in the narrow wiring channel
If you're worried about them contacting each other, you can insulate the solder joints from each other with a little tape or hot glue, but I didn't run into any issues with shorting
Solder all four wires to the 3 pin JST connector
If you are using heat shrink, make sure you have four pieces for this step - two small pieces for your outside JST wires, and one slightly larger one for the middle ground wire. The fourth piece should be big enough to go around all three wires and cover over the other three smaller pieces. You need to insulate these solder joints from each other no matter what, so if you don't have heat shrink you have to use electrical tape instead.
Pick one wire from each button to be the output wires. These ones are easy - just solder one output to the left JST wire and another output to the right one
Take the remaining two wires and mesh their frayed ends together - these will combine to be your ground wire
You will solder these two to your middle JST wire. Go crazy with the solder if you want. Make sure that all three wires are in contact with each other and that it's all held together securely with solder. You can cover your soldering with heat shrink anyway!
Making Custom Button Caps
This is where you get the opportunity to let your creativity out! You can create any cap for the buttons that you want, and make it specifically to accommodate the abilities of the user. As long as you use a material that can be hot glued to the plastic button, you can put almost anything you want. Below I have the instructions to make the caps that I used.
Dixie Cup Button Caps
Materials:
2x Dixie Cup
Box Cutter/X-Acto Knife
Hot Glue
Q-tips
Foam board scraps
Instructions:
I cut around the bottom of the dixie cup to use the bottom disc of it as the main part of my button
Next, I cut down Q-tips so that I could arrange four short segments of the firm paper tubes in a square on the underside of the cup base. These serve to make the dixie cup disc more stable and not bend as easily when pressure is applied off center
I hot glued these in place, leaving enough room in between them for square plastic button cap to still fit in the middle
Finally, I cut a small dime-sized circle out of foam board and sliced it in half vertically, creating two 2mm thick discs. I glued them onto the middle which improved the durability and stability of the button caps.
The caps ended up looking like googly eyes which is what inspired me to add a little smiley mouth to give the add-on some personality
Finishing Touches
Once you have made some button caps, your add-on is done! Now, you can spend time on the finer details if you'd like. Strategic use of heat shrink will make the cable much easier to handle without breaking it, and improve the overall usability of the device. You can always make more button caps as needed - If you have extra plastic button tops, you can of course make new caps to glue onto them, but you can also reuse the ones you have already used before. The hot glue connection is secure, but if you slip a box cutter in between the plastic cap and the homemade one, you can easily scrape off all the glue and stick something else on there for a different experience.
Materials
5mm (3/16") Foam Board
Can be found at craft stores, department stores, or even Dollar Tree.
Also available on Amazon here
3x Alligator Clips + Wire Strippers
Available at hardware stores or on Amazon here
Spare clips are useful testing or in the case you don't want to solder something
Soldering Iron + Solder
Great all in one kit on Amazon here
Also available at hardware stores or hobby stores
Hot Glue Gun
Nice hot glue gun on Amazon here
You can also find glue guns at craft stores, hobby stores, or hardware stores
Any glue gun will work, but bad ones are frustrating to use
3 Pin JST Connector
Available on Amazon here
Possible to make it without, but that will greatly impact the usability and conveniece of the add-on.
Heat Shrink (Optional)
Useful for managing wires and improving ergonomics and ease of use
If you don't have a heat gun, you can use a lighter to great effect
CAD File(s)
Click here
Code
Click here
3D Printing
3D print the hub file in any durable filament
Prep for Soldering
Strip the ends of two JST connectors opposite to those you used for your add-ons.
Strip the ends of six breadboard cables all on one end. Make sure that they all have one stripped end and one end with a male pin connector. These male pins will go into your Arduino to provide inputs once everything is soldered.
If you are using it, prepare your heatshrink beforehand and slip sleeve over each wire before you solder.
Also, as seen in the image, I added little non-slip feet just using drops of hot-glue.
Soldering
Solder the stripped ends of your breadboard pins to the stripped ends of your JST connectors.
Make sure none of the soldered connections are touching each other. If you aren't using heat shrink, make sure they are insulated from one another using electrical tape.
Secure the JST Connectors to the Hub
Take small scraps of foam board and cut them to the same size as the small outlet holes on the hub.
These little rectangles should be just slightly bigger so they press fit into the 3d printed holes
Cut a small divot along the bottom middle to allow the JST cable to pass through.
Hold the foamcore around the JST connector and glue it in place with hot glue
Make sure your little cable-divot is snug around the JST cable so everything will lay flat when you push it into the hub.
Glue the foamcore-mounted JST connector into a hole in the hub
By gluing the JST connector to a small bit of foamcore, and gluing the foam board to the hub, we create a secure way to attach a JST connector, while still leaving you the option to switch to a different connection type in the future if you want to use a different add-on that supports other types of wiring.
Wiring!
I reccomend securing your Arduino in place just using two small bits of foamcore glued down to wedge it in. This is an easy way to keep it in place without damaging or gluing it directly, meaning you can use it later.
Now you have two JST connectors sticking out of your hub, with a mess of wires all inside. Here is how I wired it:
The outside wires of my JST connectors, which have been wired to my outputs on my add-ons, I plugged into the digital pins of the Arduino.
The middle wires, which have been the ground wires on my add-ons were plugged into the ground pins on the Arduino.
You can plug the output wires into whatever digital pins you want, and then map those pins to whatever keys you would like using the remapping functionality.
Remapping Site
Click here
Haptapt