Skip to content

IR Remote

IR Remote driver enables sending IR codes through an IR transmitter and receiving them through an IR receiver via IRremoteESP8266 library.

Most builds support only the common IR protocols, but tasmota-ir.bin supports almost all protocols available in the IRremoteESP8266 library.

IR Transmitter~

Common transmitter modules in the market have a weak IR LED, thus effective transmit distance is really short. If you need range it is best to build your own. For the LED we recommend TSAL6400 for best performance.

YT-IRTM transmitter/receiver board is serial only and does not work with this driver (it's also limited to only NEC IR protocol).


IR w/ 2N222 ESP
data GPIOx
+ 3.3v/5v


In the Configuration -> Configure Module page assign:

  • GPIOx to IRsend (8)

See IR commands for use.

IR Receiver~

IR Receiver is used to capture IR codes. Those codes can be sent using IRSend or used as a rule trigger.

Example uses the widely available KY-022 breakout board.


KY-022 ESP
+ 5v


In the Configuration -> Configure Module page assign:

  • GPIOx to IRrecv (51)

On a captured code IR receiver sends a tele/%topic%/RESULT JSON response:

  "Time": "2019-01-01T00:00:00",
  "IrReceived": {
    "Protocol": "NEC",
    "Bits": 32,
    "Data": "0x00FF00FF"

Further Reading~

This covers only the basic IR protocols. Read Complete IR Remote Protocols for more advanced applications.

IR Send RAW configuration and use

User maintained codes database for IR

Linux Infrared Remote Control (LIRC) for more information.

Example circuit with transmitter and receiver: Example circuit with transmitter and receiver