IR code reader with ESP8266 Wemos D1 mini and ESPHome

Quick step by step guide on assembling a 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

Assembling

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.

image image image

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

image

Then put the shield on top:

image

Finally, close the housing:

image

Using

In ESPHome let’s create a config:

esphome:
  name: ir_receiver
  platform: ESP8266
  board: d1_mini

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

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

captive_portal:

# Enable logging
logger:
  level: DEBUG

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

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

remote_receiver:
  pin:
    number: D4
    inverted: true
  dump:
    - samsung

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

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

[17:34:48][D][remote.samsung:055]: Received Samsung: data=0xE0E007F8
[17:34:51][D][remote.samsung:055]: Received Samsung: data=0xE0E020DF

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

Updated:

Comments