FAQ
TL;DR: 0-1023 PWM range gives 1024 brightness steps and “ESP Easy can be controlled by PWM” [Slawek K., #17568706]. Use an IR-enabled ESP Easy build plus a TSOP4838 on D3 to read TV-remote codes.
Why it matters: One board handles Wi-Fi, fading LEDs and IR control without extra microcontrollers.
Quick Facts
- PWM duty range: 0–1023 → 0–100 % brightness [Elektroda, Slawek K., #17568706]
- Flash a *normal_IR* or *_IR_4096* build to add IR Input plugin [Elektroda, maystero, post #17623041]
- Add 4.7 µF across Vcc–GND on TSOP4838 to cut noise >90 % [Elektroda, khoam, post #17852042]
- Core 2.4.1 build 20190903 fixes PWM fade bug on GPIO 12 [Elektroda, demsy, post #18166746]
- HTTP syntax: /control?cmd=PWM,GPIO,DUTY[,TIME,Hz] (e.g. PWM,13,500) [Elektroda, Slawek K., #17568706]
1. Can a Wemos D1 running ESP Easy dim an LED strip?
Yes. Send /control?cmd=PWM,,<0-1023>. Duty 0 turns the MOSFET off; 1023 gives full brightness [Elektroda, Slawek K., #17568706].
2. What PWM command string should I use?
Format: PWM,GPIO,DUTY. Example: /control?cmd=PWM,12,512 sets 50 % duty [Elektroda, Slawek K., #18166363]. Add optional TIME,Hz for fades (e.g. PWM,12,0,1000,4000).
3. Why does duty 0 switch the strip off instantly?
A duty of 0 resets the pin to LOW, exiting PWM mode; smooth fade needs a small non-zero value (e.g. 20) then ramp down [Elektroda, khoam, post #18166548]
4. How do I enable smooth fade on power-down?
Issue two commands: 1. PWM,12,1023,1000,4000 to ramp to full; 2. PWM,12,20,1000,4000 then finally PWM,12,0. Each step lasts the TIME parameter (ms).
5. Which firmware contains the IR Input plugin?
Any build name ending in IR (e.g. ESP_Easy_mega-20181204_normal_IR_ESP8266_4096.bin) or _normal_core241... after 2019-09-03 [Elektroda, maystero, #17623041; demsy, #18166746].
6. How do I wire the TSOP4838/1736 correctly?
Connect Vs to 3.3 V, GND to GND, OUT to D3 (GPIO 0/Pad3). Add 4.7 µF electrolytic across Vcc–GND and a 100 Ω series resistor on Vs to suppress noise [Elektroda, khoam, post #17852042]
7. I see random codes in the log—what’s wrong?
Noise or unstable supply. The capacitor + resistor filter removes >90 % of false triggers. Also keep receiver away from CFL and plasma TV sources [Elektroda, khoam, post #17852042]
8. How do I capture IR codes and toggle specific GPIOs?
- Enable Rules in Tools→Advanced. 2. In the log note IR_RECEIVER#IR value. 3. Create a rule:
on IR_RECEIVER#IR do
if [IR_RECEIVER#IR]=2017267209
gpio,14,![14]
endif
endon
This inverts GPIO 14 each time that code is received [Elektroda, Slawek K., #17624215].
9. My rule never toggles twice—why?
Ensure a space after IF: if [var]=value
. Missing space prevents the parser from updating the variable, so the second press appears identical [Elektroda, Slawek K., #17852405].
10. "Unknown or restricted command!" after flashing—fix?
A bug exists in builds after 2018-12-08; downgrade to 2018-12-04 or newer 2019-09-03 core 2.4.1 build [Elektroda, Slawek K., #17623618; demsy, #18166746].
11. How can I integrate with Domoticz if it lacks PWM widgets?
Create a virtual switch in Domoticz and point its On/Off action URLs to ESP Easy PWM commands. Alternatively use a Dummy device and Rules to translate MQTT messages to PWM [Elektroda, maystero, post #17570596]
12. What’s the maximum current the ESP8266 GPIO can drive?
Each GPIO sources about 12 mA max; always drive LED strips through a MOSFET or LED driver, not directly [Espressif Datasheet, 2020].
13. What edge-case firmware failure should I watch?
Build 2018-12-08_normal_IR blocks all GPIO, returning "Unknown command"; many users spent hours debugging before rolling back [Elektroda, Slawek K., #17623618].
14. Quick 3-step setup for IR-controlled dimming
- Flash _normal_IR build and enable Rules.
- Wire TSOP4838 with 4.7 µF cap to D3.
- Add rule that maps captured IR codes to PWM commands; test with /control?cmd=PWM,12,512.