Adaptive wireless switch

Adaptive switches are often used by people with limited hand function. This switch looks like a game controller and uses a low cost keyfob.

Similar projects worth following
This device was developed for a person with intellectual and physical disabilities who needed an exceptionally easy way to select and play videos. This is the remote control. The Raspberry Pi-based video jukebox "PlayVideo" is a separate project (see my project list).

The PlayVideo player can be operated with a wired switch or a SimpleRF keyfob sold by Adafruit Industries. But, a keyfob requires good hand and finger control. The Adaptive Wireless Switch moves the keyfob circuit into an more manageable form factor, essentially a game controller that has two buttons. The adaptive switch has a LiPo battery for long operation and a built-in charger. The case is made by 3D plastic printing. The circuitry is composed of 3 Adafruit circuit boards, 3 switches and a LiPo battery.

1 Controller body top v8 (final).stl

Final 3D print file for controller body, top component.

Standard Tesselated Geometry - 2.10 MB - 08/01/2020 at 12:35


2 Controller body bottom v9 (final).stl

Final 3D print file for controller body, bottom component

Standard Tesselated Geometry - 923.13 kB - 08/01/2020 at 12:35


Standard Tesselated Geometry - 22.93 kB - 08/01/2020 at 12:35


4 Pushbutton Short v7 (final).stl

Shorter pushbutton for nearer the user's hand. See note for Tall pushbutton.

Standard Tesselated Geometry - 148.81 kB - 08/01/2020 at 12:36


5 Pushbutton Tall v7 (final).stl

Taller pushbutton for further from the user's hand. The difference between short and long is small. Usually the buttons are printed as different colors.

Standard Tesselated Geometry - 147.25 kB - 08/01/2020 at 12:36


View all 6 files

  • 1 × Adafruit 1391 Keyfob 2-Button RF Remote Control - 315MHz
  • 1 × Adafruit 1904 Micro-LiPo Charger
  • 1 × Adafruit 1903 PowerBoost 500 Basic - 5V USB Boost @ 500mA from 1.8V+
  • 1 × Adafruit 1131 JST-PH Battery extension cable 500mm
  • 1 × Digi-Key 1832-1053-ND Lithium ion polymer battery   3.7V, 1AH

View all 13 components

  • Using heat-set threads for mounting posts

    Andrew Mitz03/18/2024 at 17:03 0 comments

    One weakness of the existing design is that the mounting posts can break when being tapped, or the threads can be stripped during assembly.  The best way to protect the plastic mounting posts is to use heat-set thread inserts.  Note, this only works with thermoplastics. There is an expansion-type insert that can be used on other plastics. 

    I use McMaster-Carr part 93365A230. Carefully drill out the 4-40 thread holes in the mounting posts with larger and larger drill bits until you reach 9/64". Try to hit this size exactly (that is, buy a 9/64" bit). Make sure the bottom of the heat-set thread just fits into the top of the hole. With a soldering iron (with a very clean tip), poke the tip into the heat-set thread and hold until the plastic gets soft. With a little push from the iron, the thread will advance smoothly into the hole. Lift the soldering iron off when the insert is completely inside the post. Have a small flat screwdriver handy to keep the thread from lifting up while you lift the soldering iron. There are some good demos in the Internet, so you can see how it works.

  • Project complete

    Andrew Mitz08/01/2020 at 12:46 0 comments

    The project is complete. A tiny tweak to the lower body case lip helps the case fit together without endangering any of the alignment posts. The USB charger board is held in place by the rear pins and the adjacent wall. The front pins (nearest the micro USB connector) are not used. Final STL files have been uploaded to print your own case. 

  • Project files updated

    Andrew Mitz07/10/2020 at 22:26 0 comments

    Bill of materials file deleted and replaced by listing of all components. Draft step-by-step file replace by full set of instructions.

  • Modification in case the controller does not trigger the receiver

    Andrew Mitz07/05/2020 at 19:58 0 comments

    I found two controllers that did not properly trigger the receiver. I saw a similar problem with a non-rechargeable controller I built earlier. The keyfob board is designed to work with coin cells. When you use a separate power source it lacks a low impedance pathway across the battery terminals. To solve this, I added a 1.0 uF ceramic capacitor across the keyfob battery terminals. The picture shows a capacitor with a 5.6 ohm resistor. The resistor was needed in that earlier design because it had two large 3 volt coin batteries. The 6 volts was too high, so the resistor helped increase the source resistance. Using the capacitor, alone, fixed the problem in the new controller. Some controllers don't need the capacitor, but I don't think the capacitor can hurt. 

  • Draft assembly and BOM files have been posted

    Andrew Mitz07/04/2020 at 02:02 0 comments

    Files now have preliminary assembly instructions and bill of materials.

    Basic operation.

    In the chrg position, the controller is off and can be charged using a standard cell phone charger and a micro-USB cable. The charger LEDs will go from red to green when the battery is fully charged. In ON position, the battery is in use. The LEDs from the PowerBoost board should be visible: green when ON, but turns to red when the battery is low. The keyfob LED should light read when a button is pressed.

    The intended receiver is an Adafruit
    1096      Simple RF M4 Receiver - 315MHz Momentary Type

    It is built into my Raspberry Pi PlayVideo system

  • 3D printer

    Andrew Mitz07/03/2020 at 22:09 0 comments

    The 3D printer used for all the prototypes and production adaptive switches is the Flashforge Dreamer NX. Because the project was to aid disabilities, the use of the printer and materials were donated by two wonderful supporters of this project. 

View all 6 project logs

  • 1
    Drill and tap battery hold-down

    Bottom half of case. Clear out battery hold-down holes with a #50 drill bit and pin vise. Carefully tap the hole with 2-56 tap. 

  • 2
    Drill and tap mounting posts

    Top half of case. Very carefully drill the 7 thick round mounting posts using a #42 drill bit and pin vise. Go slowly and clear out waste a couple of times while drilling holes. Tap these holes with a 4-40 tap. Tap the holes even more carefully than drilling. Keep the tap clean. Do not drive the tap too deep. The posts will snap off. 

  • 3
    Cut off battery connector. Wire on new connector.

    [Warning: This step has risks. The battery is very powerful. Do not let the two battery leads touch each other.] See Step 11 for a picture. Cut the connector off the battery keeping most of the wire attached to the battery. Cut the JST-PH battery extension cable so that the female connector (the connector that has no exposed metal) has about 3" of wire on it. Strip the battery wires. Strip the wires on the female connector.  Mount a piece of heat shrink tubing on one red wire and one black wire, if you plan to insulate each connection that way (see below). Twist exposed leads of black wire to black wire and red wire to red wire. Solder the two black wires together. Solder the two red wires together. Now the battery has a new, longer cable with the correct connector. Insulate the connections. This can be done with heat shrink tubing if you have very small tubing. However, I use the J-B KwikWeld epoxy. Coat each connection with the epoxy. Be sure no wire is exposed. Do not handle wires for 20 minutes so the epoxy can set.  

View all 24 instructions

Enjoy this project?



Andrew Mitz wrote 07/17/2021 at 00:32 point

3D printing was done on a  Flashforge Dreamer NX.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates