FABI - Flexible Assistive Button Interface

The FABI allows control of a computer’s mouse cursor and typing desired keyboard keys by using buttons

Similar projects worth following
The FABI is a very simple solution to provide alternative input methods to every HID capable device. It's built around a HID-enabled microcontroller (we used an Arduino compatible Pro Micro with a ATMega32U4 or a Teensy++ 2.0) and utilizes up to 9 buttons and an analog sensor for triggering mouse or keyboard actions.

The device can be configured easily via the provided GUI (Windows only by now, the GTK port is in early alpha state).

The FABI has been developed in course of the AsTeRICS Academy project at the University of Applied Sciences Technikum Wien. The project is partly funded by the City of Vienna.

The most basic setup of a FABI device consists of following parts:

  • Arduino compatible board with USB-HID support (Teensy, Pro Micro, ...)
  • Buttons (self-made, off-the-shelf parts)

With this setup, it's even possible to control an Android device via a mouse cursor.

You will find all necessary information on github and the wiki there:

  • New case - easier FABI building

    benjaminaigner08/16/2017 at 10:37 0 comments

    We used this case for quite a long time. Unfortunately, the price of ~2.5$ is (of course compared to the total cost) quite high.

    The solution was a little bit of shopping at Ali.

    I requested a quote for 50 cases, including the drilling of all holes (decreases the construction kit complexity) and: its the same price :-).

    If you drill the holes on your own, the price is half of the original case.

    It's quite easy, just write the guys at szomk (enclosure manufacturer) and you get all the necessary drawings to send them a draft of your plans.

    Let's see how the quality will be, if the cases arrive.

    If everything is fine, we will assemble a construction which will be sold at

  • Usage of FABI as an extended keyboard

    benjaminaigner08/21/2016 at 10:33 0 comments

    Maybe you know the problems of working with different keyboard shortcuts or key combinations which are often used.

    You might experienced the same problem if you are located in a German speaking country and you have to program code: Most of the brackets are located on annoying positions (e.g. { is Alt Right + 7).

    The solution is FABI!

    You can setup 6 buttons in a part of wood and configure them to support your mainly used shortcuts.

    It's possible to assign copy&paste, if/for/while combinations and also different shortcuts for other programs (e.g. Jump frames in a video editing software).

    This is the setup I use:

    Please note, that different keyboard layouts by your Host-PC are only supported by the Teensy microcontroller. The Arduinos don't provide different layouts by now.

    Some extra pictures of the build:

    I know, this is more of a dirty hack, but it's quite useful for me :-)

    If you dig a little bit deeper to the configuration software, you will find the possibility to use different key setups with so called slots.

View all 2 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