openSip+Puff aims to provide a cheap, simple, open, and modern alternative input method based on the breath of a user that can be easily mapped to a variety of common actions like mouse clicks and keypresses.
The ultimate goal of this project is to go beyond simple utilitarian functionality and provide a new modality for creative expression that is meaningful for people with or without limited mobility. For me this means musical expression and visual art applications, but you are welcome to take it in whatever direction you want!
In contrast to other DIY sip-and-puff solutions, this project aims to keep the number of parts and assembly steps to a minimum while keeping the focus entirely on the digitization of breath - nothing more, nothing less. The hope is that this device can be manufactured as a true "plug-and-play", standalone device such that the only remaining steps that users will need to complete on their own are to (1) pop the board into an enclosure, (2) attach a mouthpiece with tubing, and (3) plug in a USB cable. With the help of native USB HID functionality, this device should (theoretically) be as easy to set up as any keyboard or mouse - no special drivers needed!
In keeping the focus tight and the parts count low it is expected that this device will be possible to sell for under $100 (ideally around $60). Fewer external parts also means fewer points of failure, so the device should last a while with minimal need for maintenance.
TODO:
=====
1. Sips and puffs need to be associated with actions (keypresses, mouse clicks, MIDI notes, etc) using some
sort of persistent data structure that can be loaded from EEPROM when the device is powered on.
2. Patterns of sips and puffs should also be supported at some point. For example, one puff for left mouse
click, two puffs for right mouse click.
3. Output raw analog values as serial data over USB to be transformed into other interesting actions by custom
applications or something like Wekinator.
4. Output analog data as MIDI CC changes so the device can be used for expressive musical applications.
TODO:
=====
To make it easy for non-technical users to reconfigure the device, some sort of easy-to-use desktop application
should be built.
Once the firmware is worked out, I'd like to experiment with using Electron and modern web technologies to build
this interface.
TODO:
=====
Connecting a plain plastic tube directly the sensor is fine for prototyping, but is not hygienic for real-world
users. Some sort of easy-to-replace filter(s) should be added to capture saliva and particulates before they
reach the sensor.
I don't know much about these sorts of filters, so if you have some experience or ideas please send them to me!
When I started building this project there weren't any other viable DIY sip-and-puff interfaces out there, but in the past year so a few great projects have sprung up that are worth looking at!
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Use this project to learn, tinker and share with friends. You are completely free to build this project for individuals who need it. Small commercial runs for workshops or other educational uses are also completely cool.
The only reason that a fully-permissive open-source license is not used is to discourage, however naively, abuse through mass production and sale of this project by companies who are not as passionate about the quality and core mission of the project. If you're interested in producing and distributing this project to larger markets, please contact me and maybe we can collaborate!