Air Conditioner Controlled via PC or Internet - Overview

It was hot this summer. My apartment is usually around 20°F hotter than the outside temperature. It hit over 100°F this summer outside, breaking previous temperature records for my area. My commute is between 45 and 60 minutes. I decided that I wanted to be able to turn my air conditioner on from work before I left at the end of the day.

I started thinking up a design and drawing out plans. Two hours later, my friend Kenny thought to do the same thing.

(10:18:46) Kenny: i was talking to my friend (software guy) about making something for his place
(10:18:53) Kenny: to turn on the AC from the internet
(10:19:24) Kenny: he doesnt have access to any connectiosn to teh AC in his apt, so this would ahve to turn a physical knob, not like relay power on/off
(10:19:46) Contrapants: I'm putting that together for myself right now, actuallty
(10:19:51) Kenny: o rly
(10:19:59) Kenny: how are u doing the switching tho
(10:20:12) Kenny: switching the line or the actual AC itnerface
(10:20:20) Contrapants: Mine's just a button to turn it on and off, so I'm attaching a solenoid to a microcontroller attached to my PC
(10:20:52) Contrapants: And I'm building an airflow sensor to detect whether or not the AC is already on first


(10:30:13) Contrapants: Whenever I'm done with it, I'll send you my code and schematics
(10:30:19) Kenny: haha sure
(10:30:24) Contrapants: They might help
(10:30:26) Kenny: or when we're done, i'll send u ours ;)
(10:30:40) Contrapants: That works too
(10:30:43) Contrapants: Let the race begin!

So, I put my other projects on hold. This was a project I was actually going to finish. I know myself; deadlines and competition kick my ass into high gear.


  1. Use parts I already have
    • This will be a temporary, jury-rigged project. I have plenty of stock parts. Get it done; it doesn't have to be pretty. Plus, ordering parts takes time. The longer I take, the less likely I am to win the race. Also, if I take too long, the summer will be over and the project will be useless. Every extra day is a day I sweat.
  2. Don't bother with GUIs or fancy interfaces
    • I can use ssh to access my home PC from work or through my phone. A quick program to connect to the AC through the serial port is fine.
  3. Don't modify the AC itself in any way
    • Unlike Kenny, I rent my apartment. That means that the AC isn't truly mine. I can't rip it apart.
  4. The device can't be intrusive/bulky
    • I live with my girlfriend. She's not going to use ssh to turn on the air conditioner when I'm not there. I have to leave a way to access the AC controls without the device getting in the way.
  5. Relays are out of the question
    • Besides the same reasoning as the previous point, relays would be a dangerous option. I don't plan to test this very thoroughly. My AC is rated for ~1500W @ 120V. I'm not going to trust a 12.5A switch without rigorously testing it and putting everything into a proper project box. There's jury-rigging, and then there's just plain stupid and dangerous. Also, unless I create a giant bank of relays, this violates point 1.
  6. Ability to sense current air conditioner state
    • I don't want to shut the air conditioner off if it's already on. That counters the whole purpose of the project.


I know nothing about Kenny's friend, so I'm assuming he has the same situation as Kenny for the purposes of this table.

Contrapants Kenny & friend
  • Large stockpile of electronic components
  • Much more experience with microcontrollers and control systems
  • Already has tools and small workspace
  • Ability to modify AC directly
  • No other people to design around i.e. design can be whatever is easiest
  • Multiple people working together

Because this type of project is already a hobby of mine, I believe I have a clear advantage overall.

As a side note, my air conditioner uses a membrane switch to turn on and off. Think of a physical keyboard on a cell phone. The turn-on temperature setting is that the same when it was turned off. I am able to use a solenoid to push the button.

Kenny's air conditioner uses a knob. He will have to turn the knob from the off position to the temperature setting he needs. A servo motor is simple to use in this case.

The servo and knob allow Kenny's device to know if the air conditioner is on or off because the device is in complete control of the AC, but it is more difficult to use that a solenoid. The solenoid, however, requires a separate sensor mechanism. Because both methods have their own set of challenges, neither approach is advantageous over the other.

Also note that this also assumes that Kenny is building his control system the same way I would. I know nothing about his final design yet.

Up Next

In the next few parts I will show my software and firmware, my sensor, my failed attempts, and my final, successful device. Unlike other projects on this site, this project is already complete. Because I started this project with the site in mind, I remembered to take pictures, so the complete project should be posted relatively quickly.