IR Controller for Air Conditioner Using Arduino

IR Controller for Air Conditioner (1)
Hardware components:
Atmel ATTiny85
× 1
Everything ESP ESP8266 ESP-01
× 1
Ard nano
Arduino Nano R3
× 1

IR Controller for Air Conditioner (1)


My goal is to make my window AC units more functional.  Currently they use an on-board thermostat to turn on when the room gets above a certain temperature (‘duh).  I feel like there is a lot I can do to improve on both the efficiency (less electricity usage) and performance (cooler house throughout the day).

I’m going to break this out into phases and post my progress along the way.  I plan on incorporating this into a current Home Automation project I’m working on, so when I have the final version I will create a new project with start to finish build instructions.

Phase I

Control the existing remote with an Arduino (or ATtiny85).  I just want to build a platform that I can add additional sensors and communication abilities to.

I took apart the remote and it looks easy enough to hack. It’s powered by two AA batteries in series (3vDC) and the buttons each have their own through holes on the PCB.  I used an L78L33 voltage regulator to drop the USB 5v to 3.3v for the remote power (it gets really hot, so I’ll be replacing that in the next phase).  The brain is an ATtiny85 with pin6 driving an S8050 PNP transistor to open/close the circuit for the Air Conditioner power button on the remote.  Right now it’s just sending the IR power signal every 30 seconds as a test.

I also added a DHT11 temperature/humidity sensor and adapted my AV Cabinet Fan Controller code to work as a simple thermostat from across the room.

Phase II 

I have the arduino closing the connections for the tempup and tempdown buttons on the remote to put the thermostat at the min or max setting.  The AC unit is always powered on, but by adjusting the thermostat I can make the compressor and fan kick on while letting it use the built in cooldown settings.  On standby the unit pulls less than 2 watts.

I would rather not rely on the physical remote to turn on/off the AC unit so the next step is to emulate the IR signal using just an Arduino Nano. I followed the IR tutorial from Lady Ada to get the raw IR signal from the remote and use those to drive an IR LED directly, emulating the signal from the remote.

One hurdle I had was simulating a long press using the IR signal since my AC unit beeps each time a button is pressed.  I did this using a “for” loop in the Arduino sketch but the delay required a bit of trial and error, so I used my IR receiver/blaster test board to try several different configurations.

Phase III (in development)

Now that the we have a stand alone ‘dumb’ temp controller, I need to give this some real intelligence. By adding an ESP8266 I can remotely control this from my phone and send the current temperature to or my central home automation server to be logged and graphed.

IR Blaster Schematic IR Controller for Air ConditionerIR Blaster Schematic IR Controller for Air Conditioner (1)

Leave a Comment

Your email address will not be published. Required fields are marked *