If you spend time around a busy toilet, you know how frustrating it can be to get up to use the restroom and find it occupied. Maybe you work in a busy office with too few restrooms or live in a crowded home. In either case, it would be nice to have a way to easily check to see if the toilet is occupied before you get up to go. Once again, technology has your back. Thornhill! has a guide explaining how they built Lou, a bathroom occupancy indicator.
Lou looks like a tiny toilet in a little dollhouse bathroom. When the restroom is vacant, a green light glows from beneath the toilet lid. If the restroom becomes occupied, the toilet lid will open up to reveal a stop sign lit with red light. If you don’t care for this particular aesthetic, it is easy enough to just setup a basic indicator light. To avoid false positives or negatives, the toilet occupancy detection is performed by both a magnetic door switch and a light sensor. So the bathroom door has to be closed and the light has to be on in order to register as currently occupied.
The indicator portion of the project was made with an ESP32 board, a servo motor to lift the toilet lid, and an RGB LED for the status light. The small model toilet was 3D-printed, and then surrounding bathroom was made with cardboard, cardstock, and other crafting materials. In the real, human-sized restroom, an Adafruit ItsyBitsy M0 Express development board monitors the sensors. An Airlift Bitsy ESP32 add-on board provides wireless connectivity. The occupancy status is updated through the Adafruit IO service, which has provisions for all kinds of IoT applications like this. Thornhill! is currently locked-down in a home with only a single bathroom for five adults, so Lou the toilet indicator is about as useful a project as we’ve ever seen.