HomeElectronics NewsESP32-S3 IR Blaster Replaces A Lost AC Remote

ESP32-S3 IR Blaster Replaces A Lost AC Remote

A 940nm IR emitter, 38kHz receiver and ESPHome’s climate_ir platform let an ESP32-S3 board control an air conditioner, television and set-top box.

Close-up of the OpenMote circuit board showing labeled buttons and GPIO connections
ESPHome’s climate_ir platform supports air-conditioner protocols from Daikin, LG, Midea, Hitachi, Mitsubishi and other manufacturers

A low-cost ESP32-S3 board can be turned into a network-connected infrared controller that learns commands from existing remotes and exposes compatible air conditioners in Home Assistant. The setup uses a 940nm infrared emitter, a 38kHz receiver and ESPHome’s climate_ir platform, without requiring a cloud account.

The project is particularly relevant following the launch of OpenMote, a crowdfunding project from Hat & Hammer that uses an ESP32-S3-WROOM-1 module in a Nintendo Wii Remote-style enclosure and comes pre-flashed with ESPHome. Its open-source approach highlights how ESP32 hardware can be combined with infrared control and home automation. However, a similar system can be built today using an ESP32-S3 development board and commonly available IR components.

The build requires an ESP32-S3 board with PSRAM, a 940nm IR LED, a 38kHz IR receiver such as the TSOP1738, an NPN transistor such as a 2N2222 or BC547, suitable resistors, a 5V USB supply, jumper wires and a breadboard. A host computer is required for ESPHome, while Home Assistant provides the automation interface.

Consumer IR remotes typically drive an IR emitter with a modulated carrier, commonly around 38kHz, and encode commands as timed bursts of that carrier. The receiver module demodulates the signal and presents those bursts as a logic-level pulse train that the ESP32-S3 can capture.

Air conditioners are more complicated than devices such as televisions. A TV remote generally sends a short command for an individual button press, while an air-conditioner remote can transmit the complete operating state, including temperature, operating mode, fan speed, swing and timer settings. Simply recording and replaying one transmission is therefore not always suitable for AC control.

ESPHome addresses this through its climate_ir platform, which implements protocols for specific air-conditioner brands. Supported platforms include Daikin, LG, Midea, Hitachi, Mitsubishi, Toshiba, Whirlpool, GREE, Coolix, Delonghi, Fujitsu General, Ballu and Emmeti, among others. Some manufacturers also have multiple protocol variants.

The hardware can be assembled by connecting the receiver’s output to a free ESP32-S3 GPIO, with its supply connected to 3.3V and ground connected to ground. The IR emitter is driven through the NPN transistor rather than directly from an ESP32-S3 GPIO. The GPIO connects to the transistor base through a resistor, while the emitter is powered from the 5V supply through a suitable current-limiting resistor.

ESPHome is then installed and configured for the selected ESP32-S3 board. A remote_receiver component can be added to the receiver GPIO with protocol dumping enabled. After flashing the firmware, pressing buttons on the original handset allows the ESPHome log to show the received IR protocol and command data.

The identified protocol determines which climate_ir implementation is required. A remote_transmitter component is then configured for the IR LED, with the carrier set for 38kHz operation. The matching climate platform can expose temperature, operating mode and fan-speed controls to Home Assistant. Where supported, the receiver can also be retained so the controller can track changes made using the original handset.

The final configuration is written in YAML rather than C. ESPHome’s climate_ir documentation provides the supported platforms and their configuration options. The project uses GPLv3 for its C/C++ runtime code and MIT licensing for its Python code and other applicable parts of the project. The complete YAML configuration can be provided separately, while the article can focus on the remote_transmitter and climate sections.

IR coverage remains the main practical limitation. The emitter requires line of sight to the appliance and cannot transmit through walls. Multiple emitters aimed in different directions can improve room coverage, although the achievable range depends on the LED, drive current, receiver characteristics, ambient light and placement.

The system’s power consumption and response time likewise depend on the selected ESP32-S3 board, IR driver and appliance. These can be measured after assembly by checking 5V input current during idle and transmission, measuring IR range and recording the time between a Home Assistant command and the appliance responding.

The controller can be extended with a temperature and humidity sensor. Home Assistant could then use the measured room conditions to automate the air conditioner rather than relying solely on a manually selected temperature. Scheduling, usage logging and other automations can also be added once the AC is exposed as a Home Assistant climate entity.

The result is more than a replacement remote. It combines an ESP32-S3, an IR interface and open-source home-automation software to turn an existing appliance into a network-controlled device without replacing its original IR protocol.

For more information, click here

Loading form…
Ananthu Ashok
Ananthu Ashok
Ananthu Ashok is a tech journalist and has a deep interest in embedded systems, open source, IoT, robotics and emerging tech.

SHARE YOUR THOUGHTS & COMMENTS

EFY Prime

Unique DIY Projects

Electronics News

Truly Innovative Electronics

Latest DIY Videos

Electronics Components

Electronics Jobs

Calculators For Electronics