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.

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