ESP8266 Software PWM Output¶
The ESP8266 Software PWM platform allows you to use a software PWM on the pins GPIO0-GPIO16 on your ESP8266. Note that this is a software PWM, so there can be some flickering during periods of high WiFi activity. Hardware PWMs like the one on the ESP32 (see ESP32 LEDC Output) are preferred.
# Example configuration entry output: - platform: esp8266_pwm pin: D1 frequency: 1000 Hz id: pwm_output # Example usage in a light light: - platform: monochromatic output: pwm_output name: "Kitchen Light"
pin (Required, Pin Schema): The pin to use PWM on.
id (Required, ID): The id to use for this output component.
frequency (Optional, frequency): The frequency to run the PWM with. Lower frequencies have more visual artifacts, but can represent much more colors. Defaults to
All other options from Output.
If you previously had Tasmota installed on your device and have just flashed ESPHome onto it, you may encounter an issue where the PWM output is only fully on or off.
A hard reset fixes the problem - if you have this issue please power cycle the device, that should fix it.
This Action allows you to manually change the frequency of an ESP8266 PWM channel at runtime. Use cases include controlling a passive buzzer (for pitch control).
on_...: - output.esp8266_pwm.set_frequency: id: pwm_output frequency: 100Hz
id (Required, ID): The ID of the PWM output to change.
frequency (Required, templatable, float): The frequency to set in hertz.