Breath Lamp

This lamp breathes with its user to invite a meditative experiences through visual biofeedback. A pressure sensor detects inhales and exhales, and an air compressor fills and empties a balloon. Like lungs, the balloon inflates with inhales and deflates with exhales as LEDs cycle between red and purple.

Biofeedback devices typically display intangible data on screens. This lamp however visualizes lungs and calms users by inviting deep breaths for healthier mind and body. Breath training has been shown to reduce blood pressure, insomnia, pain, stress, etc and is an effective therapy for patients with hypertension. Future iterations of this lamp would guide user through breath training by filling one balloon with a prescribed breath pattern and another to mirror the user’s lungs.

The Design Process

I made many prototypes during the build process. Let’s learn from each iteration:

BrEath BelT

Current Belt Gif Mid Res.gif

pressure sensing (final belt)

I followed push_reset’s intructable for making a flex sensor, which consists of Velostat, a material that changes resistance under pressure, sandwiched between 2 pieces of conductive fabric. Resistance (and voltage) drops when an inhaling belly presses against the sensor.

Smaller Pressure Sensor GIF.gif

Alternate Pressure sensing

The “final belt” described above had a narrow sensitivity range of ~1V. I made Plusea’s belt in hopes of increasing sensitivity to 3V. This design differs from the “final belt” in that it uses conductive thread, rather than fabric, with velostat sandwiched between 5 small “contacts”. The signal was noisier, however, and not useful for detecting small resistance changes.

Stretch Sensor Gif Mid Res.gif

Tension sensing

Inspired by Erin_gee, I used a conductive rubber that changes resistance when stretched. Unfortunately measurements were inaccurate due to the rubber “remembering” its shape, resulting in high hysteresis.

light sensing

For fun, I tested my circuit’s built-in light sensor to detect “distance”. The sensor was sandwiched between my belly and the belt. When I inhaled, the light sensor moved closer to the belt and reflected as “brighter”. This worked surprisingly well but was very awkward to wear.

Lamp Motion

I initially experimented with using mechanical motion to push against an orange balloon, which expanded when partially constricted

Pump Tripod GIF Mid Red.gif

Pneumatics (Final design)

The current design (inspired by Adafruit) uses a small DC motor to compress air so it fills a party balloon. It releases air through a valve. The setup is simple, but the motor is loud.

180 Twist Gif Low Res.gif

180˚ Twist

I initially wanted to use a high-torque, high-accuracy servo, which is limited to 180˚ of motion, so I modeled a half-turn screw. This design lacked the torque to “inflate” the balloon and the servo was loud.

Vex Twist Gif low Res.gif

More twists!

I added more twists to increase power transmission. Initially I used an off-the-shelf lead screw but motion was slow due to numerous required motor turns to move up and down. I made a custom screw with 8 twists. This had more torque than the 180˚ twist but still stalled when “inflating” the balloon. I experimented with using a continuous servo and a 3D printer’s stepper motor. Both were loud.

Scissor Jack Gif.gif

Scissor Jack

My 3D printer was broken, so I CNC cut a scissor jack. In theory a 180˚ servo would propel the jack vertically, but my design was flimsy.

Coding

Voltage description.001.jpeg

Raw Voltage Signal

The raw voltage signal follows a general sinusoidal trend in which the slope of voltage changed from positive to negative on inhale and from negative to positive on exhale.

Slope Compare Expanded GIF Mid Res.gif

Compare Slopes

Initially I compared slope every second to determine whether it was rising or falling. I later realized that voltage slope spiked at the moment of inhale/exhale. The code checks for spikes above threshold slopes and determines whether the user is inhaling or exhaling. When exhaling, LED color progresses towards red. When inhaling, LED color progresses towards purple.