{"id":21893723,"url":"https://github.com/asterics/flipmouse","last_synced_at":"2025-03-22T03:45:17.438Z","repository":{"id":2281524,"uuid":"38304647","full_name":"asterics/FLipMouse","owner":"asterics","description":"The repository for FLipMouse (Finger and LipMouse)","archived":false,"fork":false,"pushed_at":"2024-04-11T12:41:19.000Z","size":380366,"stargazers_count":37,"open_issues_count":9,"forks_count":8,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-02-03T02:54:05.179Z","etag":null,"topics":["accessibility","assistive-technology","asterics-main","keyboard-emulation","lip-mouse","mouse-emulation","mouth-mouse"],"latest_commit_sha":null,"homepage":"https://www.asterics-foundation.org/projects/flipmouse","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-30T11:10:24.000Z","updated_at":"2024-12-17T22:21:50.000Z","dependencies_parsed_at":"2023-10-02T08:35:51.824Z","dependency_job_id":"b6fb7ea1-384b-4726-87f3-2099bfe39e29","html_url":"https://github.com/asterics/FLipMouse","commit_stats":null,"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asterics%2FFLipMouse","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asterics%2FFLipMouse/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asterics%2FFLipMouse/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asterics%2FFLipMouse/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/asterics","download_url":"https://codeload.github.com/asterics/FLipMouse/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","lip-mouse","mouse-emulation","mouth-mouse"],"created_at":"2024-11-28T13:16:23.764Z","updated_at":"2025-03-22T03:45:17.407Z","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":"# FLipMouse\n\nThe FLipMouse (a.k.a. Finger- and Lipmouse) is a replacement for a normal PC mouse / keyboard / joystick. \nInstead of moving the mouse device with your hand and clicking with your fingers, the FlipMouse can be controlled by applying very low forces to the mouthpiece (joystick) with your lips, fingers or other body parts.\nThe clicking functionality can be accomplished by sip- and puff-activities into the mouthpiece or via external switches.\nAll settings and functions of the FlipMouse can be tailored to specific user capabilities or needs. Multiple settings can be stored into the device and changed via desired user actions.\nAdditional features like built-in environmental control via infrared, optional bluetooth-add-on module for controlling smartphones/tablets or complete software-based control of all functions via serial command interface make the FlipMouse one of the most flexible alternative input devices available today.\n\n![FlipMouse with package and mouthpiece](./img/FLIPMOUSE_001.jpg)\n\nThe FlipMouse might be used as a full replacement of standard computer input devices and can also be used for accessing smartphones or tablets (via the standard HID support or accessibility features).\nIt can be useful for people with motor disablities, computer gamers, musicians or people who want a hands-free computer access for other purposes.\n\nOur goal is to provide an affordable DIY-solution for everybody who wants to use a PC or smartphone with non-standard interaction methods.\n\n**Please note:** There are different versions of the FLipmouse hardware and software! This Github repository refers to the current Version 3. \nIf you are looking for Version 2, use this repository: [FLipmouse V2](https://github.com/asterics/FLipMouse-v2).\n\n\n\n# The DIY construction kit\n\nThe official FlipMouse DIY kit is available for purchase via https://asterics-foundation.org. \nWe provide a [Construction Manual](https://github.com/asterics/FLipMouse/blob/master/ConstructionKit/ConstructionManual.pdf) which shows how to assemble the kit. In case you want to buy the components from other sources, a full part list is available in folder [Hardware](https://github.com/asterics/FLipMouse/tree/master/Hardware).\nThe design files for the enclosure can be found in folder [Hardware/case-design](https://github.com/asterics/FLipMouse/tree/master/Hardware/case-design).\nThe PCB designs (schematic and layout) have been made with KiCad and are available in folder [Hardware/PCB-design](https://github.com/asterics/FLipMouse/tree/master/Hardware/PCB-design)\n\n\n\n# Hardware and Features\n\nThe FLipMouse uses an [Arduino Nano RP2040 Connect](https://docs.arduino.cc/hardware/nano-rp2040-connect) microcontroller (ARM CortexM0+ architecture) as main module. Movements of the mouthpiece are measured via Strain Gauges (DMS), which detect small forces applied to the mouthpiece / joystick.\nThe sip/puff actions are detected by a pressure sensor. Via two 3.5mm jack plugs, external momentary switches can be connected. From all these user inputs, desired actions can be assigned via the [FlipMouse WebGUI](https://flipmouse.asterics.eu), for example mouse/keyboard or joystick actions via USB HID.\nVia bluetooth, BT-enabled devices can be paired and mouse/keyboard functions can be used wirelessly.\nFurthermore, an IR-receiver module and a IR-LED allow recording and replay of arbitrary infrared remote control commands. \n\n\n\n# Software\n\nThe FLipMouse firmware is based on the Arduino framework. The firmware implements a composite USB HID device (mouse, keyboard, joystick and a serial port in one device).\nThe mouse and keyboard device classes are used to transmit different keys or mouse actions to the host device. The serial port is used configure the FLipMouse (or even use it as a mouse simulator via AT commands).\nMultiple configuration settings can be saved (stored in an EEPROM module) and changed via desired user actions.\nFor more information about (modifying) the FLipMouse firmware see https://github.com/asterics/FLipMouse/wiki/dev-firmware\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## Configuration Manager\n\nAll settings of the FLipMouse can be changed via the [FlipMouse Configuration manager](https://flipmouse.asterics.eu)  \nUsing the configuration manager in the __Chrome/Edge__ web browser, you can assign different actions to all hardware inputs of the FLipMouse (mouthpiece, sip and puff, external buttons,...).\nThe Configuration manager can also be used to update the firmware of the FlipMouse and the optional Bluetooth module.\n\nMore Information can be found in the user manual: \n[user manual (english version)](https://github.com/asterics/FLipMouse/blob/master/Documentation/UserManual/Markdown/FLipMouseUserManual.md), \n[user manual (german version)](https://github.com/asterics/FLipMouse/blob/master/Documentation/UserManual/Markdown/FLipMouseAnwendungsanleitung.md).\n\n\n## Building the firmware\nIn order to build the firmware following prerequisites and dependencies must be installed:\n* the [Arduino IDE](https://www.arduino.cc/en/software) (v1.8.16 or above)\n* the [arduino-pico](https://github.com/earlephilhower/arduino-pico) Core (v3.0.0, can be installed using Arduino IDE's Arduino board-manager)\n* the [Adafruit Neopixel](https://github.com/adafruit/Adafruit_NeoPixel) library (v1.11.0, can be installed using Arduino IDE's library manager)\n* the [NAU7802-DualChannel](https://github.com/benjaminaigner/NAU7802-DualChannel) library (dual channel patch by Beni Aigner)\n* the [LoadcellSensor](https://github.com/ChrisVeigl/LoadcellSensor) library for sensor signal processing (by Chris Veigl)\n* the [SSD1306Ascii](https://github.com/greiman/SSD1306Ascii) library by Bill Greiman (v1.3.5, can be installed using Arduino IDE's library manager)\n* select the *board* 'Arduino Nano RP2040 Connect' in the Arduino IDE tools menu, and the *Flash Size* \"16MB (Sketch: 15MB, FS: 1MB)\"\n* select the correct *Port* after connecting the Arduino to your system\n* compile and upload the firmware \n\n\n\n# Cleaning and Safety\n\n**IMPORTANT:** If the mouthpiece is exposed to saliva, please clean/replace the mouthpiece (or its filter) on a regular basis, see [Safety Instructions](https://github.com/asterics/FLipMouse/blob/master/Documentation/Cleaning_instructions.pdf)\n\n\n\n![FlipMouse](./img/FLIPMOUSE_002.jpg)\n\n\n\n# Links and Credits\n\nMost of the work for the FLipMouse 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\n\nHave a look at the [AsTeRICS Foundation homepage](https://www.asterics-foundation.org) and our other Open Source AT projects:\n\n* AsTeRICS: [AsTeRICS framework homepage](http://www.asterics.eu), [AsTeRICS framework GitHub](https://github.com/asterics/AsTeRICS): The AsTeRICS framework provides a much higher flexibility for building assistive solutions. \nThe FLipMouse is also AsTeRICS compatible, so it is possible to use the raw input data for a different assistive solution.\n\n* FABI: [FABI: Flexible Assistive Button Interface GitHub](https://github.com/asterics/FABI): The Flexible Assistive Button Interface (FABI) provides basically the same control methods (mouse, clicking, keyboard,...), but the input\nis limited to simple buttons. Therefore, this interface is at a very low price (if you buy the Arduino Pro Micro from China, it can be under 5$).\n\n* FLipPad: [The FLipPad controller](https://github.com/asterics/FLipMouse): a flexible touchpad for controlling computers and mobile devices with minimal muscle movement.\n\n* AsTeRICS Grid: [Asterics Grid AAC Web-App](https://grid.asterics.eu): an open source, cross plattform communicator / talker for Augmented and Alternative Communication (AAC).\n\n\n\n# Support us\nPlease support the development of FLipMouse 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","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasterics%2Fflipmouse","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fasterics%2Fflipmouse","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasterics%2Fflipmouse/lists"}