Skip to content

Timings for ws2816 are off (esp32, rmt) #919

@simon-budig

Description

@simon-budig

The pulse timings for the ws2816 LEDs are off and might cause a bright flicker of the first LED.

The datasheet of the ws2816 specifies

T0H0 code, high voltage time: 200ns-320ns
T1H1 code, high voltage time: 520ns-800ns
T0L0 code, low voltage time: 800ns-1.2µs
T1L1 code, low voltage time: 480ns-1µs

while the code for the NeoEsp32Rmt0Ws2816Method specifies NeoEsp32RmtSpeedWs2812x, which uses 400ns for T0H0 and 800ns for T1H1.

Since I no longer use github for hosting I cloned the repository at codeberg, created a commit adding a NeoEsp32RmtSpeedWs2816x and using it for the ws2816 RMT methods.

A similiar change might be needed for other peripherals, I did not do it since I don't have a means to check what I changed.

The change at https://codeberg.org/nomis/NeoPixelBus has been verified against different variants of the ws2816.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions