BOSI - the Bluetooth Open-source Switch Interface

An open-source switch interface for people with disabilities to wirelessly access computer and mobile devices

Similar projects worth following
The needs of people with disabilities in the computer or mobile device use are growing dramatically as more and more daily and community activities rely on the smartphone apps or online account access. People with difficulties using the common physical input interfaces, such as a keyboard, mouse, or touchscreen, are facing challenges not just in the access to a computer software but also in communicating with family and friends, paying utility and phone bills, online banking, learning, getting a job, or maybe just recreation with funny videos.

The switch interface is one of the easiest ways to overcome these challenges in using computers and mobile devices. However, the switch interfaces on the market are either expensive or difficult in installation. This project provides a simple, easy, and inexpensive solution of wireless switch interface for people with needs in using computers but short of dexterity in keyboards and mouses.


Switch interface is widely used by most electric powered wheelchair users for using computers and augmented and alternative communication (AAC), which is also well-known from a famous user - Professor Stephen Hawking. The video below shows how it works with a scanning software on the computer.

In the video, it is obvious that the user with cerebral palsy does not have much muscle control in the fingers or head movements due to muscle stiffness and tremors. The switch interface requires only one simple movement to activate. The user waits for the selection frame on the computer screen jumping to the key or key group to be typed in and presses the big red switch to select the group of keys or the key.

This is another user's video. The switches are located behind his head due to the lack of functional movements on the upper and lower extremities or facial muscles.

The switch interface is much easier than brain computer interface or other interface like joystick or trackball because it only needs one single functional movement to hit the button and it does not require any accuracy or finer muscular control to operate. The downside is the efficiency when using switch interface with the scanning software. However, if the wheelchair user with limited arm and hand functions, using joystick or trackball will lead to more typing or selection errors and, in consequence, much lower efficiency.

Hardware Design

The electronic design is shown below. It can support up to 12 switches, but in my prototype, I only use two switches and two additional connectors for other switches because two switches are good enough for most default apps.

There are three main components: the Adafruit Bluefruit EZ-Key, a battery, and one or more than one push buttons. The others are optional: such as the 3.5mm phone jacks, a battery charger, or a power switch.

The case and button covers were designed in Solidworks. The files are available at the GrabCAD and Onshape. It can be modified for different push buttons size or number of buttons.

The texture and pattern on the button cover can be modified to fit the button functions. Here I made three patterns: circular, lines, and square. The circular can be set for select/click action. The lines can be defined as menu or right-click menu. The square can be set as start/home button. The texture also helps people with visual impairments to easily recognize the buttons.

3D printing and Assembly

The chassis parts are printed in the 3D printer.

I used the 220 and 600 grid for smoothing the surface.

The components are put in place and soldered together. I taped the wires in place and double-side taped the battery and the charging PCB.

I put sponge strip on the back of the button covers.

Then put everything together.

BOSI with iOS and Mac

