FAIO - Feather All-in-One Switch

What if you could have a universal switch interface that could support different types of switches all-in-one device?

Similar projects worth following
Adaptive switches are the key components for many of those with physical disabilities to communicate and access computers.There are many types of switches available which are used by the users based on their abilities.These switches use a switch interface to communicate with the host device and the available switch interfaces don't support all types of switches.This means the users may need to purchase additional switch interfaces depending on their switch and host device which is costly and requires additional setup.

The goal of this project is to develop an affordable all-in-one switch interface that supports many different types of switches such as Sip-and-Puff, Adaptive Switches, Braille and offers an interface for developers to create their own modular input switches through Grove system.

FAIO switch is using a Adafruit Feather board in its heart to process the switch actions and translate them to understandable commands via HID Keyboard profile that are sent to host device through USB or Bluetooth 4.0.

Adafruit Feather is a low power device ( 3.3 V ) and offers a connector for any of types 3.7V Lithium polymer batteries which makes FAIO a portable switch interface.

FAIO comes with an on-board Sip-and-Puff switch device which is based on prototype “sip and puff” interface project that Jason Webb posted on his blog.I am using the same gauge-type pressure transducer he suggested but FAIO is operating as a low power device which means the amplified resulting signal should naturally float around 1.6V.

The interface offers two 3.5mm Audio Jack inputs which is used to connect up to two adaptive switch buttons.There are three additional Grove Connectors which can be used to add additional adaptive switch buttons through Grove to 3.5mm Stereo Jack Adapter module.

FAIO offers three Grove Connectors which can be used to attach additional Grove modules such as Touch Sensor or Button module  to make them work as input switches.This could be a great opportunity for developers to make new types of switches.The three Grove Connectors can also be used to attach braille keyboard switch module which is a board with six tactile switch buttons.


FAIO Instructions Manual

Adobe Portable Document Format - 4.39 MB - 10/12/2017 at 06:10


  • 6 × SWITCH TACTILE SPST-NO 0.05A 12V Manufacturer Part Number: MJTP1230
  • 1 × GROVE 2MM 4PIN R/A CONN 10PACK Manufacturer Part Number: 110990037
  • 1 × CONN FEMALE 4POS .100" R/A GOLD Manufacturer Part Number: PPPC041LGBN-RC
  • 2 × CONN JACK MONO 3.5MM R/A Manufacturer Part Number: MJ-3536N
  • 1 × CONN HEADER FMALE 12POS .1" GOLD Manufacturer Part Number: PPPC121LFBN-RC

