photo of my Softub hottub with the cover half open

I have wanted to hack my hot tub since pretty much the day I got it. Don’t get me wrong — the thing has been absolutely wonderful and it has enhanced my life. It had one frustrating limitation, however: there was no way to control it remotely.

That was an inconvenience on the mainland. I mean, I’d have to go all the way outside to change the temperature. Sure, there are times I wanted to increase the temp say, before I headed home from work, but those times were rare. So I felt kind of whiny, but I dreamed of putting together a little Arduino controller so could have WiFi control of my precious tub. I was too busy, though: single dad eschewing child care, and chief executive officer and chief technology officer of my company. I even hoped, when my oldest was studying electrical and electronic engineering at college, that he’d decide to do a little Softub controller as a class project.

It wasn’t to be. And, frankly, it wasn’t a big issue.

Now I’m off-grid, and things are even more complicated. The stock Softub controller will turn on more-or-less randomly if the temperature drops too low or it thinks too much time has gone by since a filtering cycle. Having it go on overnight when the sun isn’t shining is a great way to deplete batteries and be stuck with cold coffee in the morning. I put a Kauf plug (an IoT remote-controlled power receptacle) on it that I can control with Home Assistant so I could prevent that middle-of-the-night activation, but it brought up another limitation. When you remove power from the Softub, it resets the temperature to 100° so when you power it back up, it will only heat to 100° then stop. That’s not quite hot enough for my tastes. Yes, I can go manually increase the temp if I’m home. But if I’m away, or forget to change it, I’ll be in a tepid tub in the evening. (It only heats up about 1½°/hour.)

I checked on the state of third-party solutions, and indeed some have come on the market. I also started to read a number of frightening tales of failures of the controller boards after 5-7 years (our tub will be 6 this year). Apparently, the only way to get a replacement is to send your broken board in to get put on a waiting list that can be over a year and spend $600 to get a new board. That’s… not acceptable. The third party systems are also kind of spendy and most require that you send your old controller in, in advance, for an exchange: slow and difficult from the island.

I’ve been thinking about it as a background project until today. Yesterday, I brought the new commodity generator online for backup. It works great: it’s quiet and reliable. Just two problems: when it turns on or off, it glitches badly and kills one of my servers and turns on several of the ceiling fan lights. A minor thing, as the server just needs a more robust power supply (I have a box full in the garage). But… the hot tub won’t run from generator power. Apparently the inrush current when the pump starts is enough to cause a momentary power drop that the Softub controller doesn’t tolerate, so it resets. It then tries to come back on. Inrush current. Power drop. Rinse. Repeat. Everything else in the house runs just fine on generator power, but not the hottub. Sigh. And a major storm is rolling in and blocking the sun. So improving on the Softub controller just became a priority.

Then I realized: I already have a third-party temperature probe (Ecowitt GW1100B) in the tub so I can see the tub’s temp on my Home Assistant dashboard. In the photo, you can see the white rectangle on top of the Softub controller and the subtle white wire dangling into the tub on the left side. I already have WiFi controlled power. All I really need to do is to bypass the control board entirely so that, when power is applied to the tub, the pump and heater run. I can program Home Assistant to turn the tub on when (1) the time is right and (2) the temperature is too low OR when I want to get in it. I’ll need to set up a second controller for the lights (trivial) and I should probably set up an independent over-temperature failsafe. But, basically, I already have all the necessary hardware and a software platform in hand. All I need to do is pull the controller board and bypass the pump and heater relays and write some trivial Home Assistant automations. It should be a piece of cake.

It’s time to drain and refill the thing anyway. Probably after my father-in-law leaves, that will be my next project.

—2p

← previous||random||next →