Skip to content

IRremote Library Compatibility

Receive and send infrared remote-control protocols. Uses Timer2 for reception.

Pinned version
4.7.1
Last matching compile evidence
2026-10-25
Toolchain
avr-gcc-wasm@0.2.0
Primary headers
IRremote.hpp, IRremote.h, IRremoteInt.h, TinyIRReceiver.hpp, TinyIRSender.hpp, ac_LG.h, ac_LG.hpp, digitalWriteFast.h, ir_BangOlufsen.hpp, ir_BoseWave.hpp, ir_Denon.hpp, ir_DistanceWidthProtocol.hpp, ir_FAST.hpp, ir_JVC.hpp, ir_Kaseikyo.hpp, ir_Lego.hpp, ir_LG.hpp, ir_MagiQuest.hpp, ir_NEC.hpp, ir_OpenLASIR.hpp, ir_Others.hpp, ir_Pronto.hpp, ir_RC5_RC6.hpp, ir_Samsung.hpp, ir_Sony.hpp, ir_Template.hpp, IRCommandDispatcher.h, IRCommandDispatcher.hpp, IRFeedbackLED.hpp, IRProtocol.h, IRProtocol.hpp, IRReceive.hpp, IRSend.hpp, IRVersion.h, LocalDebugLevelEnd.h, LocalDebugLevelStart.h, LongUnion.h, TinyIR.h

Dependencies and practical limits

Receive and send infrared remote-control protocols. Uses Timer2 for reception.

Use the pinned 4.x API and example; older tutorials can use incompatible include names or calls.

Timers, interrupt pins and transmit/receive capabilities vary by board. Inspect its matrix rather than assuming an Uno result transfers.

No additional catalog dependencies are required.

For a missing header, first compare the include to the example below. For an undeclared identifier, inspect the first diagnostic and selected board rather than changing every library version.

Board compile matrix

These are recorded compile/link results for the current build and exact source hash. UNTESTED means no matching proof, not an assumed pass. Memory values belong to the listed example and exclude runtime stack/heap or dynamic buffers.

Board/profileResultFlash bytesStatic SRAM bytesLast tested
Arduino Uno R3 — ATmega328PPASS120964912026-10-25
Arduino Nano V3 — ATmega328P (new bootloader)PASS120964912026-10-25
Arduino Nano V3 — ATmega328P (old bootloader)PASS120964912026-10-25
ATmega328PB — 16 MHzPASS123044912026-10-25
Arduino Mega 2560 — ATmega2560PASS1324810752026-10-25
Arduino Leonardo — ATmega32U4 · native USBPASS1497010392026-10-25
Arduino Micro — ATmega32U4 · native USBPASS1497010392026-10-25
Arduino Pro Mini — 5 V · 16 MHzPASS121004912026-10-25
Arduino Pro Mini — 3.3 V · 8 MHzPASS120844912026-10-25

Build: e0f6d304cce4ae0a0989a9b1300cbc1a21a595e5e3e7f57ed0ab3468ecf7940b. Library source hash: 9071dddc11755498ffedc7814d7ab8665091a39ca7794a1ff309e9579d29f978. Compilation does not certify physical peripherals, timing or USB upload.

IR remote example

This is the actual pinned example available in Circuitera. Pin choices and wiring in a general example use Uno unless otherwise stated; review the selected board reference for other targets.

#include <IRremote.hpp>
void setup() { Serial.begin(9600); IrReceiver.begin(2, DISABLE_LED_FEEDBACK); }
void loop() {
  if (IrReceiver.decode()) {
    IrReceiver.printIRResultShort(&Serial);
    Serial.println();
    IrReceiver.resume();
  }
}
Open IR remote in Circuitera →

Projects using IRremote

No validated public tutorial currently uses this library. The example demonstrates compilation; no working simulator peripheral or hardware project is implied.

Upstream source and documentation ↗

Pinned source archive (4.7.1) ↗

Read the test methodology →

Keep exploring.