Objective
Replacing the current spa controller with a custom wifi controlled controller.
Control Board
Verison 1
Schematic
Board Layout
Produced Board
2022:
- Moved flow check to GPIO-3 (RX).
- Installed board in original Watkins Case
- Revised Firmware
Problems
- Having the flow check on GPIO-0 can cause reboot failures if the flow is stuck closed.Moving flow check to RX. Revised in 2020.
2023:
- Went to add the pump button and discovered a design error. The pump ADC input is floating and should have a pull-down to ground. The 3V shouldn't have the 10K resistor either.
Software
Arduino Web User Interface
Homekit/Homebridge Integration
AUTO = Powersave Mode
Temperature
... { "accessory": "mqttthing", "type": "thermostat", "name": "spa", "url": "http://192.168.1.50:1883", "username": "homebridge", "password": "pass", "topics": { "getCurrentTemperature": { "topic": "spa/status", "apply": "return JSON.parse(message).temperature_f;" }, "getTargetTemperature":{ "topic": "spa/status", "apply": "return JSON.parse(message).tarTemperature_f;" }, "getTemperatureDisplayUnits":{ "topic": "spa/status", "apply": "return 0;" }, "getCurrentHeatingCoolingState":{ "topic": "spa/status", "apply": "return JSON.parse(message).state;" }, "getTargetHeatingCoolingState":{ "topic": "spa/status", "apply": "return JSON.parse(message).mode;" }, "setTargetTemperature": { "topic": "spa/command", "apply": "return 'setTemp ' + message;" }, "setTargetHeatingCoolingState": { "topic": "spa/command", "apply": "return 'mode ' + message;" }, "setTemperatureDisplayUnits": { "topic": "spa/command", "apply": "return 'tempUnits ' + message;" } }, "heatingCoolingStateValues": ["0","1","2","3"], "temperatureDisplayUnitsValues": [0,1], "minTemperature": 50, "maxTemperature": 110 }, ...
Pump
... { "accessory": "mqttthing", "type": "fan", "name": "hottub", "url": "http://192.168.1.50:1883", "username": "homebridge", "password": "pass", "topics": { "getOn": { "topic": "spa/status", "apply": "return JSON.parse(message).pump > 0 ? true : false;" }, "setOn": { "topic": "spa/command", "apply": "if(message) return 'pumpOnOff 1'; if(message==false) return 'pumpOnOff 0';" }, "getRotationSpeed": { "topic": "spa/status", "apply": "return JSON.parse(message).pump;" }, "setRotationSpeed": { "topic": "spa/command", "apply": "console.log('MESSAGE: ' + message); if(message >50) return 'pumpState 2'; if(message==0) return 'pumpState 0'; return 'pumpState 1';" } } }, ...
Future
Hardware Changes
Changes
- Move Flow sensor to ADC on CH7 in order to free up GPIO-0 or RX/TX.
- Add light control
Appendix
Pump
Specifications
Waterway Executive 48 2.0 HP pump | |
---|---|
Description | 2.0HP Waterway Executive 48 Spa Pump, 2 Speed Waterway OEM part # 3420820-1A 2.0" intake and 2.0" discharge, (Measures 3" outside to outside) |
Voltage | 220-240volt |
High Speed Details | 10.5 Amps high speed (3450 RPM) 2.5KW |
Low Speed Details | 2.8 Amps low speed (1725 RPM) 0.67KW |
Cost Calculations
Assuming PEAK RATE = $0.21/kwh, OFF-PEAK = $0.13
Assuming pump is running for 9 hours/day @LOW SPEED
Assuming pump is running for hours/day @HIGH SPEED
SPEED | Power Consumption | Rate | Cost/hour | Cost/day |
---|---|---|---|---|
Low Speed | 0.67kw | PEAK | $0.14 | $1.26 |
OFF-PEAK | $0.09 | $0.81 | ||
High Speed | 2.5kw | PEAK | $0.52 | $0.52 |
OFF-PEAK | $0.33 | $0.33 |
Assuming
- PEAK Power Rate
- 9 hours on LOW
- 1 hour on HIGH
Cost | Calculation | Total |
---|---|---|
Cost/day | 9*$0.14 + 1*$0.52 = $1.26 + $0.52 | $1.78 |
Cost/moth | Cost/day *30 = $1.78 * 30 | $53.40 |
Heater
Specifications
Name | Universal Heater Assembly - 4 kW |
---|---|
Description | 15" heater manifold (measured from stainless steel flange to flange). 5 options for location of pressure switch (includes threaded plugs). Moveable bands allow movement of thermal well (for sensors) and studs to connect to pack box. Includes black split nut unions and white PVC unions (as pictured). - 2" white PVC slip connections accept 2" pipe (2-3/8" O.D.). - 2" threaded connections measure 3" O.D. on threads. |
Supplier | Hot Tub Essentials |
Voltage | 240v |
Power Consumption | 4 kw |
Cost Calculations
Assuming PEAK RATE = $0.21/kwh, OFF-PEAK = $0.13
Power Consumption | Rate | Cost/hour |
---|---|---|
4kw | PEAK | $0.84 |
OFF-PEAK | $0.52 |
Assuming
- OFF-PEAK Rate
- 2 hours per day
Cost | Calculation | Total |
---|---|---|
Cost/day | 2 * $0.52 | $1.04 |
Cost/month | Cost/day *30 = $1.04 * 30 | $31.20 |