Custom PCB

FreedomWing Joystick Adapter

Overview

The FreedomWing Joystick Adapter provides a way to connect a powerchair joystick to a gaming system. This can enable someone to game with the same joystick they use to control their powerchair. This adapter is compatible with joysticks that attach to the powerchair via a DB9 connector.

The FreedomWing was designed by ATMakers in collaboration with The AbleGamers Charity and GRA-V Robotics. Makers Making Change updated the design of the PCB and created a basic set of documentation for FreedomWing 1.1.

More information available at ATMakers website: http://atmakers.org/featherwing

Usage

  1. Disable wheelchair motors.
  2. Disconnect the joystick DB9 connector from wheelchair.
  3. Connect the joystick DB9 connector to the FreedomWing Adapter Input.
  4. Connect the FreedomWing Adapter USB cable to the host device. (Use a suitable adapter if necessary.)

Cost

The approximate cost of materials to make a single FreedomWing Joystick Adapter is $75.

Build Instructions

As Open Source Hardware, all of the code and files necessary to construct the device are available for free at the linked repository. Refer to the Bill of Materials, 3D Printing Guide, and Assembly Guide.

SKILLS REQUIRED

  • 3D Printing
  • Custom PCB
  • Soldering

TIME REQUIRED

  • 3D Printing Time: 2h30m
  • Assembly Time: 1h

TOOLS

  • 3D Printer
  • Soldering Iron
  • Small screwdriver
  • Side Cutters

3D PRINTING

This design utilizes a 3D printed enclosure. The enclosure consists of a total of four parts, with a print time of approximately 2h30m.

CUSTOM PRINTED CIRCUIT BOARD (PCB)

This design utilizes a custom printed circuit board (PCB). These may be obtained in small quantities (typically 5) from custom PCB manufacturers.

 

Attribution

The FreedomWing was designed by ATMakers in collaboration with The AbleGamers Charity and GRA-V Robotics.

Makers Making Change updated the design of the PCB and created a basic set of documentation for FreedomWing 1.1.

Rocket Switch Interface

Overview

The Rocket Switch Interface is a switch interface device which enables users to operate their computer or smartphone devices using assistive switches. The Rocket Switch Interface supports up to two 3.5 mm assistive switches.

Usage

Both switches can be used as inputs when short pressed, switch 1 can be used to change the operation mode when it’s pressed and hold for 4 seconds. The device can operate in several modes:

  • Switch Mode: This mode can be used along switch control software available for Windows and Android Operating Systems. Switch 1 outputs A key and switch 2 outputs B key.
  • Switch Mac Mode: This mode can be used along switch control software available for Mac Operating Systems. Switch 1 outputs F1 key and Switch 2 outputs F2 key.
  • Mouse Mode: This mode can be used to simulate a mouse button click. Switch 1 performs left mouse click and Switch 2 performs right mouse click.
  • Settings Mode: The settings mode allows the user to adjust the reaction time between switch presses.  The minimum reaction time is 50 ms (Level 10) and maximum reaction time is 500 ms (Level 1). The default reaction time is Switch 1 decrements the reaction level by 1 level and switch 2 increments the reaction level by 1 level as well.

Cost

$45 ($15.16 Components and 3D prints; ~$30 for order of custom PCBs)

Build Instructions

The Rocket Switch Interface consists of 3D printed parts, electronic components, and custom Arduino program. The Assembly Guide is available at the GitHub repository.

Skills Required

  • 3D Printing
  • Soldering
  • Custom PCB
  • Microcontroller programming

Time Required

3D Printing Time: 49 Minutes

Assembly Time: 20 Minutes

Software Setup Time: 15 Minutes

Tools

  • Soldering Iron and 60/40 electronics solder
  • Needle nose pliers
  • Side cutters
  • Medium Phillips screwdriver
  • Optional clamp or vise to align PCB’s.

