So I came up with this idea years ago, but only remembered about it the day before the hackathon. I don't have a bath at university, but when running baths at my home I always waited in my room for it to fill up, and since the taps were so slow I had to constantly check if it had finished. This device solves that problem.

What it does

Clip the device's probe over the edge of a bath, and then adjust it's depth to your ideal bath depth. When the water level touches the probe, your phone gets a text telling you to check your bath. It also beeps.

How I built it

A Teensy 3.5 microcontroller, programmed in C, reads an analogue voltage from a moisture sensor. If this analogue voltage is above a certain level, and a switch on the control panel is set to "bath running", it'll assert an output pin high, which the raspberry pi polls. When the rapsberry pi detects that the pin has changed value, it switches the "bath finished" LED on or off, accordingly. It also uses Twilio to send a text message to the user, and beeps a buzzer a few times.

Challenges I ran into

Oh, so many... First of all, I'm not able to solder wires together at the hackathon, so it was a right hassle to make sure connections didn't come loose. I also had a big issue with getting the raspberry pi working, since I had neither a monitor nor a serial communication cable to talk to it. It also refused to connect to the WiFi until I tried using a different 5v power cable (literally no clue how that fixed it). I also wanted to make the device turn off the tap water when the bath is full, using a solenoid valve. I drew up a circuit for this, but was unable to make it, since the MLH hardware lab doesn't stock relays or solenoid valves, or any plumbing supplies. Fair enough.

Accomplishments that I'm proud of

Usually my hardware projects take a long time, since I take a long time designing circuits, creating PCBs, soldering components, etc.. I'm very surprised that this worked with this limited time span, with limited components. I'm also proud of the control panel that I made for it -- the cardboard box. I think it's a really nice enclosure for the raspberry pi and teensy, and quite fancy looking for an inside-out Monster energy drink box.

What I learned

I learned a lot about interfacing between microcontrollers and raspberry pi's. I hadn't ever done this before, and it was quite an experience. Also, I haven't done any analogue electronics with micros before, and that was really fun. I want to do more like that in the future.

Interestingly, I also learned lots about Linux, even though I use it a lot. I learned a lot about network configuration for the raspberry pi.

What's next for Bath Notifier

I also drew up some product design plans for a possible future version of this device, if I was to professionally manufacture it. In addition to this, I drew a design for a mobile application, which would be able to start running the bath without even turning the tap manually, and stop it when it's full. This would mean you'd be able to run the bath when you're nearly home, and then have a nice bath ready for you.

Built With

+ 1 more
Share this project: