Ws2811 issues
The 12v ws2811 LEDs don't work well and keeps flickering even with a logic volt shifter from 3.3 to 5v
Are you able to address all pixels individually or only in blocks of 3?
If it's individually then you are likely using the WS2815 which has different timings than the WS2811
WS2815
WS2812 (close to WS2811 since WS2811 datasheet only has half data-rate listed)
Hello I have never tried ws2815 but I think it will work with the same timing I 've used for the ws2812. I don't have ws2815 at hand but I am pretty sure it will work.
@hpwit I'm using 5V WS2811 single-point addressable LEDs throughout a couple of projects with ESP32s. Their timing requirements are different than the WS2812 and WS2815 families. Do you have any plans to support these with the ESP32 or ESP32S3?
| LED Type | T1H (1 High Time) | T0H (0 High Time) | T1L (1 Low Time) | T0L (0 Low Time) | Reset Time |
|---|---|---|---|---|---|
| WS2811 | 700 ± 150 ns | 350 ± 150 ns | 600 ± 150 ns | 800 ± 150 ns | > 50,000 ns (50 µs) |
| WS2812 | 800 ± 150 ns | 400 ± 150 ns | 450 ± 150 ns | 850 ± 150 ns | > 50,000 ns (50 µs) |
| WS2812B | 800 ± 150 ns | 400 ± 150 ns | 450 ± 150 ns | 850 ± 150 ns | > 50,000 ns (50 µs) |
| WS2815 | 800 ± 150 ns | 400 ± 150 ns | 450 ± 150 ns | 850 ± 150 ns | > 280,000 ns (280 µs) |
If the issue is just the RESET time, then I can patch fastled's version to do this as it's dead simple. The other timings look pretty similar other than reset.
Okay. I just did an experimental change to allow an extra wait time. It's hacky but will determine if this is the sole timing issue that is affecting you, which I think it is.
Here's the branch:
https://github.com/FastLED/FastLED/tree/i2s-esp32s3-extra-wait-experiment
As an alternative...
You can also insert an additional delay(...) time in your sketch. Make it 500ms so you are sure everything is flushed out. If this fixes the issue then this means it's just the reset that needs to be fixed. The magic dma stuff that @hpwit has done is a little bit advanced for me as I'm not that familiar to me.
FYI, we have our own copy of the I2S driver since 3.9.9. Here's an example:
https://github.com/FastLED/FastLED/blob/master/examples/Esp32S3I2SDemo/Esp32S3I2SDemo.ino