Components

  • 1X Rocket Switch Interface PCB
  • 1X Adafruit Rotary Trinkey (i.e., https://www.adafruit.com/product/4964)
  • 2X SJ-43514 3.5mm Jack Stereo
  • 2X 7 kOhms 1/4W Through Hole Resistor
  • 1X Light Pipe
  • 1X M3 6MM Pan Head Machine Screw Phillip

3D Printing

  • 1X Top Case (3D)
  • 1X Bottom Case (3D)
  • 1X Assembly Jig (3D)

Custom PCB

This design utilizes a custom PCB. Five boards (minimum quantity) can be obtained for approximately $30 CAD (shipping included).

Programming

A custom Arduino code (Rocket_Switch_Interface.ino) needs to be flashed using Arduino IDE.

Design

The PCB was designed using Autodesk EAGLE, and the enclosure was designed using Autodesk Fusion 360.

Attribution

Designed by Makers Making Change

Designer:

  • Milad Hajihassan, Makers Making Change

Contributors:

  • Derrick Andrews, Makers Making Change

Enabled Controller Wireless

Overview

The Enabled Controller Wireless is an open-source switch interface that enables adaptive switches and analog joysticks to be used with a compatible Bluetooth device such as a computer, tablet, or phone. The switches and/or joysticks can be used to input keyboard, mouse, or joystick commands, depending on how the device is configured. The device accepts up to 8 adaptive switches (3.5 mm) and up to two dual axis analog joysticks as inputs.

The Enabled Controller Wireless can emulate a Bluetooth keyboard or a Bluetooth mouse.

Usage

  1. Connect assistive switch(es) to the appropriate input port(s). The switch input ports are labeled  A, B, C, D, Left, Down, Right, Up.
  2. Connect analog joysticks to the desired joystick input ports. The joystick input ports are labelled A1 and A2.
  3. Connect a micro USB cable to the Power Bank to power the Enabled Controller Wireless if you are not using the internal battery.
  4. Connect the Enabled Controller Wireless to the host device (e.g. computer, tablet) via Bluetooth.
    • Turn On the Bluetooth feature on the host device.
    • Scan and find a device named “Enabled-Controller”.
    • Pair and connect the host device to the “Enabled-Controller”
    • The RGB LED will turn to blue on successful connection attempt.
  5. Activation of the switches or movement of the joysticks will result in different actions depending on the software version and operating mode.

Features:

The Wireless version emulates a keyboard or a mouse. Refer to the Enabled Controller Wireless User Manual for more details.

The USB version offers the following four modes:
1) Keyboard switch

When a connected switch is activated, the device transmits a customizable keystroke.

2) Keyboard Morse Code

Two connected switches are used to input Morse code dots and dashes. Theses dots and dashes are converted to characters and transmitted as keystrokes.

3) Mouse Morse Code

Two connected switches are used to input Morse code dots and dashes. These dots and dashes are converted to and transmitted as mouse commands.

4) Mouse

5) Settings

( Used to change reaction time )

The mode is changed by performing a long press on a switch connected to input D.

Build Instructions

A complete set of documentation, including Bill of Materials, Assembly Guide, and User guide are available at the GitHub link.

The estimated cost of the Enabled Controller Wireless is $77 CAD. The device consists of a number of off-the-shelf electronic components, a custom printed circuit board, a 3d printed enclosure, and some mechanical fasteners.

Battery Interrupter (Flex PCB)

Overview

A battery interrupter lets you use an accessible switch to turn on and off many battery-operated toys and devices. The battery interrupter interrupts the flow of power from the battery until an attached assistive switch is activated. This is a flexible battery interrupter that can be used with AAA, AA, C, or D sized batteries.

Note: This design utilizes a custom PCB, so it is not cost effective for small quantities (< 50). If you need a small quantity of battery interrupters, the Battery Interrupter (Soldered) design is likely a better option.

 

Usage

Initial Setup