View all 16 components

  • FAIO Main switch housing

    Milad10/21/2017 at 04:42 0 comments

    I have an exciting news regarding FAIO Switch and it's housing. So I talked with an expert in 3D printing and mechanical design (CharlesG) and he agreed to help me out with the housing design and 3D printing.

    We talked and decided it would be the best to have separate housing for main interface and the braille module in order to make it as modular as possible.The main housing and braille housing will be slide-in and attached together through the sliding space at the bottom of FAIO main housing.

    There will be a minor change in the instruction manual as the hex standoffs are no longer needed with the new housing design.

    The other exciting news is that the housing of FAIO Main switch interface is already designed and printed! Yes! You heard me right!

    Well,I present to you the FAIO Main housing in this log if can't wait to see the complete version.

    Below is the image of FAIO Main switch interface and it's housing.

    And this is bottom view of FAIO housing which shows where the battery holder is assembled.

    And this is how it looks like with battery holder.

    And this is the fully assembled FAIO main switch interface with my github link on it :)

    Well,This is it for this update but there will be more exciting update in next log update so stay tuned!

  • Complete version

    Milad10/16/2017 at 06:19 0 comments

    The complete version of FAIO Switch interface includes the Sip-and-Puff and the braille module.I used M2.5 HEX Standoffs and M2.5 screws to put the two boards together.

    The following picture is FAIO Switch in development mode which is connected to an EMG Sensor module.

  • Enclosure design for 3D Printing

    Milad10/14/2017 at 05:51 0 comments

    It's time to move on to Enclosure design.I have not done any 3D design in last 5 years so it will take a while to design and print 3D printed enclosure. The good news is that I was able to draw a 2D design of the enclosure using Fusion 360 with my limited time as you can see in following image.

    I am hoping that I can finish the enclosure in coming weeks.

  • Firmware is available in github

    Milad10/12/2017 at 06:08 0 comments

    The firmware (FAIO_Firmware) can be downloaded from the GitHub repository under software directory.

    The firmware includes three files:

    • BluefruitConfig.h
    • BluefruitRoutines.h
    • FAIO_Firmware.ino

    Note: Make sure all three files are included in your local copy of FAIO_Firmware directory before uploading it to the Adafruit Feather 32u4 Bluefruit LE board.

    The downloaded firmware can be uploaded to the Adafruit Feather 32u4 Bluefruit LE board in FAIO Switch using Arduino IDE which you can download from Arduino official website.

    There is a great instructions manual on how to use Arduino IDE and Adafruit Feather 32u4 Bluefruit LE board which can help you get started using Arduino IDE and install necessary Adafruit drivers.

    FAIO Switch is using nRF51 Bluetooth chip to communicate with host devices. Bluetooth communication might seem complicated but Adafruit has made the bluetooth communication process less challenging by providing Adafruit nRF51 BLE Library which you can download from Adafruit and import it to your locally installed Arduino directory under libraries directory.

    The instructions on how to install Adafruit nRF51 BLE Library can be found in following link:

    You can go ahead and upload the downloaded firmware (FAIO_Firmware.ino) to Adafruit Feather 32u4 Bluefruit LE board using Arduino IDE once all the necessary libraries are installed.

    It’s very important to make sure the correct Board and port number are selected as selecting the wrong board may result problems with bootloader of Adafruit Feather 32u4 Bluefruit LE board.

    Here you can see an example of my selected Board and port number.

    Note: Your port number won’t be the same

    You can now go ahead and upload the firmware. Arduino IDE will show you a “Don uploading” message indicating the firmware is uploaded to your FAIO Switch.

    The LED on the FAIO main board blinks two times in red and green to indicate the start of initialization process has been started and it will blink again two times in red and green to indicate end of the initialization process.

    You can also open the Serial Monitor in Arduino IDE ON 9600 baud rate to read initialization information.

  • Sip-And-Puff Version

    Milad09/30/2017 at 05:25 0 comments

    FAIO Switch has the necessary components to become a Sip-And-Puff switch when a MPX12GP GAUGE Pressure Sensor is added to the FAIO main board. FAIO Switch is developed with idea of creating a modular device so you can add or remove the Sip-And-Puff module based on your needs.

    FAIO firmware is developed in way to detect if the pressure sensor is installed during the initialization process.The firmware calculates the sip and puff pressure thresholds during initialization process and use those thresholds to detect sip and puff switch activation.

    I will explain the firmware in next post.

    P.S : The PCB eagle file designs and instructions manual are now available in FAIO Github repository .

  • FAIO Switch ( Adaptive Switch mode )

    Milad09/29/2017 at 08:16 0 comments

    I finally got a chance to put together very first FAIO board and start writing the firmware for it to operate in Adaptive Switch mode.

    In this mode the FAIO Switch will act as a basic switch interface with two 3.5mm Audio jacks that can be used to connect up to two Adaptive Switches and can be used to operate/navigate a smartphone or computer through switch control option in iOS or Android. An adaptive switch button can be connected to one of the 3.5mm Audio jacks to act as a selected switch button and another one to other 3.5mm Audio jack in order to move to the next item when it's setup as a switch.

    I picked up an Adafruit Feather 32u4 Bluefruit LE board for this project.You will need to solder header pins to it before being able to use it.

    Once the necessary components are soldered to the main board then you can go a head and stack the Adafruit Feather 32u4 Bluefruit LE board on the FAIO board.

    The instruction manual will become available soon but until then you can see how it would lookalike.

    Coming up: Software details and information about Sip-And-Puff mode as well as Braille mode

  • PCBs Arrived

    Milad09/20/2017 at 04:37 0 comments

    I received the PCBs in mail last week and they look great as you can see below:

    The first board is the main board with 2 3.5mm jack connectors,3 Grove connectors,and pressure sensor for Sip-and-Puff switch.

    The second board is the braille module which will be connected to main board through 3 Grove connectors.

View all 7 project logs

View all instructions

Enjoy this project?



seilerjacinda925 wrote 11/19/2019 at 14:38 point

Nice to meet you after viewing your profile i am Jacinda, from (jakarta) indonesia,

i have a project discussion with you please email me on: (

  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