Friday, June 19, 2026

The Evolution of My Hot Water System - Part 1

Hot water isn't usually thought of as a problem in the rural Arizona desert, but to my household, it actually is. During the summer, we get lukewarm water out of the tap running around 80° - 90° because the ground heats up to that temperature. The water right out of the well runs cooler, but it sits in a tank and travels through a PVC pipe to the house. One would think that just heating it up to the standard 130° - 140°F would be cheap. Not true.

Incessantly rising power company charges and the energy it takes to raise the temperature of water 50 degrees make for a noticeable expense. Then let's compound that with "Peak Demand Billing" and an uncontrolled water heater can really tack on the charges. In fact, this exact thing is what got me started in Home Automation. I was surprised by a huge power bill and wanted to understand why; then after hours of research, trying to find a way to prevent it became a large part of my free time. This blog is filled with my various methods of control. 

Specific to the water heater, first I had a solar-assisted water heater installed. That was wonderful and did a lot for my power consumption. Suppose on a normal clear day of our usual 100+° sunshine, I only get one tank of hot water from the solar system. Going from 85°F up to 135°F in an 80 gallon tank is actually 667 lbs x 50°F = 33,360 BTUs. Using one of the internet calculators to convert to kWh, 33,360 / 3,412 = 9.78 kWh using only sunshine and a few watts from the circulation pump. That leads to around $1.20 to $1.50 a day savings. Taking that on an average monthly bill, I'm saving about $36; in a year that's over $430!! 

I'm saving money that I don't have to give to the power company's lawyers so they can lobby for higher rates with the local regulators.

Unfortunately, that doesn't address the peak billing problem. Back then the peak period was from 3 PM until 8 PM, and that period held some of the largest uses of hot water, like the evening meal (supper to some, dinner to others), dishes, and after-work showers, normal stuff. That led me to installing a power shutoff timer to keep the helper heating element in the hot water heater shut off during that period. 



I added stops in the timer to control the heater from 10 PM to 6 AM also since I didn't need hot water during those times. Everything was great until the power went off (happened often back then) and the timer was off. Those mechanical devices, while extremely reliable, had nothing to keep the time correct. When I got a power bill for an extra $40 in demand charges because I forgot to reset the timer clock, I started looking for another solution. That initial solution (this was in 2011) was an X10 relay and a timer clock in the house that had a battery in it. That failed me as well <link>, and another $40 down the drain... literally. 

It was time to create something that actually worked. Grabbing an Arduino and ordering an SSR from China, I built my own controller that had the time from an XBee network that I already had running and controlled the SSR that interrupted the power to the water heater. Note that I tried a contactor first, but those things are noisy unless you spend tons of money on them <link>. SSR devices cost a lot less and are easier to control. That little device <link> actually worked really well for a long time until I decided to measure the power usage of the heater. This ability to measure the power usage was mostly just me investigating because, at the time, I really didn't need to know the water heater used 4500 watts; that was written right on the label. What I wanted to know was how often it kicked on and why.

My SSR Water Heater Controller

That meant another device and a bunch of changes. I built up a pretty sophisticated combination of an Arduino hooked to an XBee that read power from a Modbus-based power measuring and display device <link>. This transmitted the state of the water heater and the temperature of the top vs. the bottom of the heater. I was really cooking now. I had temperature measurements, power measurements, remote control, and it wouldn't fail because the time changed. It looked cool on the wall over the water heater and was great for showing off to the neighbors <link>.

Oddly, it didn't impress the girls though

Man, I was right up there with a fully controlled water heater that provided wireless telemetering and autonomously controlled activity to avoid peak demand charges. A home automation dream, BUT there was still that problem of not enough hot water on cloudy days. What should I do about that?

The answer was right in front of me for years. The solar-assisted water heater had a circulation pump that pumped antifreeze-conditioned water from the heating coils at the bottom of the heater to the array on the roof. That's how they avoid damage from freezing weather: isolate the potable water with a radiator in the water heater and send it through the heating array on the roof. Suppose I put another one in that pumps the water from the bottom of the water heater to the top. I have water fittings on both ends, one is the exit for hot water to the house (top) and the other is the drain at the bottom. That would force mixing the water to equalize the temperature, and the helper element would take up any slack to give me the entire volume of the heater as a reserve. With an 80 gallon capacity, that would serve any reasonable purpose during cloudy days. However, this wouldn't be a simple task; one inch plumbing fittings are a real pain to deal with, and sweat joints are NOT as easy as the YouTube videos pretend.

But this series of adventures is getting too long, and I know you're approaching TL;DR, so in part 2 I'll get into the trials of a destratification pump.

No comments:

Post a Comment