The flexible battery interrupter is inserted within the battery enclosure either between two batteries or between a battery and a battery terminal. The flexible battery interrupter can be trimmed with scissors to match the size of battery.  The wires to the jack are routed to the outside of the battery enclosure.

Typical Usage

An assistive switch is connected to the battery interrupter switch jack. If there a power switch on the electronic device or toy, it is placed into the on position. Activating the assistive switch should then activate the electronic device or toy.

 

Build Instructions

Bill of Materials

1X  Battery Interrupter Flexible PCB ($2 – $126)

1X 3.5 mm Jack (https://www.digikey.ca/en/products/detail/cui-devices/SJ1-3513/738683, ~$2 CAD + $11 Shipping)

1X 3D Printed Jack Case (~ 1.1 g of filament, $0.03)

1X 3D Printed Jack Case Spacer (~ 0.4 g of filament, $0.01)

Tools
  • Scissors
  • Soldering Iron
  • Solder

 

Custom PCB

This design requires a custom flexible printed circuit board (PCB). All of the information and files required to have the PCB fabricated are within the GitHub repository.

The price will vary widely depending on the fabricator, the quantity of boards, and the selected shipping option.

 

Assembly

A detailed assembly guide is available on GitHub or within the zipped release.

  1. Solder the jack to the flexible PCB.
  2. Insert the jack with the spacer into the jack case.
  3. Thread the retainer ring onto the jack.

 

Attribution

Initial concept and design: Dale Grover

V1.0 Design and Assembly Instructions: Makers Making Change

 

ATMakers KeySwitch

Overview

The ATMakers Keyswitch is a low-cost assistive switch interface that allows a user to connect up to 5 external assistive switches with 3.5 mm plugs to a computer, tablet, smartphone, or AAC device with a USB port.  The Keyswitch sends keystrokes and/or mouse movement when the external switches are activated, and can easily be configured to change the keystrokes that are sent.

Usage

Connect one and up to 5 assistive switches to the ATMakers Keyswitch. Plug the USB cable into the computer, tablet, smartphone, or AAC device with a USB port.

Build Instructions

Bill of Materials

To assemble the mount with the switch, you will need:
1 – 3D Printed Enclosure Base (~14 g of filament, $0.40; 1hr 15m)

1 – 3D Printed Enclosure Top (~ 7 g of filament, $0.20; 0hr 25m)

10 – Breakaway Male Headers (~1.20 CAD, https://www.digikey.ca/en/products/detail/wurth-electronics-inc/61301611121/4846854)

1 – ATMakers KeySwitch Custom PCB

5  – 3.5 mm jacks (~$1 ea, https://www.digikey.ca/product-detail/en/cui-inc/SJ1-3535NG/CP1-3535NG-ND/738699)

1 – Trinket M0 (~$12 CAD, https://www.digikey.ca/en/products/detail/adafruit-industries-llc/3500/7623049; https://www.adafruit.com/product/3500 )

1 – USB Micro to USB A Cable

2 – M2.6x 8 mm or #4-40 screws

Tools

  • Soldering iron
  • Wire strippers / wire cutters
  • Screwdriver

Custom PCB

The files for the custom PCB are stored on the ATMaker Hardware Github repository (https://github.com/ATMakersOrg/ATMakers-Hardware/tree/master/KeySwitchBoard). A board will need to be ordered from a suitable PCB manufacturer.

3D Printing

Both the enclosure and the base are designed to print without support. There are two version of the top – one designed for translucent filament and one for opaque filament. The print files are available on Thingiverse (https://www.thingiverse.com/thing:3159609).

Assembling the KeySwitch

See the attached PDF for detailed step-by-step assembly instructions. There is also a video of the assembly process available: https://www.youtube.com/watch?v=Tr9n-Ne0utA

Programming the Trinket

The instructions and code for programming the Trinket are available at the ATMaker KeySwitch repository (https://github.com/ATMakersOrg/KeySwitch).

Attribution

The ATMaker Keyswitch was designed by ATMakers. Written assembly instructions were created by Makers Making Change.

 

Enabled Controller Mini

Overview

The Enabled Controller Mini is an open-source switch interface that enables adaptive switches and analog joysticks to be used with a compatible USB device such as a computer, tablet, or phone. The switches and/or joysticks can be used to input keyboard, mouse, or joystick/gamepad commands, depending on how the device is configured. The device accepts up to 4 adaptive switches (3.5 mm) and one dual axis analog joysticks as inputs. The Enabled Controller Mini is smaller and more affordable version of the Enabled Controller.

The Enabled Controller Mini is available in 2 software versions. The USB version emulates a keyboard or a mouse. The Joystick version emulates a gamepad.  Both versions use the same hardware. It is possible to change software versions using a computer and a moderately involved process.

Usage

  1. Connect one to four assistive switches to the appropriate input ports. The switch input ports are labeled  A, B, C, D.
  2. Connect analog joystick to the desired joystick input port. The joystick input port is labelled Analog.
  3. Connect a micro USB cable to the USB C port on the Enabled Controller Mini.
  4. Connect the USB cable to the host device (e.g. computer, tablet).
  5. Activation of the switches or movement of the joystick will result in different actions depending on the software version and operating mode.

USB Version

The USB version emulates a keyboard or a mouse. Refer to the Enabled Controller Mini USB User Manual for more details.

The USB version offers the following four modes:
1) Keyboard switch

When a connected switch is activated, the device transmits a customizable keystroke.

2) Keyboard Morse Code

Two connected switches are used to input Morse code dots and dashes. Theses dots and dashes are converted to characters and transmitted as keystrokes.

3) Mouse Morse Code

Two connected switches are used to input Morse code dots and dashes. These dots and dashes are converted to and transmitted as mouse commands.

4) Settings

( Used to change reaction time )

The mode is changed by performing a long press on a switch connected to input D.

Joystick Version

The Joystick version of the software turns the Enabled Controller Mini to an adaptive gaming controller for your computer or other host device. Refer to the Enabled Controller Mini Joystick User Manual for more details.

Build Instructions

A complete set of documentation, including Bill of Materials, Assembly Guide, and User guide are available at the GitHub link.

The estimated cost of the Enabled Controller Mini is $35 CAD. The device consists of a number of off-the-shelf electronic components, a custom printed circuit board, a 3d printed enclosure, and some mechanical fasteners.

Enabled Controller

Overview

The Enabled Controller is an open-source switch interface that enables adaptive switches and analog joysticks to be used with a compatible USB device such as a computer, tablet, or phone. The switches and/or joysticks can be used to input keyboard, mouse, or joystick/gamepad commands, depending on how the device is configured. The device accepts up to 8 adaptive switches (3.5 mm) and up to two dual axis analog joysticks as inputs.

The Enabled Controller is available in 2 software versions. The USB version emulates a keyboard or a mouse. The Joystick version emulates a gamepad.  Both versions use the same hardware. It is possible to change software versions using a computer and a moderately involved process.

Usage

  1. Connect assistive switch(es) to the appropriate input port(s). The switch input ports are labeled  A, B, C, D, Left, Down, Right, Up.
  2. Connect analog joysticks to the desired joystick input ports. The joystick input ports are labelled A1 and A2.
  3. Connect a micro USB cable to the USB port on the Enabled Controller.
  4. Connect the USB cable to the host device (e.g. computer, tablet).
  5. Activation of the switches or movement of the joysticks will result in different actions depending on the software version and operating mode.

USB Version

The USB version emulates a keyboard or a mouse. Refer to the Enabled Controller USB User Manual for more details.

The USB version offers the following four modes:
1) Keyboard switch

When a connected switch is activated, the device transmits a customizable keystroke.

2) Keyboard Morse Code

Two connected switches are used to input Morse code dots and dashes. Theses dots and dashes are converted to characters and transmitted as keystrokes.

3) Mouse Morse Code

