Sip and Puff (SNP) devices are one example of Assistive Technology that allow one to interact with things by applying negative or positive pressure to a straw or tube in their mouth. This is done by either sipping on the tube, like a straw, or puffing into it, like when you blow bubbles in your milk until your parental unit (or partner) makes you stop.

Sip and Puff devices have been around for a while. They have helped many people who aren't able to use things like keyboards, mice or other input devices that were designed to be used with hands. There are a number of commercial options, however a newer trend is towards people and groups developing open source designs. These can be made with off the shelf and 3D printed parts by gathering the materials, assembling them, and programming them with open source software.

There are many open source sip and puff devices around A well-known example is LipSync which was developed by Makers Making Change, and released by the Neil Squire Society with support from Lots of technical detail can be found on the project's GitHub page. The LipSync also integrates a joystick and mount for attaching to wheelchairs, and works as an input device to allow people operate a touchscreen device.

Here, we show how with the right sensors, microcontrollers, and software, it can be relatively easy to make a very basic but expandable Sip and Puff device. It is a fun, easy project that you can use to learn a bit more about them and how they might be used.

If STEMMA QT sensors/cables are used, no soldering is required for this project - it's completely plug and play!

The heart of this project is a STMicroelectronics (ST) LPS33HW MEMS pressure sensor mounted to an Adafruit breakout board with built in STEMMA QT connectors and support circuitry. Importantly the LPS33HW has a metal port on top like a hat and a groove for fitting an o-ring. With 24-bit pressure data output, an absolute pressure range of 260-1260 hPa ( hectopascals ), and the ability to work in absolute or relative modes, this sensor is the perfect tool for the job.

The brains of the operation is a ST STM32F405 based express Feather running CircuitPython. The STM32F405 is a fast chip with plenty of memory so it's great for CircuitPython use, and the STEMMA QT connector on the end makes this a plug-n-play project

Many thanks are due to Bill Binko of for his work making Assistive Technology more widely accessible, and for taking the time to educate me on Sip and Puffs and Assistive Technology in general. Bill has his own CircuitPython powered Sip and Puff, the AirTalker, developed with his friend Jim to meet his needs. It even includes Morse Code detection!

Bill Binko (L) and Jim Lubin (R) Photo Courtesy of Bill Binko

Parts and Materials

To follow along and make your own ST LPS33HW powered Sip and Puff, you'll need the items below. Additionally if you are inspired to take it further, check out the bits on the Extending the Capabilities page for more ideas.

1 x Adafruit Feather STM32F405 Express
The STM32 Feather that powers the project. Includes a SparkFun QWIIC/ Stemma QT socket
1 x Adafruit LPS33HW Water Resistant Pressure Sensor - STEMMA QT
The ST pressure sensor with integrated port to attach the tubing
1 x Monochrome 1.3" 128x64 OLED graphic display - STEMMA QT / Qwiic
Small OLED Display with STEMMA QT Connectors
2 x STEMMA QT / Qwiic JST SH 4-pin Cable - 100mm Long
STEMMA QT Cables to connect the Feather, Sensor and OLED screen
1 x Silicone Tubing - 1 Meter
Food Safe Silicone Tubing - The ultimate silly straw!
1 x Small cable ties
Small plastic cable ties to keep the tubing attached to the sensor

Pick a Cable

The Feather STM32F405 Express requires a USB C cable which you may not have. Pick the one below that fits your computer. Most PCs will have USB Type A. Macs made in the last few years will likely have a USB C port which is also referred to as Thunderbolt.

If you're not sure, take a look at the pictures for each cable and compare them to the ports on your computer before ordering

1 x USB C to USB C Cable
A USB C Cable for the Feather STM32F405 for computers with USB C / Thunderbolt ports
1 x USB Type A to Type C Cable - approx 1 meter
A USB C Cable for the Feather STM32F405 for computers with traditional USB Type A ports

Optional Tool: Flush Cutters

1 x Flush Diagonal Cutters
A very useful tool you'll use all the time. It'll come in handy to cut cable ties and tubing if needed

Optional Fasteners:

The guide shows using these nylon screws, nuts, and standoffs to hold the boards together. Pick these up if you want to take that approach, or find a different M2.5 fastener if you wish to take a different approach.

Available in Black or White

1 x Black Nylon Screw and Stand-off Set – M2.5 Thread
A set of black M2.5 nylon screws, standoffs and nuts.
1 x White Nylon Screw and Stand-off Set – M2.5 Thread
A set of white M2.5 nylon screws, standoffs and nuts.
This guide was first published on Feb 17, 2020. It was last updated on Feb 17, 2020. This page (Overview) was last updated on Mar 29, 2020.