Hot water tank sensor


Hi all,
Disclaimer: I’m a n00b

I’m sick and tired of waking up to a cold shower. This past winter I’ve had at least 4 instances but my problem is not always a fault with the hot water system. It can be power outages that trip the safety switch, blow the fuse or trip the reset switch on the system. I’m looking for a sensor solution to warn me that there’s something wrong before I find out in the shower.

I’m looking for advice on how to set something up to sense the temperature of the tank, connect to the home wifi and report to something that I can check/poll/IFTTT etc. I’m ok with programming and using cloud services (AWS, Azure or whatever) but I don’t know where to start with the sensor / arduino setup or if there’s something already built for a similar purpose.

Any advice is greatly appreciated.


Welcome, Greg.

I’ve done this. The symptoms you describe for me were all cracked heating element; which would occasionally trip the safety switch, occasionally the fuse. Electrician diagnosed it and replaced the element which fixed it for ten more years. Since then I’ve replaced house and water heater twice.

With the current cost and availability of parts; search the store for DS18B20 waterproofed sensors, because they come pre-wired with about a metre of cable ($10 to $23), and either the Sparkfun ESP8266 Thing ($19) or the Adafruit HUZZAH ESP8266 Breakout ($14). And a resistor for the pullup on the DS18B20 DQ pin.

I would use two DS18B20 sensors; one encased in insulation touching the output pipe of the heater, so that the copper will transfer heat to it, and the other measuring ambient temperature, so that you can subtract the two to estimate the heat of the water.

Powering the ESP8266 boards; lots of options, read the documentation for each.

Software; my tendency is to use NodeMCU Lua and pipe data into whatever TCP or UDP sink you like. Lots of options for that too.

I’d also be tempted to sense the power draw on the hot water system heating element or compressor somehow; I’ve done it in several ways; (a) place a 3.3V or 5V power supply in parallel with the element and either power a separate wireless node or wire it as a spare input to what you have, (b) use a current transformer over one of the conductors.

I’ve several ESP8266 plus DS18B20 assemblies around the house, and one spent time in a church measuring ambient. I’m quite used to them now. Ask any questions.


Thanks James. The plumber was out earlier in the year to swap out the element so (hopefully) that shouldn’t be the problem this time around.

I’ll check out each of the components and check back in with any questions.

Cheers for the tips