PWM LED


The 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 configuration.yaml:

# Example configuration.yaml entry
light:
  - platform: rpi_gpio_pwm
    leds:
      - name: Lightstrip Cupboard
        driver: gpio
        pins: [17]
        type: simple

Configuration variables:

  • leds array (Required): Can contain multiple LEDs.
    • name (Required): The name of the LED.
    • driver (Required): The driver which controls the LED. Choose either gpio or pca9685.
    • 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 rgb, rgbw or simple.
    • freq (Optional): The PWM frequency. (Default: 200)
    • address (Optional): The address of the PCA9685 driver. (Default: 0x40)

Examples

In this section you find some real life examples of how to use this sensor.

RGB LED connected to PCA9685 controller

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

RGBW LED connected to PCA9685 controller

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