Go Down

Topic: the code for SK6822 LED  (Read 2469 times) previous topic - next topic


i have some SK6822 LED , It is different from WS2812B and SK6812 LED , this SK6822 led ,when one broken ,it will not affect another led , this is new SPI signal , then can make the led strip can still working when some led is broken . the datasheet of it is on the following


Please do not send me PMs asking for help.  Post in the forum then everyone will benefit from seeing the questions and answers.


Do you have a question ?
hello , I want the code of it . thanks


If no one has written any, Google should tell you, then you will have to write it yourself. The data sheet will tell you what signals you need.


They are not SPI interfaces. Looks like regular single data stream (NZR???) as in FastLED library.

Have you tried that library? I bet it will work if everything is connected correctly.
Looks as if you have to create two FastLED objects. But it would probably work with one,
the other being "broken".

There is some bizarre scheme to have two inputs and the ability to select between them if one fails.
Man, the Chinese can't document worth a damn.


Have you tried that library? I bet it will work if everything is connected correctly.
So how do you get two synchronised outputs out of that library?

Have you looked at the two timing signals? While some are the same others are very different. Note that the SK6812 has a tolerance of +/- 0.15nS so a processor with a 62.5nS can't possibly meet that. Mind you I will have to agree with you that:-
Man, the Chinese can't document worth a damn.


Dec 21, 2015, 01:23 am Last Edit: Dec 21, 2015, 03:38 am by boolrules
Imagine that your second synchronized timing signal is "broken". It's supposed to ignore broken inputs. So it's worth a try.
EDIT: or drive both inputs with the same signal.

We know what the timing spec means for the WS2812. It's not like those data tables ever meant anything real

So, it will either work or not work.


FastLED has support for the SK6822 chipset now. 

As for how the SK6822, it's kind of like this:

Each chip has a main data in pin that it receives data on, and a main data out pin that it sends out reshaped data on.  Led1's DOUT connects to Lled2's DIN.  Led2's DOUT connects to led3's DIN.

However, there's a second set of lines going.  Led1's DOUT is _also_ linked to Led3's second DIN pin (let's call it DIN2).  If Led 3 gets data on the second DIN pin, but not the first DIN pin, then led 3 knows that something happened to led2 (e.g. someone fried it).  It will ignore 24 bits of data that come in on DIN2 (to 'skip' the dead pin), then use the next 24 bits of data (to set its color), and then it will send the rest of the data that comes in over DIN2 back out over DOUT, into led4's DIN pin where things will progress as "normal". 

(Again, this is a very rough description of how it's working, mostly - and I'm making an assumption that they're doing something intelligent with skipping data so that you don't have everything down the line of leds shift, but maybe they aren't - i haven't played with them yet).

(As an aside, FastLED supports these chips). 

One thing that isn't clear to me is if you have to wire the data line from your MCU to both DIN lines on the strip (or if they play some game in the strip manufacturing to get that "for free").

FastLED (formerly FastSPI_LED) -- new home http://fastled.io

Go Up