Skip to content
Get started

RP2040 PIO LED Strip

This is a component using the RP2040 PIO peripheral to drive most addressable LED strips.

light:
- platform: rp2040_pio_led_strip
name: led_strip
id: led_strip
pin: GPIOXX
num_leds: 10
pio: 0
channel_colors: GRB
chipset: WS2812B
  • pin (Required, Pin): The pin for the data line of the light.

  • num_leds (Required, int): The number of LEDs in the strip.

  • pio (Required, int): The PIO peripheral to use. If using multiple strips, you can use up to 4 strips per PIO. Must be one of 0 or 1.

  • chipset (Optional, enum): The chipset to apply known timings from.

    • WS2812
    • WS2812B
    • SK6812
    • SM16703
  • channel_colors (Required, string): The order in which the strip expects its color channels. List each of R, G and B exactly once, optionally with a single W in any position; for example GRB, BGR, GRBW, WRGB or RWGB. The value is case-insensitive. Including a W makes this a four channel RGBW strip.

  • All other options from Light.

These can be used if you know the timings and your chipset is not set above. If you have a new specific chipset, please consider adding support to the codebase and add it to the list above.

  • bit0_high (Optional, Time): The time to hold the data line high for a 0 bit.
  • bit0_low (Optional, Time): The time to hold the data line low for a 0 bit.
  • bit1_high (Optional, Time): The time to hold the data line high for a 1 bit.
  • bit1_low (Optional, Time): The time to hold the data line low for a 1 bit.