Hot tub controller

About This Project

free hot tub and spa pack.
rats nest of wires in spa pack.
spa pack from early 90’s with mechanical thermostat and high limit switch.
High limit switch triggered at 180 degree’s.
thermostat gave me a working range of 140-150.
All tested with a pot on the stove.

mechanical timer. broke. didn’t turn.

decided to tear everything out and use my RPI to control the relays for pumps and heater.
Hot tub was missing filter system, ozone generator and light.
the shut offs were shot also

so went DIY.
Bought intex pool filter for cheap.
drilled hole and installed a shower drain from home depot in tub for filter intake at bottom of tub.
drilled hole and installed swimming pool eye for return.

installed ball valves for all water lines.

Bought a 10w rgb submersable LED spotlight for the tub. I can change the colors with a remote i’ll be placing in a zip-lock bag.

Bought a water purification ozone generator off ebay. probably too powerful for the little tub. but a fraction of the cost of a hot tub ozone generator.

What’s Connected

heater relay
pump motor relay
hot tub light
filter/circulation pump
ozone generator.
possibly other lights elsewhere outside.

RPI 2 hardwired under hot tub connected to an 8 err 7 opto-isolated relay board rated for 10a.
I had an issue with low speed not cutting when high speed was triggered with air buttons.
Let the blue smoke out of one of my relays.
RPI gpio was not damaged in the least.

3 dallas one-wire temp sensors.
hot tub temp
high limit temp
water line temp for circulation pump to prevent freezing.

Triggers & Alerts

right now the heater kicks on at 98 and kicks off at 101 when not in use.
If I plan to use i disable those triggers and enable two others for each desired temp.
102 or 103.
when heater is triggered, jet pump is triggered.
when water is flowing the pressure sensor activates the relay for heater.

when filter pump is on, ozone generator is triggered.


so far I have the fliter system scheduled to run for 6 hrs a day and the tub light to turn on every night at 6pm when it gets dark.

Dashboard Screenshots


Photos of the Project


right now i just got everything hooked up.
pumps are running, heater running, light is on.
just so i can run bleech through the pipes and get it warm to scrub the inside down.

but wiring is a mess of cris-crossing and wire nuts.
Need to take controller out once tub is cleaned and wire it proper like
Also need to mount rpi in it’s enclosure.


Sounds like a fun project. Can’t wait to see the pics! Make sure to post some when you get the birds nest sorted out :slight_smile: Maybe also post the before/after of the birds nest.

Hey @benjaminkessler & @lutefisky, here is another DIY automated hot tub/spa project…you should all start your own tub automation business :bathtub: :money_with_wings:

Keep up the great work! You’re an inspiration to the Cayenne community.


here is my project dashboard.

Here are my current triggers.

I have created multiple triggers for each temp range and disabled the one’s i’m not using.
so when tub isn’t in use i plan to keep it at 98 degree so those two triggers are active.
If my kids are going in i disable 98 and enable the 101 triggers.
An 102/103 for myself and friends depending on how cold a night it is.


Still making wires in controller housing neater.
Installing RPI2, wifi router for back yard wifi and led power brick in a small tote with a bead of silicone on the lid for keeping water out.
The holes I made for wires will be caulked also.
It will be under the tub and out of the weather so should be fine.

Pics of that soon.
Temp is dipping into low 30’s at night so i need to get this hooked back up asap.
just way too much going on this time of yr.

1 Like

project pics.
Here is the controller.
It is in rough shape.,

started tearing out wires.

Relays mounted

perf board i made for the dallas temp sensors so i could easily replace them should one fail.


Temp probe I made for the filter lines to make sure nothing freezes.
I took a PVC T piece that takes a threaded insert.
I drilled a hole big enough for the temp sensor wire, fed it through then filled the plug with JB-weld epoxy.

Next will be pics of my mini-tote i’m using to house all the low voltage electronics when i hopefully finish that tomorrow night.

1 Like