rpi_gpio_pwm platform allows to control multiple lights using pulse-width modulation, for example led strips. It supports one-color, RGB and RGBW LEDs driven by GPIOs of a Raspberry Pi or a PCA9685 controller.
For controlling the GPIOs, the platform connects to the pigpio-daemon, which must be running. On Raspbian Jessie 2016-05-10 or newer the
pigpio library is already included. On other operating systems it needs to be installed first (see installation instructions).
To enable this platform, add the following lines to your
# Example configuration.yaml entry light: - platform: rpi_gpio_pwm leds: - name: Lightstrip Cupboard driver: gpio pins:  type: simple
leds array (Required): Can contain multiple LEDs.
- name (Required): The name of the LED.
driver (Required): The driver which controls the LED. Choose either
- pins (Required): The pins connected to the LED as a list.. The order of pins is determined by the specified type.
type (Required): The type of LED. Choose either
freq (Optional): The PWM frequency. (Default:
address (Optional): The address of the PCA9685 driver. (Default:
In this section you find some real life examples of how to use this sensor.
This example uses a PCA9685 controller to control a RGB LED.
# Example configuration.yaml entry light: - platform: rpi_gpio_pwm leds: - name: TV Backlight driver: pca9685 pins: [0, 1, 2] # [R, G, B] type: rgb
This example uses a PCA9685 controller to interact with a RGBW LED.
# Example configuration.yaml entry light: - platform: rpi_gpio_pwm leds: - name: Lightstrip Desk driver: pca9685 pins: [3, 4, 5, 6] # [R, G, B, W] type: rgbw