Super Simple Arduino Setup Lowers Electricity Bills

An Arduino with 40 lines of code, a temperature resistor, and servo are all that’s truly needed to save some dough with this thermostat by [Peter Hamilton]. LEDs and a potentiometer are added as well to help set and read the desired temperature. With or without said additional parts, the hack is still ridiculously simple and we’re wondering why we didn’t have a similar setup on our blisteringly cold office AC system before seeing it.

Though, we’re going a bit further with our version, plans are in the making to add timers to turn off the system for extended hours while no one is at the office. What would you add?

38 thoughts on “Super Simple Arduino Setup Lowers Electricity Bills

  1. I’ve been thinking about this problem for a long time.

    First an sd card or xbee to log information.

    Now this is where it gets fun. I conjecture you could use an outside temp and correlate runtime for your heating and cooling. Then you could build a predictive model and forecast your heating and cooling.

    Then when you go greener you can actually prove you had an affect by looking at your predctive model.

  2. @flakelabs: That.
    I have toyed with the idea of taking that even a step further and setting it to run a range, i.e keep house between 72 and 77 degrees at all times. I figure it is a more efficient use of energy to cool from 77 to 72, then off, than to run every time the house hits 73 degrees.

  3. woot! had a programmable thermostat for $7.99 the other day.

    The brewtroller (highly customized version of sanguino varient of arduino) with the fermtroller firmware installed can control either six cooling zones or three cooling + three heating. Primarily intended for controlling fermentation temps for home brewers but could certainly be adapted.

  4. I too have started on my own thermostat based on an Arduino.

    some random plans i have been thinking about are, temperature monitoring of the whole house, so i can get a better average temp of the house not just the hallway.

    a touchscreen interface like

    inet control, data logging, all the basics

    an android app, or something to monitor my wife and i by gps to affect the cooling somehow

  5. Okay, here’s what I want, multiple coordinated boards with awesomeness. I want to use my home server a lot more than I do now. So, let’s have the home server running an A/C control program [simple enough]. A controller in each room with temperature, humidity, and ‘is someone in the room?’ controls over Ethernet [yes, wired, they aren’t moving and you don’t want them moved accidentally therefor breaking the server logic]. Each one reporting back every interval to the home server. An additional one outside under rain protection, but the same information being reported minus the person presence piece and maybe add in barometric pressure while we’re at it so you can detect raining or just ‘muggy’ conditions. Now, add some servos to the ductwork in A/C at specific points to control the Baffles to put the A/C where you need it, not just the whole house [should reduce overall usage of the A/C unit]. Then you add another controller/servo that could open a vent to the outside as a ‘source’ of fresh cold/hot air if you needed it instead of having the A/C kick on, you could have Mother Nature help you. How many times have you wondered why current A/C systems don’t do two critical things: 1. if you’re cooling the house and it’s colder outside than you want it inside, but it’s hot inside, just use the outside air [using only the fans, not the A/C unit which is your biggest power sucker in the house] and 2. Just because I have it on Cooler mode, doesn’t mean when we have a freakishly cold night in the Summer, that I want it 40F in my house or have to manually change it to Heat mode just for tonight [and remember to change it back to Cooler mode in the morning or come home to a stupid hot house], why can’t the A/C control handle that? A setting like “set for 76-79F in the Cooling mode, but don’t let it drop below 50F, okay?”

  6. I would say add an XBCard, a NIC, or even an RS-232 cable. Interface to a sever if you are running one and use that for data logging of even write a web based interface.

    If you are not already running a sever an SDcard would be the more green way to do data logging.
    Of course the serial interface could still be used for control and dumping of the data log.
    You could even have it download the data at boot up.

  7. Add a cheap 2 line LCD, it adds lots of code but the gain of a better interface is worth it. Also a cheap PIR occupancy sensor can be used instead of a timer system. Its simple and works well in offices where people are moving about all day, ie by the printer. An outside air sensor is only usefull if the system has a ‘free-cooling’ first stage that utilizes outside air to cool down the controlled space, otherwise the outside air is for logging only. Adding an sd card is a good idea for tracking system use.

  8. FTA: “I have it polling every second…” “…I think having it poll so often uses way too much power.”

    Doesn’t the Arduino have interrupts and a low-power mode that could be used for this?

    I’m new to microcontrollers, and haven’t used any ATmel chips, so forgive me if it’s a dumb question. I’m starting out with the MSP430s, and they draw just a few (<10) microamps in low-power mode waiting on an interrupt. Except for the servo power, this project done on the MSP430 would probably run for a year off that 9v battery.

  9. @GreenLee
    Because the nob on that one is a simple bi metal switch, and the AC unit is rather dumb.

    As for the question about what I would add.

    1) An outdoor temp/humidity sensor
    2) A indoor humidity sensor
    3) A way to open and close a window
    4) A mositure sensor for the window, so it can be closed if it is raining
    5) Code to figure out the skin load of the room, and predict how much and when cooling will be needed.
    6) Code to check to see if simply opening the window would reach the temp/humidity set point.
    7) A small LCD and some buttons to change the set points.
    8) An alarm circuit that could notify me while I’m away if the AC fails to turn on, or turns off early.
    9) A few temp sensors through out the room for better temp measurements.

    My AC units in my apartment wouldn’t need any physical hacks, as they have IR remotes already, remote codes would need to be figured out though. Figuring out how to open and close my sliding windows with out damaging them could be interesting(fun).

  10. @Dan.M

    1) Air conditioners do this already, its called an economizer. You have to remember tho that you need the air outside to be substantially cooler (~10C) in order to get enough cooling for this to work. i.e. if the air out side is 20C and you want to cool your space to 23C you need alot of air flow. This is also more diffcult then just reading temperature, you really need to take into account humidity, air quality, etc..

    When controlling HVAC in general keep in mind that there are delays. Your room isn’t going to cool down in 1 second its going to take several minutes. If you try to control it too fast you will end up with an unstable system that will cycle constantly possibly getting worse each time.

  11. @Grazz256

    That’s very true. I was going with my personal experience with “whole house” fans. They had a timer, which matches your note of taking time, but we would open a few windows and within a few minutes the whole house had the air changed and could drop the house temp very quickly (~10 minutes total).

    As far as the air quality, I agree that it would need to be accounted for as best we can. That’s why I noted the “muggy” test that could be expanded by more than just temperature and humidity, but I wouldn’t go as far as checking parts per million quality [at least not in version 1.0 :D]

    I guess adding an ‘air quality’ retrieval module from the or other online source before opening the exterior vents would be a good test that wouldn’t require an additional controller, just a web service consumption.

  12. @Grazz256

    Most “cheep” AC units in apartments do not have an economizer mode. The one that died on me was from the 80’s but it at least had an exhaust vent (it could vent a portion of the air the fan moved outside. My current one does not.

    My current AC unit

    @Dan M.
    A quick google turned up as a way to measure for various gases in the air, and for a humidity sensor. I’m not sure the air quality sensor picks up things like smoke and pollen.

    Tuning the control loop is where the art/skill comes in. But should be doable better than the crappy controls on my wall mount AC unit.

  13. I would make it also controllable via IRC, or have it read my emails so when I send myself an email saying “turn on” it would. I don’t always have access to the internet, but can email with my phone.

  14. A number of air conditioners have remote control inputs now. Mine did. I understand that rather than laziness of changing AC from your chair 5 steps away, it’s mostly for people who put their unit in high windows. Though it works for the former too. For kicks I added the codes to my learning remote.
    Which gave me a fantastic idea. I’m currently looking for parts to build a home theater PC. One is a set of IR blasters, so that it can control attached peripherals. And I thought, hey, why not hook one up pointed at the air conditioner, and add some basic HVAC logic to the HTPC?
    This air conditioner does, in fact, have an economizer, but what it doesn’t have is a timer, or the ability to adapt it’s temperature settings based on the temperature outside (I don’t need it to always be a specific temperature. Just lower than outside.)

  15. Thanks for documenting your great project. Nice DIY spirit. If your windows are sliders and have wooden or unsealed jams you could install a motor in the wall and have it pull the window open or push it closed. The easiest way in this case I can think of to drive it would be by using a gear rack. I would suggest a prototype though so you don’t accidentally drive your real window through the other side of the jam during your beta testing lol.

  16. LOL well i understand what you are trying to do but would it not be easier to spend 150 bucks on a honeywell 5000 pro that little gem will do every thing that will and right or go the next level and the honeywell pro 8000 that has a touch screen and you can,, do everything with it control heatpumps 2 to 3 levels of cooling and heating with duel systems it does it all

  17. If you have a steel frame window, you could just leave the windows all the way open, and then build a window insert with an actuator to open and close a partition. I’m thinking: Making a frame from aluminum C-channel stock, with the open sides facing out on the top and bottom, and facing inward on the sides. You could then use a curtain system with a roll on the top(think of a solid version of the roll-up cages they use to secure store entrances at night). Implement a worm gear to counter the ability to force the curtain back up, and you should be secure…

  18. -steel frame window
    +aluminum frame window

    and you would want to build the insert frame large enough to occupy the entire open area when the windows was completely open. The insert frame would have to be assembled into the window frame, and then couldn’t be removed from the outside by further opening up the sliding window panel…

  19. As a former energy consultant, I find this hack a bit pointless. My current electric bill (mid summer is $80. We live in a 3 bedroom duplex with all electric power. Because the AC unit rarely gets used our biggest 3 electrical loads are the water heater (electric), the dryer (electric) and the stove. If the AC unit has a working thermostat, just use it. Most residential units here in CA don’t have an economizer, because the ducting for the unit isn’t in place for a split system. The cost savings would be minimal for a 3 tom system. We leave our AC/heat pump off most of the year to save energy. We can do this because of good thermal orientation and good window shading. Currently 91 outside / 82 inside. As far as the other controls, there are all available commercially at a price (timer control, themostat/ outside air economizer / motion sensing / zone control / window venting) Adding external controls to a window unit you can’t reach is productive, I just wouldn’t go over the top.

  20. @Ben:

    Are there commercial “window venting” units that can be used to retrofit an existing window, with no damage done to the existing wood framing/window framing? I see some really nice(and expensive) units that are meant for permanent installation, but don’t see any retrofit kits for renters, et al….

  21. Feature suggestion (assumes addition of better display) – display of how much energy used (in $, kWH, lb carbon) – estimated from on time & wattage of the AC.

    Display how much could save by turning the thermostat to slightly higher temperature.

    When you adjust the temperature, give estimate of impact on cost, etc. (i.e. turning down the temperature by so much will cost you so much per day/turning temp up saves you so much per. day).

    Another suggestion – after you have programmed the temperature profile, have it gradually raise the temperature (one day it is 72, a few days later 73, etc., gradually let you acclimate to warmer temperatures).

    At the beginning of summer, 70 degrees feels really warm, a ways into summer it doesn’t feel so bad (and 80 or 90 feels hot). Take advantage of people’s adaptability to gradually shift towards less AC.

  22. The vent window actuators are for windows that you typically don’t have acess to for being skylights or too high on a wall. I don’t know how good of an ideal if would be to retrofit all the windows in an apartment to save money of the electric bill. The opening your window thing to stay cool only works with lots of airflow or a breeze. I use a fan outside the screen door at night to blow air into the house through the screen. Just opening all the windows in an apartment shouldn’t take too long. As far as temporary automation, I would think a piece of 3/8 threaded rod and a stepper motor shoud open a horiz. sliding window easily enough. You can get by without limit switches and just count the steps. Some assemble required. A verticle slider would be more difficult.

  23. A couple of thoughts on modifying windows…

    I’m not sure on new windows but old school vertical sliders used a weighted pulley system to hold the window open. Not sure if you would get enough friction to open the window but it should be easy enough to modify them.
    Crank out windows should also be pretty easy to modify with a worm drive motor.


    This is done all over the place already. Its pretty easy to accomplish with either a simple schedule or occ sensors. You do have to turn it on before its actually required to allow the room (and furniture) get to set point.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.