Software

Serial Hand-Raiser

Overview 

It’s important to be able to catch the attention of a professor/teacher if you simply need to ask a question. Raising hand is a standard way of getting others attention around the world regardless of the environment and it’s globally used in classrooms. Unfortunately, it may not be possible for everyone to physically raise their hands and we need alternative visual device could help them.

This device would be beneficial for someone who has difficulty or is unable to raise their hand for an extended period of time.

Usage 

The Serial-Hand-Raiser uses a RGB LED to send feedback by flashing colors according to the incoming requests through the USB connection. It uses web serial to communicate with host through a web app. This allows the users to send different colours actions to the device to and display visual feedback to other users.

The web app can be accessed through following web page:

Serial-Hand-Raiser App

Compatibility

Serial-Hand-Raiser can be used to provide visual feedback via a web browser installed in the host device. The following web browsers are compatible:

Cost

The Serial-Hand-Raiser costs approximately $14.

Build Instructions 

All the required assembly documentation, software, hardware are documented in the project GitHub repository. All the necessary electronics for this project are listed and can be purchased online via provided hyperlinks in the bill of materials (BOM) file.

Skills Required

  •  3D Printing Skills
  • Programming

Time Required

  • Total print time: 60 minutes
  • Assembly Time: 10 minutes

Tools

  •  3D Printer
  • Computer with USB port

Components

  • 1x Adafruit QT Py – SAMD21 Link
  • 1x USB Cable – USB A to USB C – Link

3D Printing

All components can be printed with no support at 20% infill. There are 3 pieces to the enclosure:

  • 1x Bottom Plate
  • 1x Holder Plate
  • 1x Top plate – (Translucent filament)

Attribution 

The code for this device is licensed under the MIT license.

The Hand-Raiser 3D printed housing is licensed under the Creative Commons – Attribution – Non-Commercial – Share Alike license.

Hand-Raiser

Overview 

The Hand-Raiser is an assistive device used to catch the attention of a professor without a student having to raise their hand. This device would be beneficial for someone who has difficulty or is unable to raise their hand for an extended period of time.

Usage 

 The Hand-Raiser works by flashing it’s light according to the incoming requests through the USB connection. The Hand-Raiser includes a set of Windows Shortcuts that can be used to change the LED by just double clicking on it.

Compatibility

The Hand-Raiser can work with any computer with Windows.

Cost

The Hand-Raiser costs approximately $15.

Build Instructions 

A video on how to assemble this device is linked above. Written instructions on how to program and assemble the device are linked above. Once the device is programmed, red, yellow, and green are automatically added to the Hand-Raiser. If the user would like additional colour shortcuts added to the device, step by step instructions to do so are linked above.

Skills Required

  •  3D Printing Skills
  • Programming

Time Required

  • Total print time: 70 minutes
  • Assembly Time: 10 minutes

Tools

  •  3D Printer
  • Computer with USB port

Components

  •  1x Adafruit Trinket – Link
  • 1x USB Cable – USB A to micro-B – Link

3D Printing

All components can be printed with no support at 20% infill with a 0.2mm layer height. There are 3 pieces to the enclosure: a back plate, a hanging hook, and a faceplate.

  • 1x Back Plate
  • 1x Hanging Hook
  • 1x Faceplate – This piece must be printed with translucent filament.

Note that there are several versions of the hook and the faceplate, but you only need one of each.

Attribution 

The code for this device was written by Bill Binko and is licensed under the MIT license.

The Hand-Raiser 3D printed housing was designed by AT Makers and is licensed under the Creative Commons – Attribution – Non-Commercial – Share Alike license.

Documentation for this device was created by Neil Squire / Makers Making Change licensed under the CC-BY-SA 4.0 license.

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.

Voice It

Overview

The Voice It is a simple DIY device for augmentative and alternative communication (AAC) . It reads the text stored on an RFID tag, then looks for an audio file on its SD card with the same name, and plays the file through the internal speaker. You control which objects have an RFID tag and you control what’s contained in the audio file.

The Bliss Tactile Symbols, by default, include an internal pocket, just big enough to hold a simple RFID tag. The Voice It comes with English and Spanish sound files for each of the 241 out-of-the-box tactile symbols.

You can also attach an RFID tag to any physical object and encode that tag with text using an inexpensive, RFID tag writer. The Voice It SD card can be removed and additional audio files can be added using a PC.

By default, the Voice It “talks” in English but you can easily create an RFID-based language token to switch the language to Spanish or any other language you’ve put on the SD card.

 

Usage

When an object or tactile symbol with an appropriate RFID tag is brought in proximity to the Voice It device, it will say the corresponding word or play the corresponding sound.

 

