Game controllers using Sip / Puff sensors to emulate gamepads.
Current status: prototype is 90% complete!
remaining items before I release: 3d printed case, eta middle of june.
This is a sip/puff device for gaming. It is in active development and features are still being added. Please contact me directly, or go to the discord if you would like to discuss the current state or features.

Current features: updated (Jun 3)
I have a whole web interface with the following features already implemented but not fully tested for bugs
- 6 sip/puff sensors for 12 total inputs
- 2 capacitive touch sensors – not low pressure, ZERO PRESSURE.
- physical joystick
- 8 slots for game profiles
- change console so button mapping labels are easier (ex: generic = button13, Xbox = D-UP, etc)
- slider for adjusting sensitivity on sip or puff
- each sip/puff or touch sensor can be standard, repeating (with speed adjustment), or latch
- each sip/puff or touch sensor can be mapped to a button. multiples can be the same button (so you could have A, and A repeating, etc)
- each sip/puff can be mapped to an analog (thumbstick direction or trigger)
- Each sip/puff or touch sensor can be a combo (example: up+A)
- can recalibrate at any point, if your sip/puff sensors get out of whack
- external screen to display status of each sensor (activation status of each sensor, button mode, which gaming profile)
features on my short list to implement
- bluetooth connection


This is the current prototype. It doesn’t look like much but oh boy is it awesome. Its almost done too!
PARTS:
- 6x pressure sensors – https://amzn.to/4woCKOl
- 1x esp32 s3 – https://amzn.to/4qk517o
- 1x esp proto board – https://amzn.to/4ggfoEI
- 1x thumbstick – https://amzn.to/4qljyzJ
- 1x round display screen (gc9a01) – https://amzn.to/4hu9q5j
- silicone tubing, 3mm – https://amzn.to/4wYoc8w
- m3 socket head cap screws – https://amzn.to/4gMSaX2
- m2 self tapping screws – https://amzn.to/46yo84n
Code – OLD VERSION, NEEDS UPDATE
- raw arduino code – download the code
- bin file (for web loading using web.esphome.io ) – download the bin and unzip it before uploading to esphome