MouthMotion Access System

by owencgrove in Circuits > Arduino

12 Views, 0 Favorites, 0 Comments

MouthMotion Access System

Screenshot 2025-12-11 at 2.19.28 PM.png
Screenshot 2025-12-15 at 8.43.25 AM.png

The Combin Access System is a DIY assistive controller designed to let users operate a computer using only head movements and breath input. By combining a sip-and-puff switch, a joystick, an IR head-tracking sensor, and a LED feedback light—all connected to an Arduino Leonardo—this device gives people with limited mobility a flexible way to move the mouse, click, and navigate online. Our goal was to build a low-cost, customizable alternative to commercial accessibility devices while keeping it simple enough for anyone to assemble.


Supplies

Download and Print STL Files Below

Download all the STL links below and print.

Code

Open google doc linked below and copy and past code into softwear

https://docs.google.com/document/d/1az1IuscVenfK9mILhm9y0Kdn7xrqouu0CD7Hr1y9m30/edit?usp=sharing

Wiring

Screenshot 2025-12-15 at 9.05.23 AM.png
Screenshot 2025-12-15 at 9.05.16 AM.png

Assemble the PCB by soldering 7 total pins to the board. You will need three 5V pins and four ground pins. To prevent short circuits, place the pins a few rows apart. Once positioned, solder the back of the board so that all pins in each row are connected. In our system, this method is used not only for 5V but for all shared connections, allowing multiple components to draw power or signals from a single Arduino pin. One pin from each row is then connected to the appropriate pin on the Arduino Leonardo, which helps save space and keeps the wiring clean and organized.

Button

FHT4OLKMIRSCES2.png

Place Velcro on the bottom of the joystick. Follow these steps to wire the joystick. From the picture, you can see the different labels of each pin on the joystick.

🎮 Joystick → Arduino Leonardo

  1. VRx → A0
  2. VRy → A1
  3. SW → Pin 2
  4. + → 5V
  5. – → GND




Sip and Puff

FJMRKK0MIRSCF7L.png

To set up the SIP and PUFF, it does not matter which pin is used for the ground or the digital pin on the SIP and PUFF.

💨 Sip-and-Puff / Pressure Switch → Arduino Leonardo

  1. Switch signal → Pin 13
  2. Other switch leg → GND


IR Sensor

Screenshot 2025-12-15 at 9.18.34 AM.png

Print Frame 2 stl file. Place the IR sensor into the printout and follow these wiring:

  1. OUT → Pin 3
  2. VCC → 5V
  3. GND → GND



LED

Screenshot 2025-12-15 at 9.22.34 AM.png

Attach the female part of the jumper cables to both legs of the LED. Hot glue them together, then wrap with the electrical tape. Follow these wiring instructions:

💡 LED → Arduino Leonardo

  1. Long leg (anode) → Pin 13
  2. Short leg (cathode) → GND through a 220Ω resistor

⚠️ The LED will NOT work if:

  1. The legs are reversed
  2. The resistor is missing
  3. The LED burned out
  4. D5 is not wired to the resistor


Set Up

Screenshot 2025-12-16 at 10.37.26 AM.png
Screenshot 2025-12-16 at 10.36.51 AM.png
Screenshot 2025-12-16 at 10.37.15 AM.png
Screenshot 2025-12-16 at 10.37.08 AM.png
Screenshot 2025-12-16 at 10.37.04 AM.png
Screenshot 2025-12-16 at 10.37.20 AM.png
  1. Place Arduino into the base (Quadstick 4 stl file), it should fit tightly.
  2. Place Sip and Puff into the holder (2 part of Quadstick 4), line up pins to fit through cut out on the base, and hot glue hold to base.
  3. Thread the IR sensor through the base and add Velcro.
  4. Place the PCB board in the frame (frame stl), then wire and hot-glue on top of the base.
  5. Place Quadstick 5 on top and thread the joystick wires and LED wire through.
  6. Place the final print on top of the Quadstick 5.
  7. Velcro the joystick onto the center of the Quadstick 5
  8. Attacht sip andpuff + button attachment to the joystick. should be able to push right on.
  9. fit LED head into place.
  10. If desirable, use the Sauldering iron to heat up the tripod attachment and melt into the bottom of the angled stand.