An Arduino USB Breath Controller using cheap as components. Surprisingly intuitive to use :)
Ingredients:
- 1x Arduino Pro Micro
- 1x BME280 Pressure Sensor
- 1x 20ml Syringe as a pressure container for the sensor
- Some thin Tubing + Mouth piece to blow into. I used another smaller syringe for that
- Some VST have an expression control to map the controller to. If not, maybe just map it to the instrument's volume or filter cutoff frequency.
- Wind instruments and Strings work really well!
- Air escape hole location and sizes can vary. Currently the air hole in my prototype has been drilled into the bottom area of the mouth piece (about 3mm size), not the pressure container. That seems to work quite well.
- Further tweaking the Oversampling and Filter settings for the sensor could reduce latency even more. It is very responsive already though.
- Tubing diameter and pressure container design could be experimented with.
- The pressure container volume can easily be changed with the syringe plunger with changes the responsiveness and required blowing force.
- The pressure to CC conversion curve function can easily be edited to adapt to preference. At the moment its a simple linear scaling function.
- The sensor pressure baseline can be reset by restarting the device.
- Video with Sound Sorry, I am neither a woodwind, nor a piano player 😝
- Datasheet for the BME280. The BMP280 is cheaper and should work just as well.
- Commercially available USB Breath controller for comparison from Tecontrol (Quite pricey!)
It doesn't look too attractive, but works well 🤷