Skip to content

Latest commit

 

History

History
113 lines (68 loc) · 8.5 KB

README.md

File metadata and controls

113 lines (68 loc) · 8.5 KB

FLipMouse

The FLipMouse (a.k.a. Finger- and Lipmouse) is a replacement for a normal PC mouse / keyboard / joystick. Instead 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. The clicking functionality can be accomplished by sip- and puff-activities into the mouthpiece or via external switches. All 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. Additional 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.

FlipMouse with package and mouthpiece

The 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). It can be useful for people with motor disablities, computer gamers, musicians or people who want a hands-free computer access for other purposes.

Our goal is to provide an affordable DIY-solution for everybody who wants to use a PC or smartphone with non-standard interaction methods.

Please note: There are different versions of the FLipmouse hardware and software! This Github repository refers to the current Version 3. If you are looking for Version 2, use this repository: FLipmouse V2.

The DIY construction kit

The official FlipMouse DIY kit is available for purchase via https://asterics-foundation.org. We provide a Construction Manual 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. The design files for the enclosure can be found in folder Hardware/case-design. The PCB designs (schematic and layout) have been made with KiCad and are available in folder Hardware/PCB-design

Hardware and Features

The FLipMouse uses an Arduino 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. The 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, for example mouse/keyboard or joystick actions via USB HID. Via bluetooth, BT-enabled devices can be paired and mouse/keyboard functions can be used wirelessly. Furthermore, an IR-receiver module and a IR-LED allow recording and replay of arbitrary infrared remote control commands.

Software

The 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). The 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). Multiple configuration settings can be saved (stored in an EEPROM module) and changed via desired user actions. For more information about (modifying) the FLipMouse firmware see https://github.com/asterics/FLipMouse/wiki/dev-firmware Please note the COM-Port installation instructions for older Windows systems (Win7/8) here.

Configuration Manager

All settings of the FLipMouse can be changed via the FlipMouse Configuration manager
Using 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,...). The Configuration manager can also be used to update the firmware of the FlipMouse and the optional Bluetooth module.

More Information can be found in the user manual: user manual (english version), user manual (german version).

Building the firmware

In order to build the firmware following prerequisites and dependencies must be installed:

  • the Arduino IDE (v1.8.16 or above)
  • the arduino-pico Core (v3.0.0, can be installed using Arduino IDE's Arduino board-manager)
  • the Adafruit Neopixel library (v1.11.0, can be installed using Arduino IDE's library manager)
  • the NAU7802-DualChannel library (dual channel patch by Beni Aigner)
  • the LoadcellSensor library for sensor signal processing (by Chris Veigl)
  • the SSD1306Ascii library by Bill Greiman (v1.3.5, can be installed using Arduino IDE's library manager)
  • select the board 'Arduino Nano RP2040 Connect' in the Arduino IDE tools menu, and the Flash Size "16MB (Sketch: 15MB, FS: 1MB)"
  • select the correct Port after connecting the Arduino to your system
  • compile and upload the firmware

Cleaning and Safety

IMPORTANT: If the mouthpiece is exposed to saliva, please clean/replace the mouthpiece (or its filter) on a regular basis, see Safety Instructions

FlipMouse

Links and Credits

Most of the work for the FLipMouse has been accomplished at the UAS Technikum Wien in course of the R&D-projects ToRaDes (MA23 project 18-04) and WBT (MA23 project 26-02), which have been supported by the City of Vienna, see: ToRaDes Project Information, Webpage WBT project.

Have a look at the AsTeRICS Foundation homepage and our other Open Source AT projects:

  • AsTeRICS: AsTeRICS framework homepage, AsTeRICS framework GitHub: The AsTeRICS framework provides a much higher flexibility for building assistive solutions. The FLipMouse is also AsTeRICS compatible, so it is possible to use the raw input data for a different assistive solution.

  • FABI: FABI: Flexible Assistive Button Interface GitHub: The Flexible Assistive Button Interface (FABI) provides basically the same control methods (mouse, clicking, keyboard,...), but the input is 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$).

  • FLipPad: The FLipPad controller: a flexible touchpad for controlling computers and mobile devices with minimal muscle movement.

  • AsTeRICS Grid: Asterics Grid AAC Web-App: an open source, cross plattform communicator / talker for Augmented and Alternative Communication (AAC).

Support us

Please support the development of FLipMouse by donating to the AsTeRICS Foundation: