Skip to content

Infrared Control

Aircoookie edited this page Apr 3, 2019 · 8 revisions

Since v0.8.2, infrared control from 24-key RGB remotes is supported (ESP8266 only).

A dedicated infrared receiver module is required. (KY-022 is confirmed to work and inexpensive)

The default sensor pin is GPIO4. It can be changed in NpbWrapper.h

How to add custom codes

Have a random remote laying around? Or a button on your TV remote that does nothing? You can make these compatible with WLED if they use a 38kHz carrier frequency like most IR remotes do.

Firstly, connect your ESP8266 to a PC and open the Arduino IDE serial monitor. Try pressing the button(s) you'd like to program. If your receiver is connected correctly, you should see something like this printed to the serial monitor:

IR recv
0xFFDE10

In this example, 0xFFDE10 is the infrared code in HEX. If you get 0xFFFFFFFF, the same code was received multiple times - try only tapping the remote button for a very brief time.

Now, open the file ir_codes.h and add your IR code by adding (for example) #define IRCUSTOM_MACRO1 0xFFDE10.

Almost done! Open wled20_ir.ino and add your IR code into the switch structure in the decodeIRCustom() method. You should be able to follow the existing code to program your desired action. For example, you could do case IRCUSTOM_MACRO1: bri = 255; break; to set maximum brightness.

Clone this wiki locally