I have iColor Flex LMX gen2 Color Kinetics pixel strings, they are like ws2811 everyone knows, but older, they use chip named Chromasic. To use these strings I need dedicated Color Kinetics controller PDS-60ca. Such controller can drive 2 strings with 50 nodes each. Problem is that I have many strings and only one controller and it's hard and expensive to buy more controllers Thankfully, someone reverse engineered its data protocol:
Item | WS2812b | Chromasic |
---|---|---|
Baud Rate | 800 kHz | 454.4 kHz |
Bits Per Pixel | 24 | 36 |
Idle Pattern | Hold data line low | Send zeros |
Addressing Mode | Reset to address first node; used data is โswallowedโ by the node and not sent to downstream nodes. | Send start code to address first node; consumed data is replaced by start codes sent to downstream nodes. |
I just need simple rainbow effect, nothing more. Is it even possible to achieve it with Arduino? If Arduino can drive ws2811 with 800kHz then I hope it's possible to send data with 454.4kHz? How can I do it?
If I send this with 454.4 kHz baud rate:
111111111111100000000
101111111111100000001000000000000000000010011000000000000000
101111111111100000001010100001111000000010000000000000000000
100000000000000000001000000000000000000010000000000000000000
100000000000000000001000000000000000000010000000000000000000
100000000000000000001000000000000000000010000000000000000000
100000000000000000001000000000000000000010000000000000000000
100000000000000000001000000000000000000010000000000000000000
100000000000000000001000000000000000000010000000000000000000
I should get static first node set to red with a bit of blue and the second node set to yellow. If it would be working, then next I would try with dynamic rainbow effect.