Infrared remote library for ESP8266/ESP32: send and receive infrared signals with multiple protocols. Based on:
Alternatives To Irremoteesp8266
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
21 days ago42lgpl-2.1C++
Infrared remote library for ESP8266/ESP32: send and receive infrared signals with multiple protocols. Based on:
Arduino Heatpumpir338
a month ago51gpl-2.0C++
An Arduino library to control split-unit heatpumps over Infrared
Tcmenu2242118 days ago32June 01, 202213apache-2.0Java
Menu library for Arduino, mbed and ESP with designer UI and remote control capabilities.
2 years agootherC++
An Arduino Sketch able to simulate a Somfy remote control
2 months agomitC
A little ESP32 Spotify remote to remind you that there's a lot of music out there.
a year agootherC
An Atmega328P based 2.4GHz receiver with integrated TB6612FNG motor driver. PWM and SBUS outputs.
Hugo Esp8266104
4 months agomitC++
Hugo is a 4-button ESP8266 Wi-Fi Remote, Arduino compatible and simple to use.
Tree V2104
3 years ago18gpl-3.0C++
6.5’ white tree with 250 WS2811 RGB LEDs, driven by an ESP8266 microcontroller using the FastLED library, controlled with a web app over WiFi and/or an infrared remote control.
Nrf24 Esk8 Remote81
3 years ago7gpl-3.0Arduino
A remote used to control an electric skateboard
10 months ago5mitC++
WiFi remote controller for the Behringer Ultradrive.
Alternatives To Irremoteesp8266
Select To Compare

Alternative Project Comparisons

IRremoteESP8266 Library

Build Status Code Lint Tests Documentation arduino-library-badge GitLicense

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.

v2.8.6 Now Available

Version 2.8.6 of the library is now available. You can view the Release Notes for all the significant changes.

Upgrading from pre-v2.0

Usage of the library has been slightly changed in v2.0. You will need to change your usage to work with v2.0 and beyond. You can read more about the changes required on our Upgrade to v2.0 page.

Upgrading from pre-v2.5

The library has changed from using constants declared as #define to const with the appropriate naming per the C++ style guide. This may potentially cause old programs to not compile. The most likely externally used #defines have been aliased for limited backward compatibility for projects using the old style. Going forward, only the new kConstantName style will be supported for new protocol additions.

In the unlikely case, it does break your code, then you may have been referencing something you likely should not have. You should be able to quickly determine the new name from the old. e.g. CONSTANT_NAME to kConstantName. Use common sense or examining the library's code if this does affect code.

Supported Protocols

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


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.


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
To update to the latest version of the library
cd ~/Arduino/libraries/IRremoteESP8266 && git pull


If you want to contribute to this project, consider:


Available here

Library History

This library was originally based on Ken Shirriff's work (

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.

Popular Remote Control Projects
Popular Arduino Projects
Popular Networking Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Arduino Library
Home Automation
Arduino Ide
Remote Control