In spring 2019, as part of my Intro to Physical Computing course, I built an intelligent accessory that would tell me when to turn on my humidifier because the air was too dry.

The air gets really dry in Pittsburgh in the winter, especially when the radiators kick on.


My 11+ Bottle Humidifier.

Over the next few weeks, I sketched, soldered, 3d printed, and assembled a working prototype.

Some early notes and a quick phone sketch.

I wanted to design the accessory with my humidifier in mind, so I decided it would be a base for it.

I used a ring of LEDs to send a gentle glow into the humidifier’s water reservoir, communicating the accessory’s status and ambient humidity.

The DHT22 sensor (the white block in the lower left corner of the breadboard) connected to an Arduino Uno.

The NeoPixel LED ring plugged into the breadboard.
Wiring diagram.

Once I had a working prototype – humidity readings coming from the sensor, successful input via a rotary encoder, and various LED states – I miniaturized my breadboard circuit so everything would fit in a compact enclosure.

I replaced the Arduino Uno with a Nano, which is much more compact, and soldered everything together.


This was the hardest part. It took many false starts and rounds of testing to get everything to work.

I wanted to use the circular nature of the base to inform the interaction, so I made the top surface a spinning input dial. The LED ring and a piezoelectric buzzer provide audiovisual feedback.

Spinning the top dial sets a threshold humidity, expressed as a fraction of the whole LED ring.

A pulsing blue pattern indicates that it’s currently drier than the set threshold.

When the humidity in a room reaches a set threshold, the LEDs turn green.

Copyright © 2025 Ian Shei. All rights reserved.