{"id":21893691,"url":"https://github.com/asterics/fabi","last_synced_at":"2026-01-05T03:43:13.448Z","repository":{"id":34378005,"uuid":"38304037","full_name":"asterics/FABI","owner":"asterics","description":"The repository for FABI (Flexible Assistive Button Interface)","archived":false,"fork":false,"pushed_at":"2025-02-02T18:22:57.000Z","size":280665,"stargazers_count":16,"open_issues_count":15,"forks_count":11,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-02-03T02:52:49.936Z","etag":null,"topics":["accessibility","assistive-technology","asterics-main","keyboard-emulation","mouse-emulation","switch-control"],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/asterics.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-06-30T10:55:10.000Z","updated_at":"2024-05-13T20:27:49.000Z","dependencies_parsed_at":"2023-01-15T06:45:37.898Z","dependency_job_id":"f68c7648-6e24-4749-9cf2-40c721e4b586","html_url":"https://github.com/asterics/FABI","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asterics%2FFABI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asterics%2FFABI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asterics%2FFABI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asterics%2FFABI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/asterics","download_url":"https://codeload.github.com/asterics/FABI/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244902918,"owners_count":20529114,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["accessibility","assistive-technology","asterics-main","keyboard-emulation","mouse-emulation","switch-control"],"created_at":"2024-11-28T13:16:11.115Z","updated_at":"2026-01-05T03:43:13.435Z","avatar_url":"https://github.com/asterics.png","language":"HTML","funding_links":["https://www.paypal.com/donate/?hosted_button_id=38AJJNS427MJ2","https://opencollective.com/asterics-foundation"],"categories":[],"sub_categories":[],"readme":"# Welcome to FABI\n\nThe FABI (Flexible Assistive Button Interface) allows control of a computer’s mouse cursor or\nkeyboard by just using momentary switches. This can be helpful for people who want to create \nuser interactions with the press of a button - and it allows people who can't use standard computer input devices\nto play games, surf the internet, communicate and much more.\n\n![A FABI box with attached 3d-printed switch](https://github.com/asterics/FABI/blob/master/img/FABI4.png \"FABI box with attached switch\")\n\n\n## How?\n\nThe FABI Interface can be actuated via dedicated buttons, momentary switches or self-made\nelectrical contacts. Additionally, a sip-puff sensor can be used to create user input.\nFABI consists of a hardware module (a low-cost microcontroller which behaves\nas a computer mouse and/or keyboard) and a config manager software for configuration of\nthe desired functions. The FABI system can be attached to computers, tablets or smart phones via USB.\nAdditionally, a bluetooth-module is available for devices that do not have a USB port (some Android or iOS phones).\n\n## Folder structure of this repository\nEssential information can be found in the following folders\n* _Case Designs:_ different 3d-printable / lasercut designs for enclosures\n* _Documentation:_ all user and construction manuals\n* _img:_ some images of FABI variants\n* _hardware:_ the KiCad design files and models for schematics and PCB layout\n* _Settings:_ demo configurations which can be loaded into the FABI device via the GUI\n\nThe source of the current web based config manager can be found in another repository: [source of web based config manager](https://github.com/asterics/Addon-Bluetooth-WebGUI/tree/main/webgui)\n\n## Configuration Manager and User manual\n\nThe FABI system does not ony offer fixed mappings of buttons to functions - it allows storing multiple configuration settings and changing them \"on-the-fly\". For configuration the [web-based config manager](https://fabi.asterics.eu/) should be used.\nYou can find information how to configure the individual button functions and system options in the user manual:\n\n* [English user manual for configuration manager](https://github.com/asterics/FABI/blob/master/Documentation/UserManual/Markdown/Fabi%20User%20Manual.md) \n* [German user manual for configuration manager](https://github.com/asterics/FABI/blob/master/Documentation/UserManual/Markdown/Fabi%20Anwendungsanleitung.md)\n\n\n## Building the hardware\n\nThere are various options for building FABI-compatible switch interfaces: you can order parts and build our construction kit, or make a completely self-driven version.\nThe most affordable version consists of just a microcontroller and attached momentary switches (material cost: a few bucks ...). The construction kit offers a PCB, LC-Display, \nNeopixel color led for indication of active configuration and optional modules (pressure sensor for sip/puff use, Bluetooth module for wireless access to phones/tablets etc.)\nFollowing documentation is available for these different approaches:\n* **Construction kit / PCB Version**: for building the FABI PCB Version from the construction kit.\\\nSee [Construction kit building guide](https://github.com/asterics/FABI/blob/master/Documentation/ConstructionManual/PCB-Version/FABIManual.pdf)\n* **DIY Building Guide - \"intermediate\"**: guide for creating a FABI device with a bare microcontroller and the provided 3d-printed enclosures.\\\nSee [English version of construction manual](https://github.com/asterics/FABI/blob/master/Documentation/ConstructionManual/3D-printedBox/en/FABI_ConstructionManual.pdf) \nor [German version of construction manual](https://github.com/asterics/FABI/blob/master/Documentation/ConstructionManual/3D-printedBox/de/FABI_Bauanleitung.pdf)\n* **DIY Building Guide - \"all-selfmade\"**: guide for creating a FABI device with a bare microcontroller and without the provided 3d-printed enclosures.\\\nSee [DIY Building Guide](https://github.com/asterics/FABI/blob/master/Documentation/ConstructionManual/SelfmadeBox/FABI_Construction_SelfmadeBox.pdf)\n\n## Building and Installing the Firmware\n\nThe FABI system consists of a firmware part which runs on a Raspberry Pi Pico microcontroller.\nSince Version v3.7, the firmware development for the FABI (and our other alternative input devices) happens in a dedicated repository, see [FabiWare](https://github.com/asterics/FabiWare).\nAll firmware versions until v2.8 can be found in this repository by browsing the release section or by using the desired tags.\nFor information about the older firmware for the Arduino Pro Micro microcontroller, and the optional [Bluetooth Module](https://github.com/asterics/esp32_mouse_keyboard) which was used in the legacy hardware version, see https://github.com/asterics/FABI/wiki\nPlease __note__ the COM-Port installation instructions for older Windows systems (Win7/8) [here](https://github.com/raspberrypi/pico-feedback/issues/118).\n\n\n![FABI PCB version, equipped with Bluetooth Module](https://github.com/asterics/FABI/blob/master/img/pcb_open.JPG \"FABI PCB version with equipped bluetooth module\")\n\n\n## Example setups and applications\n\n![An opened FABI box, where you can see the Teensy microcontroller board and the 6 jackplugs](https://github.com/asterics/FABI/blob/master/img/7.jpg \"FABI box with jackplugs\")\n![A wooden piece with 6 buttons, arranged between, left and right of your hands. Enabling faster working with shortcuts on each button](https://github.com/asterics/FABI/blob/master/img/2.jpg \"RapidCoding prototype, powered by FABI\")\n![A FABI box, where 3 different external buttons are connected](https://github.com/asterics/FABI/blob/master/img/8.jpg \"FABI box with external buttons\")\n\n\n# Links and Credits\n\nMost of the work for FABI has been accomplished at the UAS Technikum Wien in course of the R\u0026D-projects *ToRaDes* (MA23 project 18-04) and *WBT* (MA23 project 26-02), which have been supported by the [City of Vienna](https://www.wien.gv.at/kontakte/ma23/index.html),\nsee: [ToRaDes Project Information](https://embsys.technikum-wien.at/projects/torades/index.php), [Webpage WBT project](https://wbt.wien).\n\nHave a look at the [AsTeRICS Foundation homepage](https://www.asterics-foundation.org) for applications and our other Open Source projects:\n\n* [The FLipMouse controller](https://github.com/asterics/FLipMouse) - an open source alternative input device for controlling computers and mobile devices with minimal muscle movement.\n* [The FLipPad controller](https://github.com/asterics/FLipMouse) - a flexible touchpad for controlling computers and mobile devices with minimal muscle movement.\n* [Asterics Grid Open Source AAC](https://grid.asterics.eu) - an open source, cross plattform communicator / talker for Augmented and Alternative Communication (AAC).\n* [The AsTeRICS framework](https://github.com/asterics/AsTeRICS) - provides high flexibility for building Assistive Technology solutions. \n\n\n# Support us\nPlease support the development of Open Source Assistive Technology projects by donating to the AsTeRICS Foundation:\n\n\u003cdiv\u003e\n\u003ca title=\"Donate with PayPal\" href=\"https://www.paypal.com/donate/?hosted_button_id=38AJJNS427MJ2\" target=\"_blank\" style=\"margin-right:3em\"\u003e\n\u003cimg src=\"https://github.com/asterics/AsTeRICS-Grid/raw/master/app/img/donate-paypal.png\" width=300/\u003e\u003c/a\u003e\n\u003cspan\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u003c/span\u003e\n\u003ca title=\"Donate at opencollective.com\" href=\"https://opencollective.com/asterics-foundation\" target=\"_blank\"\u003e\n\u003cimg src=\"https://github.com/asterics/AsTeRICS-Grid/raw/master/app/img/donate-open-collective.png\" width=300/\u003e\u003c/a\u003e\n\u003c/div\u003e\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasterics%2Ffabi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fasterics%2Ffabi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasterics%2Ffabi/lists"}