Spaduino heats up a used hot-tub

[Ryan] and the roomies decided that a hot tub was just what they needed to spice up the place. They hit Craig’s List and found one for the right price. After acquisition and setup they were pleased to find that the jets and pump worked great. But you’re not going to want to stick as much as your big toe into this ice-cold cryogenics experiment. Some poking around in the control system exposed the dead relays which are responsible for switching the heater. Instead of swapping the parts, [Ryan] began building a control system that will replace the twenty-year-old original.

The heating element still works, but it’s rated at 5.5 kW and here’s no way to automatically switch it on and off. [Ryan] found a 60 Amp solid state relay which can handle the load, and plays nicely with his Arduino. Initial tests got the tub up and running again. Obviously you want the tub to maintain temperature and so a thermistor was added to take readings from the heater core. There’s also a potentiometer to adjust the temperature, and an LCD screen to show the current settings. But [Ryan] hopes to add more features over time, like incorporating jet control, and adding wireless communications via an Xbee module.

Comments

  1. hot says:

    Careful!

    I have personal knowledge of a hot tub malfunction which caused the hot tub to overheat. Unfortunately the owner did not know that. He stuck his leg into the near boiling water, and was burned halfway up his leg. It was a crazy bad burn.

    There are safety features intended to prevent something like this, but those can fail if the tub is modified. I don’t know the types of typical safety features… I can imagine heater features, thermostat features, and even drain plugs that melt at a certain temp.

    Please make sure you have some fool-proof safety features.

    And whenever you get into a hot tub, make sure the temp is safe before committing.

  2. Andrew Smith says:

    A PID’d be very useful. I get a lot of swing in tempw hen I try and setup my bath. Hot tubs must be a nightmare

  3. fartface says:

    Um they all have a contactor for the heater already in the control panel that is a low voltage trigger. Why did he not use that one?

  4. Laura Harris says:

    Needs a couple hundred programmable RGB LEDs :P

  5. joeinbend says:

    Excellent project! I always wanted to do this on my hot tub. An idea for you – Try adding a pH sensor, since that will be something that has to be balanced out, and greatly affects the water clarity.
    You could also add a fish tank dosing pump to add chlorine automatically when you get out of the hot tub, and even a 15 minute SMS reminder to tell you to go put the cover back on after you added the chlorine! I always wanted to do this! keep us posted on its’ progress!

  6. lwatcdr says:

    XBee? What the heck. Come one do it right throw a Beagle Bone in there and use Wifi and add an IR sensor for a remote and then add voice commands. You could throw in some speakers and make it a web radio and mp3 player as well.
    Or put in an old over clocked P4 running Linux and use the water from the hot tub to cool the system!

    Just kidding actually it is a really cool hack.

  7. sc0rch3d says:

    bring the ladies over, pull out phone, tap widget, lights come down / manilow plays / spa turns on…

  8. PWRX says:

    Hate to say this again, but folks: please note that these type of hacks can make you homeless and financially ruined. If you really want to do something like this, design it and let an electrical contractor implement it.

    If for any reason this hot tub causes a fire and burns down the house, your homeowners insurance will latch onto it super-quickly and pay ZERO. You’ll have a nice pile of rubble and a mortgage you’ll still have to keep paying. Even worse is if you’re renting – add some lawsuits on top of the prior scenario.

    So please, only use hacks that are plugged into the wall while you’re watching them, unless you’re ok with the risk vs reward.

    • Fool2cool says:

      Wow over-reaction much? What qualifies an electrical contractor more than say an engineer? And the hot tub looks like its outside anyway? Its also full of water so Would probably have a hard time starting a good fire. That’s also why we invented circuit breakers and fuses. Although I do admire your skills for taking it from a simple heater mod to full blown financial ruin in just 3 paragraphs.

      • ScottInNH says:

        @Fool2cool – (or are you @fartface?)

        ALL that matters is this:
        What violates your insurance policy. ANY policy violation will be an automatic “DENIED” to any claim.

        You don’t address that point at all, and instead you manufacture a laundry list of strawment, and insult other posters. Thanks for sharing, but please refrain from trolling here.

    • avrpunk says:

      Did you take a course and get certified in blog commenting? No? Then don’t do it! You could be sued for libel and lose your house!

    • PWRX says:

      Gee, sorry for reminding folks about risk versus reward. I’ll be sure to support you as you ding similar comments on future human octocopter warning comments. Lesson learned for me.

      Fool2Cool: My, oh my..
      1. “What qualifies a contractor more than an engineer?” Licensing and insurance. And this guy doesn’t appear to be either.
      2. “And the hot tub is outside” Right next to the house.
      3. “It’s full of water..” Yes, water would indeed spill after the wood frame burns away and the plastic tub melts.
      4. “Thats why we invented circuit breakers and fuses.” No, it’s certaintly not. A circuit creaker couldn’t care less that my code left an IO line high – leaving the heater in full-on mode forever. The circuit breaker would be helpful in cutting the juice after the fire spilled tons of water on the circuit though.

      Go ahead and pan me, but in reading the OP, he hardwired the heater first in lieu of controls, but after undesireable results (too hot maybe – hence the nuclear explosion pic?) decided that a controlled relay was a good thing.

      The only concern this dude had was in opto-isolating the arduino so as not to damage that sizeable investment.

      Finally, check out the last thing on his ‘to-do’ list:

      6.Additional safety precautions. There is a water pressure sensor that is supposed to turn the heater off while the jets are not running. Because of the location of the thermistor, the heater core would be turned off by the temperature regulation before it ever got too hot.

      Note that #1 on the list is adding XBee. Hah!

      On the positive side: He did, however, gracefully thank folks on IRC and slashnet for solving quirks in his code. Probably minor quirks though.

      • Finder says:

        +1

      • Ryan says:

        There is a water pressure sensor. I couldn’t get any readings from it, so I’m guessing it was dead before we got the hot tub. It also has rust spots on its exterior regardless. I do plan to use the pressure sensor once I obtain a replacement, but currently we have the low-speed pump for the filtration cycle set to always on. This way water is always moving across the heater, helping reduce the risk of a potential overheat scenario.

  9. Bill says:

    Back when I had a hot tub, what would have really been helpful would have been a telephone-controlled remote starter. It was a gas-powered tub, and took about an hour to warm up, so that would have made it easier to have the tub be warm when I got home from something. (Of course, having a landlord who’d keep the tub’s mechanisms working would have also helped, but that applied to a variety of things around the house, like the heating system, and the caulking he’d forgotten when he put a new french door on the back porch :-)

  10. joeinbend says:

    Really guys? Come on. This is hackaday.com, not “codecomplianceviloationaday.com”. It is (or should be) implied that all of these hacks (HACKS guys! not UL Labs certified products!) carry inherent risks, you should use proper caution when fiddling with high voltage, etc, and if you’re not competent, either don’t mess with it or you’ll land on the darwin awards for the year!

    Now, if he was using scotch tape in place of electrical tape, and had the whole 220v board precariously perched on a piece of plywood right next to the hot tub, exposed to water, then fine.. troll about safety. Otherwise, STFU, and go hack something!

    Those that cant hack, troll. go hack.

    • Trav says:

      +1

    • Finder says:

      I actually took the time to look at his code. I don’t think he should “hack” if he doesn’t really know how to program.

      Two interesting things:
      1:
      if (temperaturetempAdjustValue + 3 || !coverON)
      Maybe I’m getting old, but in my time that was the same as if(1)
      2:
      His program doesn’t ever call heaterOn!!!!
      3:
      It seems like this program is just all wrong. It shouldn’t work at all.

      • Ryan says:

        Let me try to clear this up for you a bit, since heaterOn is called in the following line after the one you questioned. In the following section


        //Heat Limiter, Variable Adjust
        if (temperaturetempAdjustValue + 3 || !coverON)
        {
        heaterOff();
        }

        The first if statement determines that, if the temperature is below the set maximum, AND coverON is equal to 1, the heater turns on.

        In the second if statement, if the temperature is greater than the set value, PLUS 3 so that the heater doesnt turn back on every 5 seconds, OR if coverON is equal to 0, the heater is turned off. This is to make sure the heater does not turn on while the jets are running. The assumption here is, if the top of the hot tub is off, people are in it, and the jets are on. It would also be a waste of energy to have the heater on at this point.

      • Ryan says:

        The full code didn’t get included.

      • Finder says:

        Ryan: You are wrong. heaterOff is called there. heaterOn is not!

        Also:
        temperaturetempAdjustValue
        There is no such variable in the program, and even if there were, “temperaturetempAdjustValue + 3″ would be false only if temperaturetempAdjustValue = -3. This program cannot possibly work.

      • Ryan says:

        It worked in all initial testing. Before it was every wired to the hot tub I used a lamp. The code DOES indeed work exactly as intended. It may just not be written in a very optimized matter.

      • Finder says:

        Ryan: Could you just e-mail me the source code? daniel@kasza.hu

    • ScottInNH says:

      +1 to what you say, but also +1 to @PWRX’s original warning. It’s just the nature of this project that someone would pop out a warning, and you could ignore it as redundant if you like.

      Unfortunately @Fool2cool had to troll with his response, so instead of just 1 warning, we now have 1 warning, 1 troll, and a bazillion responses.

    • PWRX says:

      joeinbend: I can certainly hack, hence my warnings above. Maybe it wasn’t welcomed but ignoring what I said above, will provide a simple code recommendation.

      Hottub Guy: Considering enabling the built-in watchdog timer, then feed the dog in your main loop. That way if anything else hangs up, your chances of getting stuck in a ‘heater always on’ scenario by some unforeseen glitch are reduced a bit.

  11. synth says:

    lol, a tarduino-controlled human cooker / house burner downer

    nice

    maybe consider putting a (permanent) TCO (thermal cutoff) thermally connected to the water (i’ll leave the implementation to you) and electrically connected in series to the SSR trigger so that the heater cuts out and can no longer get turned on if something bad happens… assuming your POS chinatech SSR doesn’t experience a stay-on failure mode.

    throw on some redundant, independent safety features

  12. Howard Haydock says:

    Hot tubes that are made of stainless steel are the best because the require less maintennance and they can resist acid attacks. “,*';

    Most current write-up on our very own blog
    http://www.prettygoddess.com

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 96,614 other followers