Connect your SPI clock to the chip clock, CS to ui[0]
, COPI (MOSI) to ui[1]
, and send send entrelaced RGB data for 8 strips, with 8 extra null bytes at the end of the buffer to keep the clock and chip select active for the chip to work.
You will get WS2811 frames on the 8 uo
pins
The SPI clock should be at around 14MHz ideally, but the WS2811 controller is quite flexible about timing.
Connect any microcontroler capable of SPI at ~14MHz, send entrelaced pixel data with 8 bytes of 0 at the end.
Example of frame:
R[0]R[1]R[2]R[3]R[4]R[5]R[6]R[7]G[0]G[1]G[2]G[3]G[4]G[5]G[6]G[7]B[0]B[1]B[2]B[3]B[4]B[5]B[6]B[7]\0\0\0\0\0\0\0\0
^Red data for the 8 strips ^Green data for the 8 strips ^Blue data for the 8 strips ^Null bytes to keep the clock running
Just add more R[0..7]G[0..7]B[0..7] data before the null bytes to drive more than a single LED on each strip.
IceStick for testing and chceking if the output is fine.
# | Input | Output | Bidirectional |
---|---|---|---|
0 | cs | led_0 | led_8 |
1 | copi | led_1 | led_9 |
2 | led_2 | led_10 | |
3 | led_3 | led_11 | |
4 | led_4 | led_12 | |
5 | led_5 | led_13 | |
6 | led_6 | led_14 | |
7 | led_7 | led_15 |