{"id":14962027,"url":"https://github.com/crankyoldgit/irremoteesp8266","last_synced_at":"2025-05-13T20:09:39.465Z","repository":{"id":33377731,"uuid":"37022659","full_name":"crankyoldgit/IRremoteESP8266","owner":"crankyoldgit","description":"Infrared remote library for ESP8266/ESP32: send and receive infrared signals with multiple protocols. Based on: https://github.com/shirriff/Arduino-IRremote/","archived":false,"fork":false,"pushed_at":"2025-01-07T11:52:34.000Z","size":26516,"stargazers_count":3128,"open_issues_count":87,"forks_count":851,"subscribers_count":97,"default_branch":"master","last_synced_at":"2025-04-18T21:26:26.146Z","etag":null,"topics":["940nm","airconditioners","arduino","arduino-ide","arduino-library","communication","esp32","esp8266","hacktoberfest","home-automation","hvac","hvac-control","infrared","ir-decoder","ir-device","platformio","protocols","remote-control"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-2.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/crankyoldgit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":"SupportedProtocols.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-06-07T16:04:25.000Z","updated_at":"2025-04-18T02:49:24.000Z","dependencies_parsed_at":"2023-02-16T03:16:18.380Z","dependency_job_id":"1c701836-9a86-437b-b9e5-bf888708442a","html_url":"https://github.com/crankyoldgit/IRremoteESP8266","commit_stats":{"total_commits":1124,"total_committers":121,"mean_commits":9.289256198347108,"dds":0.3158362989323843,"last_synced_commit":"9bdf8abcb465268c5409db99dc83a26df64c7445"},"previous_names":["markszabo/irremoteesp8266"],"tags_count":65,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crankyoldgit%2FIRremoteESP8266","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crankyoldgit%2FIRremoteESP8266/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crankyoldgit%2FIRremoteESP8266/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crankyoldgit%2FIRremoteESP8266/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/crankyoldgit","download_url":"https://codeload.github.com/crankyoldgit/IRremoteESP8266/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251297925,"owners_count":21566921,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["940nm","airconditioners","arduino","arduino-ide","arduino-library","communication","esp32","esp8266","hacktoberfest","home-automation","hvac","hvac-control","infrared","ir-decoder","ir-device","platformio","protocols","remote-control"],"created_at":"2024-09-24T13:28:47.875Z","updated_at":"2025-04-28T10:46:22.509Z","avatar_url":"https://github.com/crankyoldgit.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"![IRremoteESP8266 Library](./assets/images/banner.svg)\n\n[![Build Status](https://github.com/crankyoldgit/IRremoteESP8266/actions/workflows/Build.yml/badge.svg)](../../actions/workflows/Build.yml)\n[![Code Lint](https://github.com/crankyoldgit/IRremoteESP8266/actions/workflows/Lint.yml/badge.svg)](../../actions/workflows/Lint.yml)\n[![Tests](https://github.com/crankyoldgit/IRremoteESP8266/actions/workflows/UnitTests.yml/badge.svg)](../../actions/workflows/UnitTests.yml)\n[![Documentation](https://github.com/crankyoldgit/IRremoteESP8266/actions/workflows/Documentation.yml/badge.svg)](../../actions/workflows/Documentation.yml/badge.svg)\n[![arduino-library-badge](https://www.ardu-badge.com/badge/IRremoteESP8266.svg?)](https://www.ardu-badge.com/IRremoteESP8266)\n[![GitLicense](https://gitlicense.com/badge/crankyoldgit/IRremoteESP8266)](https://gitlicense.com/license/crankyoldgit/IRremoteESP8266)\n\nThis library enables you to **send _and_ receive** infra-red signals on an [ESP8266](https://github.com/esp8266/Arduino) or an\n[ESP32](https://github.com/espressif/arduino-esp32) using the [Arduino framework](https://www.arduino.cc/) using common 940nm IR LEDs and common IR receiver modules. e.g. TSOP{17,22,24,36,38,44,48}* demodulators etc.\n\n## v2.8.6 Now Available\nVersion 2.8.6 of the library is now [available](https://github.com/crankyoldgit/IRremoteESP8266/releases/latest). You can view the [Release Notes](ReleaseNotes.md) for all the significant changes.\n\n#### Upgrading from pre-v2.0\nUsage 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](https://github.com/crankyoldgit/IRremoteESP8266/wiki/Upgrading-to-v2.0) page.\n\n#### Upgrading from pre-v2.5\nThe library has changed from using constants declared as `#define` to\n[const](https://google.github.io/styleguide/cppguide.html#Constant_Names) with\nthe appropriate naming per the\n[C++ style guide](https://google.github.io/styleguide/cppguide.html).\nThis may potentially cause old programs to not compile.\nThe most likely externally used `#define`s have been _aliased_ for limited\nbackward compatibility for projects using the old style. Going forward, only the\nnew `kConstantName` style will be supported for new protocol additions.\n\nIn the unlikely case, it does break your code, then you may have been referencing\nsomething you likely should not have. You should be able to quickly determine\nthe new name from the old. e.g. `CONSTANT_NAME` to `kConstantName`.\nUse common sense or examining the library's code if this does affect code.\n\n## Supported Protocols\nYou can find the details of which protocols \u0026 devices are supported\n[here](https://github.com/crankyoldgit/IRremoteESP8266/blob/master/SupportedProtocols.md).\n\n## Troubleshooting\nBefore reporting an issue or asking for help, please try to follow our [Troubleshooting Guide](https://github.com/crankyoldgit/IRremoteESP8266/wiki/Troubleshooting-Guide) first.\n\n## Frequently Asked Questions\nSome common answers to common questions and problems are on our [F.A.Q. wiki page](https://github.com/crankyoldgit/IRremoteESP8266/wiki/Frequently-Asked-Questions).\n\n## Library API Documentation\nThis library uses [Doxygen](https://www.doxygen.nl/index.html) to [automatically document](https://crankyoldgit.github.io/IRremoteESP8266/doxygen/html/) the [library's](https://crankyoldgit.github.io/IRremoteESP8266/doxygen/html/) [API](https://en.wikipedia.org/wiki/Application_programming_interface).\nYou can find it [here](https://crankyoldgit.github.io/IRremoteESP8266/doxygen/html/).\n\n## Installation\n##### Official releases via the Arduino IDE v1.8+ (Windows \u0026 Linux)\n1. Click the _\"Sketch\"_ -\u003e _\"Include Library\"_ -\u003e _\"Manage Libraries...\"_ Menu items.\n1. Enter `IRremoteESP8266` into the _\"Filter your search...\"_ top right search box.\n1. Click on the IRremoteESP8266 result of the search.\n1. Select the version you wish to install and click _\"Install\"_.\n\n##### Manual Installation for Windows\n1. Click on _\"Clone or Download\"_ button, then _\"[Download ZIP](https://github.com/crankyoldgit/IRremoteESP8266/archive-\u003emaster.zip)\"_ on the page.\n1. Extract the contents of the downloaded zip file.\n1. Rename the extracted folder to _\"IRremoteESP8266\"_.\n1. Move this folder to your libraries directory. (under windows: `C:\\Users\\YOURNAME\\Documents\\Arduino\\libraries\\`)\n1. Restart your Arduino IDE.\n1. Check out the examples.\n\n##### Using Git to install the library ( Linux )\n```\ncd ~/Arduino/libraries\ngit clone https://github.com/crankyoldgit/IRremoteESP8266.git\n```\n###### To update to the latest version of the library\n```\ncd ~/Arduino/libraries/IRremoteESP8266 \u0026\u0026 git pull\n```\n\n## Contributing\nIf you want to [contribute](.github/CONTRIBUTING.md#how-can-i-contribute) to this project, consider:\n- [Reporting](.github/CONTRIBUTING.md#reporting-bugs) bugs and errors\n- Ask for enhancements\n- Improve our documentation\n- [Creating issues](.github/CONTRIBUTING.md#reporting-bugs) and [pull requests](.github/CONTRIBUTING.md#pull-requests)\n- Tell other people about this library\n\n## Contributors\nAvailable [here](.github/Contributors.md)\n\n## Library History\nThis library was originally based on Ken Shirriff's work (https://github.com/shirriff/Arduino-IRremote/)\n\n[Mark Szabo](https://github.com/crankyoldgit/IRremoteESP8266) has updated the IRsend class to work on ESP8266 and [Sebastien Warin](https://github.com/sebastienwarin/IRremoteESP8266) the receiving \u0026 decoding part (IRrecv class).\n\nAs of v2.0, the library was almost entirely re-written with the ESP8266's resources in mind.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrankyoldgit%2Firremoteesp8266","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcrankyoldgit%2Firremoteesp8266","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrankyoldgit%2Firremoteesp8266/lists"}