A Low-Cost DIY Adaptive Quadstick
by theabonanno in Circuits > Assistive Tech
17 Views, 0 Favorites, 0 Comments
A Low-Cost DIY Adaptive Quadstick
This DIY quadstick is an adaptive technology device designed to improve accessibility and user independence. It is made for users with limited hand and arm mobility to control a computer by using their mouth to operate a joystick. The device uses infrared (IR) sensors, sip-and-puff controls, and an LED for visual feedback, allowing users to interact with a computer in multiple ways. The quadstick is fully customizable to meet individual needs and preferences, with parts made using 3D printing for an affordable and adjustable design.
Supplies
STL File
Download and print STL file below.
Downloads
Code
Download and run the Arduino Leonard code below.
Downloads
Assemble PCB
Assemble the PCB by soldering pins onto the board. You will need three 5-volt pins and five ground pins. To prevent short circuits, place the pins a few rows apart. After positioning them, solder the back of the board so that all the 5-volt pins are connected together and all the ground pins are connected together. This allows each entire row to be powered from a single Arduino pin, saving space and simplifying wiring. One pin from each row will then be connected to the appropriate pin on the Arduino to supply power to all components.
Set Up Joystick
Use the following steps to wire the joystick. If, during testing, the X and Y axes are reversed, simply swap the VRx and VRy connections on the joystick. As shown in the image, each joystick pin is clearly labeled, making correct connections easier.
Joystick Module (5 Pins):
- Joystick +5V → + rail
- Joystick GND → – rail
- Joystick VRx → A0
- Joystick VRy → A1
- Joystick SW → D2
This setup allows the joystick to control directional movement and register button presses correctly.
Set Up Sit and Puff
Set Up Sip and Puff
Use the following steps to set up the sip-and-puff switch. It does not matter which wire is connected to ground or to the digital pin on the switch. No external resistor is needed because the Arduino’s internal pull-up resistor is used.
Pneumatic Pressure / Vacuum Switch (Normally Open, Low-Voltage):
- Switch wire #1 → GND
- Switch wire #2 → D4
This configuration allows the sip-and-puff input to register correctly when pressure or vacuum is applied.
Set Up IR Sensor
Set Up IR Sensor
Use the following steps to wire the IR sensor. The sensor uses three pins for power and signal.
IR Sensor (3-Pin):
- IR VCC → + rail
- IR GND → – rail
- IR OUT → D3
This setup allows the IR sensor to send an output signal to the Arduino when it detects input, enabling it to be used as a control or input trigger.
Set Up LED
Set Up LED Indicator
Use the following steps to set up the LED light. First, solder a 220Ω resistor to the long leg (anode) of the LED, then solder the other end of the resistor to a male pin so it can plug into the Arduino. The long leg with the resistor will plug directly into Arduino pin D5. The short leg (cathode) of the LED should be connected to a ground pin on the Arduino, not to the PCB ground rail.
LED Indicator:
- LED long leg → 220Ω resistor → D5
- LED short leg → GND
This ensures the LED lights safely and correctly when activated.
- The legs are reversed
- The resistor is missing
- The LED burned out
- D5 is not wired to the resistor
Asseble
- Start by threading the IR sensor and LED through the cutouts
- Thread the power into the Arduino
- Then fit the wired Arduino into the box
- Add sip and puff and PCB to box
- Fit weird joysick in the outside compartment
- Test
- Glue on the top