Two connected switches are used to input Morse code dots and dashes. These dots and dashes are converted to and transmitted as mouse commands.

4) Settings

( Used to change reaction time )

The mode is changed by performing a long press on a switch connected to input D.

Joystick Version

The Joystick version of the software turns the Enabled Controller to an adaptive gaming controller for your computer or other host device. Refer to the Enabled Controller Joystick User Manual for more details.

Build Instructions

A complete set of documentation, including Bill of Materials, Assembly Guide, and User guide are available at the GitHub link.

The estimated cost of the Enabled Controller is $55 CAD. The device consists of a number of off-the-shelf electronic components, a custom printed circuit board, a 3d printed enclosure, and some mechanical fasteners.

Sip And Puff Switch Analog

Overview

A sip-and-puff switch is an assistive technology that enables a user to control a device by using their mouth to “sip”(inhale) or “puff”(exhale) on a straw, tube or wand. It is primarily used by people with limited or no limb movement. The Sip and Puff Switch can be connected directly to an assistive device with a 3.5 mm jack or to a computer or smartphone using a suitable switch interface.

Features
  • Battery powered (2x CR2032 Lithium Coin Cells)
  • Independently adjustable puff sensitivity and sip sensitivity
  • Visual feedback when switch is activated
  • Two separate outputs mean that two devices can be controlled.

 

 

