#19379·esphome

rp2040_pio_led_strip: Pico 2 W becomes unreachable with 360 SK6812 LEDs and update_interval: 20ms

Author: koenigwolfgangCreated Sep 17, 2026Updated Sep 17, 2026

The problem

I run a Raspberry Pico 2 W with a SK6812 LED stripe (360 LEDs). Basically I face two issues where I don't know if they are related:

  1. When I set chipset: sk6812 in the light: section (rp2: board: rpipico2w) all LEDs stay OFF no matter what. I got this kind of resolved with setting the timings to
bit0_high: 0.25us    
bit0_low: 1.0us    
bit1_high: 0.875us    
bit1_low: 0.375us

The timings come from my previous self-written python application.

  1. (more concerning) When I change ``` effects:
    • addressable_lambda: name: "Beleuchtung Zuwegung Effekt" update_interval: 16ms
from 16ms to 20ms, and flashing the firmware, the Pico 2W disappears from the network. Flashing again with 16ms -> Pico 2W is back again.

### Which version of ESPHome has the issue?

Device Builder 1.13.1 ESPHome 2026.8.2

### What type of installation are you using?

Home Assistant Add-on

### What platform are you using?

RP2040

### Component causing the issue

rp2040_pio_led_strip

### YAML Config

```yaml
esphome:
  name: beleuchtungzuwegung
  friendly_name: Beleuchtung Zuwegung

rp2:
  board: rpipico2w

logger:

api:

ota:
  - platform: esphome

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  ap:
    ssid: Bel Zuwegung Fallback Hotspot
    password: "Y4CJe8ljnsdP"

captive_portal:


# ================================================================
# HTTP / REST API
# ================================================================

web_server:
  port: 80
  version: 3

# ================================================================
# Status
# ================================================================

binary_sensor:

  - platform: status
    name: "Beleuchtung Zuwegung Pico 2W Status"

# ================================================================
# Sensors
# ================================================================

sensor:

  - platform: wifi_signal
    name: "Beleuchtung Zuwegung Pico 2W WLAN Signal"
    update_interval: 60s

  - platform: uptime
    name: "Beleuchtung Zuwegung Pico 2W Uptime"

  # Für Bewegungsleuchten verwendet
  - platform: homeassistant
    id: bewegung_sensor1
    entity_id: input_number.bewegung1

  - platform: homeassistant
    id: bewegung_sensor2
    entity_id: input_number.bewegung2

  - platform: homeassistant
    id: bewegung_sensor3
    entity_id: input_number.bewegung3

button:

  - platform: template
    name: "Licht einschalten"
    id: licht_einschalten
    internal: false

    on_press:
      - logger.log:
          level: INFO
          format: "HTTP-Befehl: Licht einschalten wurde empfangen"

      - light.turn_on: beleuchtungzuwegung

  - platform: template
    name: "Licht ausschalten"
    id: licht_ausschalten
    internal: false

    on_press:
      - logger.log:
          level: INFO
          format: "HTTP-Befehl: Licht ausschalten wurde empfangen"

      - light.turn_on:
          id: beleuchtungzuwegung
          effect: "none"
    
      - delay: 25ms
      
      - light.addressable_set:
          id: beleuchtungzuwegung
          range_from: 0
          range_to: 359
          red: 0%
          green: 0%
          blue: 0%
          white: 0%
      
      - delay: 25ms
      
      - light.turn_off:
          id: beleuchtungzuwegung
          transition_length: 0s
          
# ================================================================
# SK6812 RGBW LED strip
# ================================================================

light:
  - platform: rp2040_pio_led_strip
    pin: GPIO28
    pio: 0
    num_leds: 360
    name: "Beleuchtung Zuwegung"
    id: beleuchtungzuwegung
    channel_colors: GRBW
    default_transition_length: 0s
    bit0_high: 0.25us
    bit0_low: 1.0us
    bit1_high: 0.875us
    bit1_low: 0.375us

    effects:
      - addressable_lambda:
          name: "Beleuchtung Zuwegung Effekt"
          update_interval: 16ms

          lambda: |-
            // ============================================================
            // Einstellungen
            // ============================================================
          
            const int NUM_LEDS = 360;
            
            // ... effect code omitted

Anything in the logs that might be useful for us?

txt
No logs as can't reach Pico 2W anymore, therefore no logs available. Firmware flash protocol shows nothing unusual.

Additional information

Under - platform: template name: "Licht ausschalten" id: licht_ausschalten internal: false you see some trials to try to solve another issue: When setting light switch to OFF the last about 10 LEDs stay on in 8 out of 10 times.