Controlling water heater with Arduino Yún

This week I’m going to introduce George Koulouris who loves playing, testing, making with others especially at the ‘Petit Fablab de Paris’ where he thinks is a great place to do exactly that! He’s been experimenting with the Arduino Yún focusing on his main interest: the integration of technology to everyday objects. The following post was originally posted on his blog. Read other guest posts on Arduino Yún.
——————
The Motivation
I have two small problems in my house. An ever-increasing electricity consumption bill and a girlfriend which likes to take hot baths at unpredictable times during the day.
Until recently, we left our water heater switched on, 24/7. But then we took a look at our electricity counter readings. Needless to say, we switched it off immediately! An old water heater can indeed make the electricity counter wheel spin fast, very fast…!
So we started switching it on and off whenever we needed to take a bath. The problem was that we weren’t always at home and the water took almost an hour to heat-up! So I decided to connect it to the internet!
The Configuration

The SmartBoiler is contained in a small box and placed on top of the house’s main electricity board. A mechanical arm extends out of the box. Its bottom end is clipped to the heater’s switch whereas its top end is attached to a motor in the SmartBoiler.
The arm can be displaced vertically.
The box contains a motor and an Arduino Yún. The latter checks, at regular time intervals, a .txt file on a web-server to see whether me (or my girlfriend!) have turned on the heater. If yes, it launches the motor and the switch is turned on!
The user interface is a simple website. You can view it here.
Do it Yourself
To do this project you need 5 things:
- A web-server hosting service
- An arduino Yun
- A servo motor (I chose the Towerpro MG995)
- A laser cutter (or excellent wood-crafting skills!)
- A bit of mdf
Then you can
- Download the laser cutter files
- Find all the code (documented of course!) in my github repository
- Check the dimensions of the mechanical parts in Thingiverse
Check out the images

What next?
Although I created this to control my water heater, this project can be used to control any mechanical switch. Simply dimension the box correctly and you can control everything via the internet. Your lights, your house’s main electricity switch… Hell, the possibilities are limitless!
October 31st, 2013 at 11:50:53
Don’t you think it’s a bad idea to attach an arm to a fuse switch? The fuse should not be blocked in case of it being triggered.
Safety–
October 31st, 2013 at 13:00:33
You’re right..! Actually, if a short-circuit does occur today, my house’s main electricity switch will move downwards…
But I do have to modify the design slightly. I’ll play with it a bit during the weekend. I’m thinking that instead of using a servo, I should use a DC motor. Once the switch is “up”, the DC motor is turned-off. The switch can therefore move downwards in case of a short-circuit.
October 31st, 2013 at 17:16:01
I’m doing the same thing, but whole house automation. Inside the breaker panel is a fairly safe location (Safer than most think), and I’m starting with a Leonardo to learn the ropes and moving up to a Wi-Fi connected unit.
Essentially, the Leonardo/Wifi-enabled board will have reed relays running on the same power source as the board itself, direct wired into a small breaker. These reed relays will activate and deactivate larger, 110/220V relays to turn on and off devices – dishwasher, microwave, and especially water heater. Since my breaker panel in my apartment sits right next to my thermostat, it will also be simple to integrate smart thermostat functionality into the Arduino.
October 31st, 2013 at 21:06:02
Leave fuse alone, in stead of using an electrical motor, you could use a relay to open or close the heater circuit, to isolate the very low voltage side from the mains you can have the relay optoctoupled to the Arduino Board.
November 1st, 2013 at 03:38:45
I agree with abetancort, a relay would be great for this. the Arduino can supply the current to activate the relay which would turn on the heater. Make sure you get a sparky to do the install though.
November 1st, 2013 at 19:24:30
I’m so jealous. Seems owning a laser cutter is a common thing amounts makers.
November 9th, 2013 at 13:47:21
Thanks for posting this. I have a similar project to remotely control space heaters in a cabin. The space heaters have an IR remote signal I’m going to attempt to duplicate vs. using a physical approach.