IR code reader with ESP8266 Wemos D1 mini and ESPHome

IR code reader with ESP8266 Wemos D1 mini and ESPHome

Quick step-by-step guide on assembling an IR receiver for reading IR codes from your remotes based on Wemos D1 mini, Wemos IR shield, and using ESPHome.

Components used

  1. The housing from Broadling RM Pro+
  2. Wemos D1 mini development board
  3. Wemos IR shield
  4. USB to micro-USB cambe


First of all, we need to make our shield work with all transmitting LEDs and the pins we need. In this example, we will use D3 for sending and D4 for receiving.

Now lets put the board into the housing with cable connected and glue it all:

Then put the shield on top:

Finally, close the housing:


In ESPHome let’s create a config:

  name: ir_receiver
  platform: ESP8266
  board: d1_mini

  ssid: "WiFi"
  password: "************"

  # Enable fallback hotspot (captive portal) in case wifi connection fails
    ssid: "IR Receiver"
    password: "************"


# Enable logging
  level: DEBUG

# Enable Home Assistant API
  password: "************"

  password: "************"

    number: D4
    inverted: true
    - samsung

As you can see it is set up to dump only Samsung-specific codes. You can read more about reading other codes on Also pay attention on logger section. It is set to DEBUG level.

Compile, flash, open logs and start firing into our device with your IR remote. You’ll see something like this:

[17:34:48][D][]: Received Samsung: data=0xE0E007F8
[17:34:51][D][]: Received Samsung: data=0xE0E020DF

You can now use this data with the ESPHome Remote Transmitter component to build, for example, something like this.