CloudPad: Arduino Switch (Prototype)

by charlottepeng in Circuits > Arduino

5 Views, 0 Favorites, 0 Comments

CloudPad: Arduino Switch (Prototype)

IMG_3554.jpeg
Screenshot 2026-06-02 at 10.25.52 AM.png
Screenshot 2026-06-02 at 10.26.02 AM.png

What It Is

This prototype is an assistive technology input device designed to help users interact with a computer using multiple accessible control methods. The system uses an Arduino Leonardo, which can emulate keyboard and mouse inputs, allowing physical actions to be translated into computer commands.

The prototype includes:

  1. A sip-and-puff module that detects air pressure changes through a tube.
  2. A joystick for directional control.
  3. Microswitches and buttons for additional inputs.
  4. An IR sensor and LED indicators for feedback and activation.
  5. A 3D-printed enclosure and adjustable gooseneck mount for positioning.
  6. An Arduino Leonardo and PCB board (breadboard in the pictures) for prototyping and testing.

How to Use It

  1. Connect the Arduino Leonardo to a computer using a USB cable.
  2. Position the sip-and-puff tube so it can be comfortably reached.
  3. Adjust the gooseneck arm to place the controller in the desired location.
  4. Use the joystick to control movement or navigation.
  5. Press the buttons or activate the switches to perform programmed actions.
  6. Sip or puff into the tube to trigger additional commands assigned in the software.
  7. The Arduino converts these inputs into keyboard or mouse actions on the computer.

Prototype vs. Final Version

This image shows the working prototype. The electronics are currently connected through a breadboard to allow easy testing, troubleshooting, and modifications. In the final version, the breadboard will be replaced with a custom soldered PCB to reduce wiring, improve reliability, and create a more compact assembly.

The goal of the final device is to provide a customizable and accessible computer interface that can be adjusted to meet different user needs, such as those who have cerebral palsy or those who have limited fine motor control.

My vision for the final design is represented by a concept image generated with ChatGPT. The image serves as an inspiration for the overall appearance, layout, and user experience of the device rather than an exact representation of the finished product.

Because the concept image was AI-generated, the completed device may differ in shape, dimensions, component placement, and manufacturing details. However, the image captures the overall vision and design goals that guided the development of the project.

Supplies

Velcro

IMG_3518.jpeg
IMG_3517.jpeg
IMG_3523.jpeg
  1. Cut the Velcro into tiny rectangular pieces. Try to keep the pieces about the same size so they fit neatly.
  2. Peel off the adhesive backing from each rectangle.
  3. Place the small Velcro pieces evenly around the outer edge of the cloud-shaped print. Make sure they are not in between the spaces
  4. Press each piece down firmly so they stick securely.
  5. Make sure the Velcro pieces do not extend into the gap between the two cloud pieces. Leave enough empty space so the top and bottom halves can close together properly.
  6. Keep the Velcro attached only along the outer edge of the print.

PCB Board Soldering & Wiring

IMG_3441.jpeg
IMG_3443.jpeg
IMG_3442.jpeg
IMG_3444.jpeg
IMG_3445.jpeg
IMG_3447.jpeg
FullSizeRender.jpeg
IMG_3452.jpeg
IMG_3499.jpeg
  1. Gather your PCB board, jumper wires, soldering iron, and solder. Preferably male-male wires.
  2. Decide where each jumper wire needs to connect on the PCB before soldering. Planning the layout first helps avoid crossed or tangled wires later. This is entirely your choice!
  3. To ensure that no short circuits will occur, place each grouo a few rows away from each other.
  4. Stick each jumper cable wire into the holes and bend them. Insert each jumper wire into its matching hole on the PCB.
  5. Flip the PCB upside down while keeping the wires in place. Soldering from the underside makes it easier to group wires together without filling up excess holes with solder.
  6. The amount of solder that I used is shown in the second picture. I used a large drop of solder to smear it across the protruding wire ends.
  7. Allow the solder to cool without moving the wire.
  8. Repeat the process for each jumper wire connection on the PCB board.
  9. If you want, you can organize your wires by lightly taping them together and labeling each wire group's function.
  10. One pin from each row will be connected to the desired pin on the Aruduino to power all of them.
  11. See all pictures for steps.

*Warning: It will take about a few seconds for the solder to cool down. Be careful when handling the soldering iron!

Note: The pictures show me using a breadboard instead of a PCB board. This is just a prototype; for the final product we'll be using a PCB.

Build the Sip-and-Puff Chamber

IMG_3524.jpeg
IMG_3525.jpeg


  1. Insert the flexible tubing through the side opening of the 3D-printed housing.
  2. Position the pressure sensor inside the chamber so the tubing connects securely to the sensor port.
  3. Cut and hot glue about 4-5 pieces of foam board on top of the sip/puff pressure sensor.

Install the Electronics

IMG_3506.jpeg
IMG_3507.jpeg
IMG_3508.jpeg
  1. Place the button, microswitch, and LEDs into their designated locations inside the cloud housing.
  2. The hole for the button may be too small for it, so use a soldering iron to slowly melt away small amounts of plastic until the opening is large enough for the button to fit.
  3. Periodically test-fit the button to avoid removing too much material.
  4. Check that each component fits properly before securing it with glue.
  5. Apply hot glue around the base of each component to prevent movement.
  6. Hold the parts in position until the glue cools.

Assemble Wires to Switches

IMG_3526.jpeg
IMG_3528.jpeg
IMG_3527.jpeg
IMG_3529.jpeg

Step: Mount the Sensors and Switches

  1. Position the IR sensor and microswitches inside the cloud housing. Put sip/puff inside the
  2. Secure each component with hot glue.
  3. Route all jumper wires toward the center opening.


IR Sensor

  1. VCC → 5V
  2. GND → GND
  3. OUT → Arduino digital input pin (for example D2, D3, D4, etc.)


Button

  1. One terminal → GND
  2. Other terminal → Arduino digital input pin


LED

  1. Anode (+, longer leg) → Arduino output pin through a resistor
  2. Cathode (-, shorter leg) → GND


Joystick Module

  1. VCC → 5V
  2. GND → GND
  3. VRX → Arduino analog input
  4. VRY → Arduino analog input
  5. SW → Arduino digital input
  6. Glue it on top of the foam board pieces. Make sure the wires go through the hole.


Microswitch

  1. Solder male-male jumper cable wires onto the first and third leg of the microswitch. Don't solder a wire onto the middle leg.
  2. Connect one to PCB Board GND Row
  3. Connect one to Arduino digital input pin


Sip/Puff

  1. It does not matter which pin is used for the ground or the digital pin.
  2. Pin 1 of the sensor → Arduino D2
  3. Pin 2 of the sensor →PCB Board GND Row


Arduino to Breadboard

  1. 5V → Breadboard positive rail
  2. GND → Breadboard negative rail

Code

Copy and paste code inside this document:

https://docs.google.com/document/d/1yQfp-BvQ56VhWP6DhXHIRP-sUHPc55vC4g9eV4Rb3pM/edit?usp=sharing

Prepare the Flexible Neck

IMG_3500.jpeg
IMG_3555.jpeg


  1. Obtain a flexible gooseneck lamp and remove any attached hardware or mounting screws.
  2. Disassemble the lamp as needed to isolate the flexible neck section.
  3. Remove the original screw fitting from the end of the neck.
  4. The flexible neck will be used as the adjustable support for the prototype, allowing the sip-and-puff assembly to be positioned comfortably for the user.

Test

IMG_3554.jpeg

This video demonstrates the current prototype in action and shows how the device is intended to be used. While the final design may differ in appearance, the video highlights the key features and functionality of the system.