Backstory: After I found that my city has an online water monitor app, I started obsessing over getting my usage down. This summer, I found a bug in the sprinkler controller program that was double watering in the early morning so I never saw evidence of a problem.
While watching the usage trends, I discovered that one toilet intermittently ran. It took me a while to find out which toilet was the culprit. I could not find out what was wrong with it because by the time I noticed the high usage it had corrected itself. The high usage was usually overnight and I looked at the usage report in the AM.
So then I did what any self-respecting maker would do… solve the problem with as much technology as possible.
First I had to rationalize an overkill approach versus just replacing the toilet’s guts. I have been looking for projects to hone my PCB design skills and this felt like a rational justification.
Specs:
An adjustable fill timer: 30 sec to 2 min
Battery operation
A local audible & visual alarm
Alarm integration with my Yolink home automation, announce a running toilet
Auto reset if running condition is corrected
Simple to install
I did not use SMD because I have lots of unused through-hole parts
I did not use a microprocessor because I thought this was a simple 555 solution.
Not to dampen your expectations but the other option is that it’s not sensing the flush action as expected.
Without a uCPU not sure how you are getting signals to your home automation unless you are running wires across the house for a direct connection method. I think I would have used and ESP32 and put a reed switch into a plastic tube clipped to the side of the tank closed the float and put a small magnet on the float.
But if it eventually does sense a slow leak water refill cycle you would win the award for clearing out the most parts from a parts drawer award.
The float does use a reed switch.
I hacked the reed switch in the Yolink door switch (see photo) with a contact closure from the timer, so there is a processor involved.
yes, I was talking about the float already in the toilet tank and the one which controls the fill valve. I see now what that Yolink thing/module is and that it’s like a remote switch. Cool, no programming needed.
That is just like debugging software, so often… “Yay I can reproduce this bug. Now let me do that in the debugger to understand what’s happening… Wait why won’t this reproduce any more?”