LOLIN D1 mini ESP32 + LOLIN IR controller shield


I’m relative new to this, so sorry for my ignorance…
I bought some

To get started,

  • I just used the D1 mini board without the IR controller shield attached
  • flashed “esp32dev-ble-firmware.bin” (v0.9.8)
  • connected to my wifi and mqtt broker
    and I saw (ble) messages coming in.
    So far so good.


  • I attached the IR Controller Shield to the D1 mini ESP32 in following way
  • ESP32 TXD <–> IR TX
  • ESP32 RXD <–> IR RX
  • ESP32 GND <–> IR GND
  • ESP32 VCC <–> IR 5V
  • ESP32 RST<–> IR RST
  • ESP32 3V3 <–> IR 3V3
    Basically it’s just putting them on each other and connect every pin of the IR to the ESP32

(note that ALL pins of both devices are connected. Picture above is just to clearify wich pins are connected to each other)


  • I flashed the device with “esp32dev-ir-firmware.bin”
  • connected to my wifi and mqtt broker
    but NO ir-messages are comming in.

So next step

Because all this was my first time, it took my a whole sunday afternoon, but it was fun!

However, I would like to working configuration :slight_smile:
I suppose I have to make some modification to the pinouts, but have no clue were to start…

So my questions:

  • have I connected the both devices correctly?
  • what do I have to do to create an OMG IR-receiver with those components

I found some information on

but this is for an ESP8266 board.

any help is appreciated
and thanx for your patience in advance :wink:


Hey, on my IR shield the pin for the IR receiving is D4, and D3 for the emitter. But I’m not sure this is the same layout as yours, could you share a picture of the top of the shield (I cannot see all the layout on the first one).

Hi @1technophile , thanx for taking a look at this.
Is this what you mean?

kind regards,

Hi @1technophile

Any news on this?
Kind regards,

Thanks for the reminder, so D3/D4 seems to be 0 and 2 on the back of the shield.
And IO17 and IO16 of the WEMOS.
So I would try :
# define IR_RECEIVER_GPIO 16
# define IR_EMITTER_GPIO 17

or the reverse if it doesn’t work

hi @1technophile ,

Just came home from holiday.
First job: changing the PIN definitions in config_IR.h to:
# define IR_RECEIVER_GPIO 16


and yup!
Codes are coming in now.

thanx a lot for your help, much appreciated!

Now climbing up the learning curve of IR-reverse engineering :wink:

kind regards,

1 Like