View on GitHub

IRremoteESP8266

Infrared remote library for ESP8266/ESP32: send and receive infrared signals with multiple protocols. Based on: https://github.com/shirriff/Arduino-IRremote/

IRremoteESP8266 Library

This library enables you to send and receive infra-red signals on an ESP8266 or an ESP32 using the Arduino framework using common 940nm IR LEDs and common IR receiver modules. e.g. TSOP{17,22,24,36,38,44,48}* demodulators etc.

Supported Protocols

You can find the details of which protocols & devices are supported here.

Troubleshooting

Before reporting an issue or asking for help, please try to follow our Troubleshooting Guide first.

Frequently Asked Questions

Some common answers to common questions and problems are on our F.A.Q. wiki page.

Library API Documentation

This library uses Doxygen to automatically document the library’s API. You can find it here.

Installation

Official releases via the Arduino IDE v1.8+ (Windows & Linux)
  1. Click the “Sketch” -> “Include Library” -> “Manage Libraries…“ Menu items.
  2. Enter IRremoteESP8266 into the “Filter your search…“ top right search box.
  3. Click on the IRremoteESP8266 result of the search.
  4. Select the version you wish to install and click “Install”.
Manual Installation for Windows
  1. Click on “Clone or Download” button, then Download ZIP on the page.
  2. Extract the contents of the downloaded zip file.
  3. Rename the extracted folder to “IRremoteESP8266”.
  4. Move this folder to your libraries directory. (under windows: C:\Users\YOURNAME\Documents\Arduino\libraries\)
  5. Restart your Arduino IDE.
  6. Check out the examples.
Using Git to install the library ( Linux )
cd ~/Arduino/libraries
git clone https://github.com/crankyoldgit/IRremoteESP8266.git
To update to the latest version of the library
cd ~/Arduino/libraries/IRremoteESP8266 && git pull

Contributing

If you want to contribute to this project, consider:

Contributors

Available here

Library History

This library was originally based on Ken Shirriff’s work (https://github.com/shirriff/Arduino-IRremote/)

Mark Szabo has updated the IRsend class to work on ESP8266 and Sebastien Warin the receiving & decoding part (IRrecv class).

As of v2.0, the library was almost entirely re-written with the ESP8266’s resources in mind.