SK9822

SPI RGB · OPSCO Optoelectronics · apa102

Channels
RGB
Bits / channel
8
Supply ≠
4–5.3 V
PWM ≠
4.7 kHz
Backup data
no
Packages
2

Datasheets disagree

The sources we hold state different values for the facts below. Rather than pick one quietly, both sides are listed with where each was read. Check the datasheet for the exact part number and revision you are buying. How this is shown.

PWM frequency

OPSCO’s own sheets give 27 kHz and 1.2 kHz; the best-known third-party analysis gives 4.7 kHz.

What each source says about pwm frequency
SourceSaysPage
cpldcpu, SK9822 teardown (2016) 4.7 kHz —
sk9822-001 27 kHz (SK9822-001) 6
sk9822-a-000 27 kHz (SK9822-A-000) 6
sk9822-ec20-000 1.2 kHz (SK9822-EC20-000) 6
LCSC parametric table, SK9822-EC20 4 kHz —

What we show. 4.7 kHz (the teardown) is shown. The sheets may describe different silicon generations, or contain errors; only a scope settles it.

Colour order

The sheets do not agree on the order the three colours are lit or sent, and one disagrees with itself.

What each source says about colour order
SourceSaysPage
sk9822-001 output structure BGR 7
sk9822-a-000 output structure RBG 7
sk9822-ec20-000 output structure RBG (p7) and GRB (p8) 7

What we show. Not changed in the data. Test on hardware before committing to a colour order in firmware.

Supply voltage

Only one of three sheets gives a minimum supply voltage.

What each source says about supply voltage
SourceSaysPage
sk9822-001 VDD 4.0 / 5.0 / 5.3 V (min / typ / max) 6
sk9822-a-000 VDD typ 5.0, max 5.3 V, no minimum 6
sk9822-ec20-000 VDD typ 5.0, max 5.3 V, no minimum 6

What we show. 4.0 to 5.3 V is shown, the only sheet that states a minimum. Earlier versions showed 4.5 to 5.5 V, which none of the sheets state.

The most interesting “clone” in the catalogue, because it is genuinely better in one respect and worse in another. If you dim your LEDs in software via global brightness, the SK9822 is the one that will not flicker; if you are filming them at high shutter speeds, the APA102’s 20 kHz PWM wins.

Refresh & flicker

4.7 kHz per cpldcpu’s 2016 teardown, against the APA102’s 20 kHz - lower, and enough to show up on camera where the APA102 would not. The OPSCO datasheets DISAGREE: SK9822-001 and SK9822-A-000 state 27 kHz, SK9822-EC20-000 states 1.2 kHz (LCSC’s table says 4 kHz for the EC20). Different silicon generations or errors; only a scope settles it. In exchange, dimming via the global brightness field does NOT introduce low-frequency flicker, because brightness is set with a real current source rather than by superimposing a slower PWM.

Frame format

SK9822 SPI frameSK9822 clocked frame: start frame, one 32-bit LED frame per pixel with brightness and colour bytes, and an end frame, plus data and clock waveforms1 · Frame stream (data clocked on CLK)Start frame32 × 0LED 132 bitsLED 232 bits…LED N32 bitsEnd frameclock ≥ N/2 edgeseach LED forwards what it does not keep on DO / CO2 · One LED frame: 32 bits, MSB first111brightB 8G 8R 83 marker bits (111), 5-bit global brightness 0–31, then 8-bit channels3 · DATA and CLK, first 8 bits of an LED frameDATACLK11110010111 markerbrightness bits 4..0data changes while CLK is low,LED samples on the rising edgeno fixed bit period: clock rateis set by the host
Frame layout: APA102-family 32-bit LED frames convention, see the protocol notes for end-frame differences
SourceT0HT0LT1HT1LPeriodRateReset±
datasheet — — — — — — — —

Clones & compatibility

“Compatible” is never stated bare here — each relationship carries how strong the claim is, and what bites if you assume too much.

  • near clone APA102

    Widely sold as an APA102 equivalent and usually works, but it is not a drop-in. Global brightness is a controlled current source rather than superimposed PWM, so it does not flicker when dimmed. PWM is 4.7 kHz against 20 kHz. The update is non-staggered, and end-frame handling differs - a driver that relies on the APA102's end-frame behaviour can misbehave. source ↗

  • near clone of this APA102

    Frequently sold as interchangeable and usually works, but the SK9822 implements global brightness as a real current source rather than superimposed PWM, runs a lower PWM frequency, updates non-staggered, and differs in end-frame handling. Not reliably drop-in.

  • electrically similar of this TONYU 9822

    Inferred from the part code and the frame diagram only; the TONYU sheet never names OPSCO, SK9822 or APA102. The 32-bit frames (start 32 zero bits, 111 + 5-bit brightness + three colour bytes, end 32 one bits) and the five-bit global brightness are the APA102 / SK9822 layout, with a different colour order (G, R, B here; OPSCO's SK9822 sheets print B, G, R or R, B, G) and a pin order of SDI, CKI, GND, VCC, CKO, SDO that matches OPSCO's SK9822 by position. PWM 4.6 kHz is close to the 4.7 kHz measured on SK9822 by cpldcpu. The 16-bit gray scale in the sheet's text is NOT supported by its own frame diagram (see the notes).

Library support

FastLED
SK9822 ↗
Adafruit_DotStar
DOTSTAR_BGR
WLED
SK9822

FastLED carries a distinct SK9822 chipset precisely because the end-frame handling differs from the APA102.

Parts using this protocol

Dating evidence

Evidence, not a release date. A library commit proves the part existed by that date and says nothing about how long before.

  • 2016-12-13 first documented cpldcpu, 'SK9822 - a clone of the APA102?' - written after APA102 buyers started receiving SK9822 parts, so it was already substituting in the supply chain by then ↗ day
  • 2016-04-21 first library support FastLED — first commit introducing SK9822 ↗ day