FAIO Multiplexer

The FAIO Multiplexer is an open-source Assistive technology wing for Adafruit Feather boards which enables those with limited or no hand movement to use Adaptive switches as input to operate in multiple input modes. FAIO Multiplexer uses an Adafruit Feather board, a custom PCB, electronic components such as 3.5 mm audio jacks and an RGB led, and a 3D printed enclosure.

FAIO Multiplexer allows you to convert 3.5 mm inputs to switch or joystick actions via USB interface.

FAIO Multiplexer supports following switch modes:

  • Switch Access Mode ( HID Keyboard )
  • Morse Keyboard Mode ( HID Keyboard )
  • Morse Mouse Mode ( HID Mouse )
  • Joystick Mode ( HID Joystick )

Additional firmware to operate Xbox Adaptive Controller using switch module is available as well.

The device costs US $40 to US $60 depending on the version of Adafruit Feather board.

Future changes will include:

  • Improving Morse code modes of the software
  • Wireless version of software
  • Updated enclosure for joystick connection

Light Proximity Switch

Overview

This is a relatively low cost accessibility switch activated by waving over or very lightly pressing the activation area. The output from the switch is a standard 3.5 mm cable.

Usage

The switch is well-suited for use by small movements of a finger or larger gross movements of a hand or limb. This switch can be plugged into any standard 3.5 mm AT interface. It can also be used with the Xbox Adaptive Controller. Multiple switches can be used to get input from more than one finger. The switch can be mounted using adhesive on the rear surface of the contact pad. The switch has a removable base so it can more easily be positioned to access small movements.

An animated gif of a user passing their hand over a light proximity switch, causing the light to come on indicating that is has been activated.

Build Instructions

Refer to the GitHub link below for the following:

  • Assembly Instructions
  • Bill of Materials
  • Tools
  • PCB Files
  • 3D Printing Files

Alternatively, all the files for v1.0.1 can be downloaded here.

Attaching the 3D Printed Base

The proximity switch has a 3D printed circular base for users with low strength to move their finger or hand near the sensor.

There are grooves on the base and switch that will clip together. To attach, place the base and switch on a flat surface and push both pieces together. It may take a bit of strength to clip so users may need someone with higher strength to help attach both pieces.

Grooves on the light proximity switch for connecting the mounting base plate

A animated gif showing connecting the base to the switch by pushing together with two hands.