MCPcopy Create free account
hub / github.com/Arduino-IRremote/Arduino-IRremote

github.com/Arduino-IRremote/Arduino-IRremote @v4.7.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v4.7.1 ↗ · + Follow
467 symbols 665 edges 74 files 228 documented · 49% updated 17d agov4.7.1 · 2026-04-08★ 5,003

Browse by type

Functions 431 Types & classes 36
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Arduino IRremote

A library enabling the sending & receiving of infrared signals.

Badge License: MIT     Badge Version     Badge Commits since latest     Badge LibraryBuild

Stand With Ukraine

Available as Arduino library "IRremote".

Button Install     Button API     Button Changelog     Button Contribute

If you find this program useful, please give it a star.

🌎 Google Translate

Table of contents

Supported IR Protocols

NEC / Onkyo / Apple,     Denon / Sharp,     Panasonic / Kaseikyo,

JVC,     LG,     RC5,     RC6,     Samsung,     Sony,     Marantz

Universal Pulse Distance,     Universal Pulse Width,     Universal Pulse Distance Width

Hash,     Pronto

BoseWave,     Bang & Olufsen,     Lego,     FAST,     Whynter,     Marantz,     MagiQuest,     Velux,     OpenLASIR

Protocols can be switched off and on by defining macros before the line #include <IRremote.hpp> like here:

#define DECODE_NEC
//#define DECODE_DENON
#include <IRremote.hpp>

Common issues when using IRremote

Or "I build a gadget with 2 motors controlled by IR and the IR stops after the first motor command".

This is due to the fact, that the motor control by AnalogWrite() uses the same timer as IR receiving.

See this table for the list of timers and pins.

Migrating legacy projects to the latest version

This library has been refactored, breaking backward compatibility with the old version, on which many examples on the Internet are based.

If your code uses irrecv.decode(&results), it is written for Version 2.x. This library (Version 4.x) now uses a simpler IrReceiver.decode() syntax. See the Conversion guide below.

New features and

Core symbols most depended-on inside this repo

Shape

Method 253
Function 178
Class 36

Languages

C++100%

Modules by API surface

src/IRReceive.hpp62 symbols
examples/AllProtocolsOnLCD/LiquidCrystal_I2C.hpp45 symbols
examples/AllProtocolsOnLCD/ADCUtils.hpp41 symbols
examples/AllProtocolsOnLCD/LiquidCrystal.cpp26 symbols
src/IRSend.hpp22 symbols
src/TinyIRReceiver.hpp15 symbols
src/ir_Pronto.hpp14 symbols
src/IRCommandDispatcher.hpp13 symbols
src/ir_Samsung.hpp12 symbols
src/ir_RC5_RC6.hpp12 symbols
src/ir_NEC.hpp12 symbols
examples/AllProtocolsOnLCD/LCDPrintUtils.hpp11 symbols

For agents

$ claude mcp add Arduino-IRremote \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page