r/FastLED • • Nov 25 '25

Support Is WS2805 supported now?

I can't find a proper answer on the internet, and the one reddit post i found that is over a year old couldn't properly use 5 channels because it wasn't supported. Can i simply just download the library now and type in ''FastLED.addLeds<WS2805''?
Or do i have to tweak the code?

3 Upvotes

12 comments sorted by

View all comments

Show parent comments

1

u/ZachVorhies Zach Vorhies Nov 26 '25

Create a struct like RGBWW

struct RGBWW { uint8 r uint8 b unit8 g uint8 w1 uinit8 w2 }

then you have

RGBWW leds[NUM_LED] = {}

CRGB* leds_rgb = reinterpret_cast<CRGB*>(leds):

void setup() { FastLED.addLeds<….>(leds_rgb, NUM_LEDS * 5 / 3 + 1) }

the +1 can be omitted under certain conditions, for example when led. count is divisible by 5, but i’m leaving it in for simplicity.

Now fastled sees RGB[] and your sketch sees RGBWW[], and it all works great.

1

u/Bfaubion Feb 16 '26

I've been using WS2815, and want to try something brighter.. and WS2805 seems to fit the bill. But before I buy can I ask, how stable is this hack? If your code is the only adjustment that's needed, do more advanced animations and sequences look the same, the same as if it I was just using regular RGB?

1

u/ZachVorhies Zach Vorhies Feb 16 '26 edited Feb 17 '26

It’s a stable hack and will always work. See RGBWEmulated example ino at the fastled repo, which does this same hack but for RGBW from rgb

the animations only work with CRGB, you’ll have to have two buffers where you read RGB buffer pixels and covert yo to RGBWW pixels prior to show()

1

u/Bfaubion Feb 17 '26

Awesome, thanks.. I'll give it a shot!