This project was created to enable a person with limited hand function, such as person with quadraplegia, to operate a radio frequency (RF) remote control drone. The project is based on a LipSync Wireless, an open-source, mouth operated joystick. The user moves the joystick with their lips and mouth and uses sips and puffs of air on the joystick to interact with the drone remote control.
This GitHub repository will serve as a database for all files and documentation associated with the Liploft project.
This project is a work in progress.
Table of contents generated with markdown-toc
Liploft requires the following components:
- A drone
- The drone's remote control, modified to connect with the LipLoft interface.
- A Lipsync Wireless with LipLoft firmware.
The Liploft interface is comprised of a microcontroller, a Bluetooth module, and 4 digital potentiometers. The drone's remote controls is modified by removing the two physical joysticks and connecting the digital potetiometers to create virtual, software controllable joysticks. The Liploft acts as a Bluetooth master, connecting to the LipSync Wireless which acts as a Bluetooth slave. Physical movement of and and sips and puffs through the mouthpiece are digitized, transmitted to the Liploft interface and converted into virtual joystick signals.
| Resource | Version | Format | Link |
|---|---|---|---|
| Liploft All | Beta 8 | ZIP | LipLoft-master.zip |
| Liploft Manual | Version 1.0 | LipLoft_User_Manual.pdf | |
| Liploft BOM (XLSX) | XLSX | Liploft_BOM.xlsx | |
| Liploft BOM (CSV) | CSV | Liploft_BOM.csv | |
| Lipsync Liploft Firmware | 1.1 | INO | LipSync_Liploft_Firmware.ino |
| Liploft Interface Firmware | 1.9 | INO | Liploft_Interface_Firmware.ino |
| Lipsync Manual Bluetooth Config | INO | Lipsync_Bluetooth_Config.ino | |
| Interface Manual Bluetooth Config | INO | Interface_Bluetooth_Config.ino | |
| Liploft Fritzing Board Layout | Beta 8 | BRD | Liploft_Breadboard.fzz |
| Liploft Interface Board Schematic | Beta 8 | SCH | Liploft_Schematics.sch |
| Liploft Housing_design | V5 | X3G,STL | Don_Encl_v5_ABS_L.x3g |
| Liploft_Top.STL | |||
| Liploft_Bottom.STL | |||
| Lipsync Housing_design | 2.2d | STL | LipSync_Button.STL |
| LipSync_Front_Housing.STL | |||
| LipSync_Joystick_Base.STL | |||
| LipSync_Joystick_Front.STL | |||
| LipSync_Joystick_Rocker.STL | |||
| LipSync_Joystick_Stand.STL | |||
| LipSync_Rear_Housing.STL | |||
| Print_Settings.txt |
- Obtain a Lipsync Wireless. There are several options for getting a Lipsync Wireless:
- Build your own. All the necessary files, software, and assembly guides are available in the Lipsync Wireless GitHub repository.
- Submit a build request through the Makers Making Change website. MMC will attempt to pair you with a local volunteer maker to help build and program one. You'll be responsible for covering the cost of materials and shipping. Depending on your location, there may also be pre-built donated units available at little or no cost.
- Order a built LipSync from the Makers Making Change website.
- It may be helpful to modify the rear housing of the LipSync Wireless so the LED on the Bluetooth module is visible.
The remote control interface requires some permanent modifications to the drone's remote control and the addition of several hardware components.
- Setup the circuit in breadboard according to the following diagram:
-
Setup the Bluetooth circuit in breadboard according to the following diagram:
- Bluetooth module RTS pin to Bluetooth module CTS
- Bluetooth module RX pin to Arduino TX pin
- Bluetooth module TX pin to Arduino RX pin
- Bluetooth module VCC pin to Arduino 5V pin
- Bluetooth module GND pin to Arduino GND pin
-
Setup the rest of circuit in breadboard according to the following diagram:
- MCP4261 IC1 pin 1 to Arduino pin 10
- MCP4261 IC2 pin 1 to Arduino pin 9
- MCP4261 IC3 pin 1 to Arduino pin 8
- MCP4261 IC4 pin 1 to Arduino pin 7
- Led pin to Arduino pin 5
- MCP4261 IC1,IC2,IC3,IC4 pin 2 to Arduino pin SCK
- MCP4261 IC1,IC2,IC3,IC4 pin 3 to Arduino pin MOSI
- MCP4261 IC1,IC2,IC3,IC4 pin 4 to Arduino pin GND
- MCP4261 IC1,IC2,IC3,IC4 pin 5 to Arduino pin GND
- MCP4261 IC1,IC2,IC3,IC4 pin 6 to channels of transmiter (potemtiometer) and same MCP4261 pin 7
- MCP4261 IC1,IC2,IC3,IC4 pin 7 to 5.6K resistor and Arduino pin 5V in pullup configuration
- MCP4261 IC1,IC2,IC3,IC4 pin 8 to Arduino pin 5V
- Setup the circuit for controller connection according to the following example:
The Lipsync Wireless and Liploft interface require firmware.
- Download the necessary files from the LipLoft GitHub repository.
- Visit LipLoft GitHub repository at https://github.com/makersmakingchange/LipLoft
- Click on “Clone or download” button” in green.
- Click on “Download Zip” to download the necessary file.
- Extract “LipLoft-master.zip” to the directory of your choice.
- Download and install MCP4261 Arduino library
- Visit MCP4261 library GitHub repository at https://github.com/dreamcat4/Mcp4261
- Click on “Clone or download” button” in green.
- Click on “Download Zip” to download the necessary file.
- Extract “Mcp4261-master.zip” to the directory of your choice.
- Rename “Mcp4261-master.zip” to “Mcp4261.zip”
- Open Arduino IDE
- Click on Sketch > Include Library > Add .zip Library
- Select “Mcp4261.zip”
- Upload Lipsync firmware
- Connect the Lipsync Wireless to the computer using the USB cable.
- Verify and upload "LipSync_Liploft_Firmware.ino" to the Lipsync Wireless unit using Arduino IDE
- Upload Liploft firmware
- Connect the Liploft interface to the computer using a USB cable.
- Verify and upload "Liploft_Interface_Firmware.ino" to the Liploft interface unit using Arduino IDE
- Connect power to the LipSync Wireless by plugging in the USB cable to a power pack or other power source.
- Wait for 5 seconds. (You need to power the LipSync (Slave Bluetooth module) 5 seconds before the LipLoft unit (Master Bluetooth module) if you are connecting the LipSync to LipLoft for the first time.)
- Connect power to the LipLoft unit. The red LED on Bluetooth modules should start blinking faster and the green led on both Bluetooth modules should stay on to indicate connection is established between Lipsync and Liploft.
If the connection is not established, you can use code to manually configure the Bluetooth modules. The Bluetooth module in the Lipsync Wirelss can be reconfigured using "Lipsync_Bluetooth_Config.ino" code and the Bluetooth module in the Liploft interface unit can be reconfigured using "Interface_Bluetooth_Config.ino" code. You will need to upload both codes at the same time. The green led on both Bluetooth modules will stay on once the connection is established.
- Arm the drone by puffing and sipping once (the LED on the Liploft Interface will turn on to indicate it is armed.)
- sip/puff controls the throttle
- LipSync joystick controls pitch and roll
- Gyro calibration is automated
Makers Making Change is a program of Neil Squire, a Canadian non-profit that uses technology, knowledge, and passion to empower people with disabilities.
Makers Making Change leverages the capacity of community based Makers, Disability Professionals and Volunteers to develop and deliver affordable Open Source Assistive Technologies.
- Website: www.MakersMakingChange.com
- GitHub: makersmakingchange
- Bluesky: @makersmakingchange.bsky.social
- Instagram: @makersmakingchange
- Facebook: makersmakechange
- LinkedIn: Neil Squire Society
- Thingiverse: makersmakingchange
- Printables: MakersMakingChange
For technical questions, to get involved, or to share your experience we encourage you to visit our website or contact us.