The iOS and Mac already have the Accessibility functions for switch interface called Switch Control. Here are the videos show how to set up. There are more switch accessible apps here ( However, from my quick test, most default apps can be operated with the switch interface.

Here is how I set up for the iOS on my iPad. The circle button was set as the tapping action. The lines button was set as selection menu and the square button was set as the home button on the iPad.

The switch interface on the Mac is more flexible. The user can make their own on-screen button sets for frequent used functions.

More information can be found at

Here I tried the BOSI on the new Sierra. It works just fine.

BOSI with Android

The Android provides switch interface. More information can be found here at

I tried the BOSI on the Android tablet - Nexus 7. The lines button was set to initiate the auto-scan and the circles button was to select.

BOSI with Windows

ACAT is one of a open-sourced scanning input software.

BOSI on a wheelchair

Here shows the BOSI on a power wheelchair armrest. Since it...

Read more »

BOSI - ButtonLine.STL

BOSI button cover with linear patterns.

Standard Tesselated Geometry - 1.19 MB - 09/22/2016 at 20:50


BOSI 1 - ButtonHome.STL

BOSI button cover with a square home icon.

Standard Tesselated Geometry - 801.45 kB - 09/22/2016 at 20:50


BOSI - ButtonCircle.STL

BOSI button cover with circular patterns.

Standard Tesselated Geometry - 957.99 kB - 09/22/2016 at 20:50


BOSI - Chassis1.STL

BOSI chassis part 1 - two-button version

Standard Tesselated Geometry - 286.21 kB - 09/22/2016 at 20:50


BOSI - Chassis2.STL

BOSI chassis part 2 - two-button version

Standard Tesselated Geometry - 216.00 kB - 09/22/2016 at 20:50


View all 10 files

  • BOSI with Android

    Joshua Chung09/30/2016 at 12:39 0 comments

    The Android provides switch interface. More information can be found here at There is a great guide at

    I tried the BOSI on the Android tablet - Nexus 7. The lines button was set to initiate the auto-scan and the circles button was to select.

  • BOSI on the iOS and Mac

    Joshua Chung09/23/2016 at 20:24 0 comments


    These two instructional videos demonstrated detailed steps of how to set up the iOS to use the switch interface.

    After having connected to the Adafruit Bluefruit EZ-Key from the iOS settings, here shows how I set the button actions. The button with circles was set as the tapping action. The button with lines is set as selection menu and the square is the home button on the iPad. The one-button version with the square button cover was connected to the two-button version through the 3.5mm jack.

    More switch accessible apps can be found at

    Mac OS

    Similarly, the Mac OS, Yosemite, can be also set to use the switch interface in the System Preferences/Accessbility. Here is a video shows how a wheelchair user managed to do incredible work on the Mac. There are a lot of settings and tips that the user can set customized on-screen buttons and frequent used functions to fit user's needs.

    For more detail of switch control on Mac OS, the Apple support has the most updated information ( I recently upgraded to the Sierra and the BOSI seems working fine with it.

  • Put Together

    Joshua Chung09/23/2016 at 16:26 0 comments

    After cleaned up the 3D printing parts and received the online ordered components, it came to the time of putting everything together to see how things fit or not.

    The Bluefruit EZ-Key is really tight-fit to the frame. I have to trim a little to be able to push it in. The charger I got is different than the CAD model I found on the GrabCAD Adafruit parts library. So I just removed the backside and double-side taped the charger to the chassis.

    The push button and the 3.5mm jack fit really well. Not much modification had done here.

    After following the schematic and soldering components together, I realized the Lipo batter I got was too big. So I changed to a thinner battery. I used clear tape to stabilize the wires.

    On the back of the button cover, I put some foam from the Home Depot.

    When everything is put in place, it's time to charge the battery and try it out.

  • Make of BOSI

    Joshua Chung09/23/2016 at 14:46 0 comments

    The CAD files were converted to the STL file format and printed out in the 3D printer. The STL files are also in the files in this project.

    After waiting for hours of 3D printing, the next is to smooth the surface.

    Finally, all parts are done. I used grid 220 initially and 600 for the final.

    Now it's ready to put everything together.

  • CAD Design

    Joshua Chung09/21/2016 at 19:26 0 comments

    I use the Solidworks CAD software to make the switch interface design. There are two different versions: one button and two buttons. The CAD file is also available on the GrabCAD and Onshape for anyone interested in making modification.

    Since I use the Lipo battery with a charger for the first prototype. I make a hole on the side for the USB-mini charging connector. I put two 3.5mm jack on the other side for additional switches that have the universal 3.5mm plug, such as sip-and-puff, chin-switch, infra red switch, or EMG switch.

    I made different textures for the button cover to facilitate the memorization of key functions. In addition, it also helps people with vision impairments to quickly recognize the keys. For example, the linear patterns can indicate menu and the circular button can represent click or selection. The square on the one-button version can be the home/start button. The button covers are interchangeable based on the button functions.

  • System and Schematic Design

    Joshua Chung09/21/2016 at 15:53 0 comments

    The system looks like a regular Bluetooth device. The BOSI connects to the computer or mobile devices through Bluetooth to control the scanning, switching, or selecting actions.

    Each user is different in muscular functionalities and strength. This electronic design is flexible for up to 12 keys. However, in most cases, one or two keys are enough for using default apps. If using two keys, one key can be set as selection, the other one can be a home/start button or right-click menu.

    The schematic is made from the Firtzing, an open-sourced electronics design software.

    It includes the following main components:

    1. Adafruit Bluefruit EZ-Key (Adafruit - $19.95). It is also sold on the Amazon, Mouser, or ebay.
    2. A battery either Lipo (150mAh - $5.95), 9V (clip - $3.00) or AAA (holder with on/off switch - $1.95).
    3. One or two switches. I found some old switches from an old machine. It does not have to be exactly the same as I used here. It can be any kind of push button switch. The buttons I found are NKK Switches LP0115CCKW01A (

    These components are optional:

    1. Charger if using a Lipo battery (mini charger - $6.95).
    2. A power switch to turn off power while not using it.
    3. 3.5mm phone jack for additional switches or existing single switches. I include here to show there are plenty of room for adding more switches to the system. I got these phone jack from the radioshack for $4.49. But it is just $0.50 on the sparkfun.

    The total costs only $20-30, which is much cheaper than the switches on the market ($180-300).

View all 6 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

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