Open Source Assistive Devices and Possibly Inspirational Stories.
Open-source sip-and-puff switch
One build, many purposes — configurable via a plain text file.
A breath-controlled switch interface built as an input for the T-Rex Talker AAC devices. Working alpha/beta in hand — already used to operate the T-Rex Talker V3. Open hardware, open firmware, reconfigurable without reflashing.
A working sip-and-puff switch, born as an interface to the T-Rex Talker, designed to be useful far beyond it.
The Sip-and-Puff Rubber Chicken Edition is a functional, low-cost ($25–$50) breath-controlled switch that started life as an input for the T-Rex Talker AAC devices and grew into a general-purpose assistive interface. The "rubber chicken" name comes from how we demo it at maker events — an engaging way to introduce normally-abled visitors to the technology — but the device itself is a serious accessibility tool with a real working prototype in hand.
It's been used to operate the T-Rex Talker V3 directly. The build is open hardware, the firmware is open source, and the configuration model is the key design choice that sets it apart.
One build, many purposes — reconfigured by editing a text file.
Most open-source sip-and-puff devices are purpose-built for a single output: a USB mouse, a keyboard emulator, or a specific AT protocol. Changing what the device does means reflashing firmware or editing code.
This project takes a different approach: a single hardware build and a single firmware image that will reconfigure for completely different tasks by editing a plain text configuration file — no compiler, no IDE, no programmer required. A clinician, caregiver, or technically capable user opens the config file (accessible as a USB drive when the device is plugged in) and changes everything from key mappings to sensitivity thresholds to operating mode.
Working today:
Planned — same hardware, no reflashing:
Working alpha/beta — built, breathing, talking to the T-Rex Talker.
Off-the-shelf parts, intentional choices.
Cheap (~$4), dual-core Cortex-M0+, more than enough headroom for the signal conditioning, classification, USB HID, and on-screen HUD that the firmware needs to do at once. CircuitPython firmware so the config file works the way it does.
STMicro 24-bit digital sensor over I²C. Water-resistant package (tolerates condensation), 0.32 Pa noise floor, factory calibrated. PCB also supports the through-hole MPX5010DP for hand-built early prototypes that don’t want SMD reflow.
Optocoupler-isolated TRRS jacks for the XAC; USB HID for keyboard, mouse, joystick, and consumer-control output. STEMMA QT expansion for future add-ons (IMU, displays).
Unpopulated PCB footprints for a 1″ SSD1306 OLED on I²C and a 2–4″ color SPI LCD — built-in hardware support, no board redesign needed if you want a HUD or a rubber chicken animation later.
Comparable commercial AT devices: $175–$325+.
| Build | Cost (single unit) | What it gets you |
|---|---|---|
| Base build | ~$21–$45 | Functional sip/puff device with XAC output and ESD protection |
| + through-hole pressure sensor option | +~$3–$5 | MPX5010DP, hand-solderable, no SMD tools required |
| + display | +~$5–$15 | SSD1306 OLED or color LCD via the unpopulated footprints |
| + BNO055 IMU (future head-tracking) | +~$30–$35 | Head-tracked mouse cursor and/or tongue-joystick mode |
| Full build with IMU + display | ~$56–$95 | Still well below comparable commercial AT devices |
Post-Maker-Faire roadmap.
Add head-movement cursor control using a Bosch BNO055 IMU on STEMMA QT. The sensor's on-board fusion gives clean Euler angles directly — no Kalman or Madgwick to implement — and its built-in magnetometer eliminates the yaw drift that affects 6-axis-only sensors during prolonged use.
Two mounting modes, same hardware:
Switching modes is a config-file change. No reflashing. No PCB revision. The STEMMA QT port for the IMU is already on the board.
For a medically-certified build, the architectural direction is a second LPS28DFWTR pressure sensor that cross-checks the primary one, plus a dedicated safety MCU acting as a hardware watchdog. That's the IEC 62304 / FDA Class II path. Not in the current prototype scope, but documented so the future build doesn't have to start from scratch.
Everything is open: hardware files, firmware, BOM, build instructions. Pull requests welcome.