FastLED vs WS2812Serial vs OctoWS2811


Well-known member
I have been using fastLED and seeing a few bits of odd behaviour (like the first couple of LEDs not lighting if I .show() too soon after setting the pixel colours etc... Odd stuff. I have managed to make it work by re-ordering some code but I feel like I am working around strangeness.

I am aware that fastLED disabled interrupts but am also aware that it re-enables them on fast Teensy devices between pixels.

That said, I just noticed WS2812Serial doesn't muck around with interrupts at all and isn't blocking so seems like an ideal replacement (I only have a single 1x8 WS2812 string as status LEDs) but it uses serial pins and I have boards spun I would like to use with the digital out on pin 10. (Teensy 4.1)

Then I saw OctoWS2811 and noted that on the T4.1 I am free to use any pin for any of the 8 strings. I quickly sanity checked that it works and it does but I wondered about the potentially monster overkill of using OctoWS2811 over WS2812Serial for just 8 LEDs, and whether I'm paying another price elsewhere in return for the non blocking, not using interrupts and using DMA transfer?

If there's no downside to using OctoWS2811 then I can easily sub it into my program and remove the fastLED interrupt funkiness.

So, any real downside to using OctoWS2811 over FastLED or WS2812Serial?

Cheers - N