Build Instructions

Detailed build instructions and an assembly video are available at the link. The total cost of materials for the device is approximately $150. A suitable RFID reader/writer will also be required.

The build consists of 3D printed parts and electronics that are assembled without any soldering. The Arduino microcontroller needs to be flashed with firmware, and the sounds files will need to be transferred to the memory card.

 

 

 

 

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.

 

Arm Cycle Gaming Interface

Overview

The Arm Cycle Gaming Interface or Xbox One Arm Cycle Controller is an exercise device that interfaces a commercial mini-exercise bicycle / arm cycle with an Xbox Adaptive Controller to provide an interactive fitness experience targeted towards users with spinal cord injuries.

A sensor is added to the Arm Cycle to measure the direction and speed of pedaling. The Arm Cycle is mounted in a frame that allows the Arm Cycle to tilt left and right, which a second sensor measures. The sensor signals are interpreted by the Xbox Adaptive Controller as joystick and trigger inputs, allowing the device to play racing games on compatible platforms (e.g., Xbox One Series consoles, Windows 10 PCs, and other devices compatible with the Xbox Adaptive Controller).

This device was designed for the Sunny Health & Fitness SF-B0418 Magnetic Mini Exercise Bike, but it could be adapted for use with other similar arm cycles.

Usage

Place the adapted Arm Cycle and the Mechanical Adaptor frame onto a suitable surface like a table.

Connect the cables from the Arm Cycle Adaptive Controller to the corresponding input ports on the Xbox Adaptive Controller.

Connect the Xbox Adaptive Controller to the gaming platform.

Moving the pedals forward will emulate pressing the right trigger down on a controller, with greater speeds resulting in larger input. In most racing games, this would be mapped to acceleration, so that faster pedaling will result in greater acceleration of the vehicle.

Moving the pedals backwards will emulate a left trigger press, with greater speeds resulting in larger input. In most racing games this would be mapped to deceleration, resulting in brakes and eventually driving in reverse.

Moving and pivoting the Arm Cycle from right to left will emulate left stick X-axis movement. This is typically mapped to steering, so that tipping the Arm Cycle to the left will turn the vehicle to the left, and tipping the Arm Cycle to the right will turn the vehicle to the right.

Build Instructions

A detailed assembly and setup guide is available at the Instructables link.

The adapter for the existing arm cycle is made out of a mixture of 3D printed components and 80/20 aluminum extrusions, fasteners, and pivots.

Attribution

This device was designed as part of a UBC capstone project by five students: Nicholas Winship, Scott Beaulieu, Keith Consolacion, Edward Luo, and Fabian Lozano.

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.

FAIO Multiplexer Wireless

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

FAIO Multiplexer Wireless allows you to convert 3.5 mm inputs to switch or Morse keyboard or Morse mouse actions via a Bluetooth HID interface.

FAIO Multiplexer Wireless supports following switch modes:

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

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

Future changes will include:

  • Improving Morse code library
  • Wireless version of software

Bluetooth Headmouse

This project is a low-cost human interface device (HID) that enables people with motor impairments to control phones and computers. Basically, a mouse that requires very limited head movements to operate.

Optional: Any switch that the person can access. I use 4 micro light switches (2 head mounted and one each for my left and right index fingers).

I have ALS and only limited head and finger movement, but I am able to completely control my phone (almost like having working hands again). I have full access to my computer (I use a lot of Fusion 360 and this system works great).

The schematics, code, and 3D print files for power wheelchair button mounts (left and right, hand and head) are available at the GitHub repository linked below.

Setup

The device uses an Adafruit Feather Express nRF52840 and an IMU module to act as a Bluetooth low energy mouse. Please see the bill of materials for details. The case and gyro cover are 3d printed. The STL and STEP files are included.

An instruction manual for building the device is included.

The software has to be uploaded to the nRF52840. Platformio is recommended. Here is a link to the setup instructions: https://platformio.org/install/ide?install=vscode

Usage

The device uses a gyroscope mounted to an earpiece to track head movements (very little movement required) and move a mouse pointer accordingly. The device has 4 optional switch / button inputs (3.5mm headphone jack) for use with any switches that the user can control.

left: works the same as the left click button on a regular mouse

right: works the same as the right click button on a regular mouse

scroll: tap to scroll down and long press to scroll up

dwell: tap to toggle dwell clicking on and off. Dwell clicking is where the device will left click/tap when the pointer is stationary for a specified time. Being able to turn this feature on and off really helps the user from going crazy when the mouse constantly clicks.

 

Details for the previous version of the Bluetooth Headmouse can be found here: madcrow99/Bluetooth-HeadMouse-