[George Dewar] and his wife live in a typical 1940’s house in New Zealand , which in case you didn’t know, have a little insulation in the ceiling… and nowhere else. Like most, they put up with the cold — but after having a baby, [George] decided it was time to start controlling the heat a bit better.
They have an electric oil radiator which works well, but isn’t very smart. It only has 6 settings — not very useful when you’re trying to stay at a certain temperature. First off, they looked into a plug-in thermostat controller, and found a cheap one called the HeaterMate. Unfortunately it left a lot to be desired. For example, it didn’t seem to have PID control at all — and for an oil radiator, when you turn it off… it’s still going to heat the room for a while. He also found that because of the high current load of a heater … the device would read a few degrees over room temperature when operating. Unperturbed, [George] took this opportunity to design and build his own PID thermostat controller instead.
He’s using an Arduino Uno clone called the Seeduino Lotus, which has easy to use Grove connectors on it for interfacing with their plug-in modules. A temperature sensor monitors the room temperature from afar, and a solid-state relay (SSR) controls the power for the heater. Now he just needed a PID library — readily available from Arduino.cc of course. All in all it works way better than the store-bought solution, and [George] already has plans to make it even better — and if you have a use for this kind of thing, he’s posted everything over on GitHub.
For a more complex Arduino thermostat build, we love this one by [William] which even includes a vacation mode — and yes, it is internet connected.