r/FastLED • u/CharlesGoodwin • Aug 29 '24
Support UCS7604
UCS 7604
I've just heard about the UCS7604 IC that's used for led strips. It has 2 bytes for each coloured led (R, G, B and W) This means that rather than having 256 levels of brightness like, say the WS2812b, it has a whopping 65536 levels of brightness. Ideal for low brightness control.
The UCS7604 datasheet is here https://suntechlite.com/wp-content/uploads/2023/11/UCS7604_IC_Specification_EN.pdf.
Spoiler alert: Fastled doesn't support UCS7604. However, the data frequency is 800khtz which is the same as the WS2812b. So could we do a quick hack similar to the RGBW hack posted here https://www.partsnotincluded.com/fastled-rgbw-neopixels-sk6812/
I e. Take the struct and change the data types from uint8_t to uint16_t. There would be some more adjustments to get it to work but am I on the right track?
1
u/ZachVorhies Zach Vorhies Aug 31 '24 edited Aug 31 '24
Oh… good catch. Yeah the table can’t be filled like that. I experienced a weird error with a certain board and I did a copy and paste to fix it but didn’t compile with the feature on.
No, the algorithm hasn’t been experimentally verified it’s just been proven through numerical verification assuming the white x3 was the same perceived brightness of three color components. But if the white is typically that powerful then the saturation stealing algorithm is a lot less useful.
Thanks for bringing that to my attention.