APA102
SPI RGB · APA Electronic · apa102
- Channels
- RGB
- Bits / channel
- 8
- Supply
- 5–5.5 V
- PWM
- 20 kHz
- Backup data
- no
- Packages
- 3
The main SPI-driven alternative to the WS2812 family. Two wires instead of one, in exchange for timing that does not matter, very high PWM frequency, and a per-LED 5-bit global brightness field. The right choice when the processor is busy or a camera is pointed at it.
Refresh & flicker
~20 kHz PWM per cpldcpu’s teardown (the only source for the figure; the Shiji APA102C sheet held here lists a “refresh rate” of “400 cycle” and no PWM frequency; its electrical table gives the supply as 5.0 V typical and 5.5 V maximum, with no minimum, which is the 5.0-5.5 V range shown). High enough to be invisible to cameras, which is why these are the default choice for persistence-of-vision and film work. Note that reducing global brightness superimposes a much lower-frequency PWM, which can reintroduce visible flicker.
Frame format
| Source | T0H | T0L | T1H | T1L | Period | Rate | Reset | ± |
|---|---|---|---|---|---|---|---|---|
| datasheet | — | — | — | — | — | — | — | — |
| Because the clock is explicit, timing is not critical and interrupts cannot corrupt a frame - the single biggest practical advantage over the WS2812 family. | ||||||||
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
SK9822
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. source ↗
-
protocol compatible of this
ABOC HBGR32L two-wire IC (18 mA)
The frame is APA102-shaped (32 zero bits, 111 + 5-bit brightness + three 8-bit values, 32 one bits) and the sheet shows the same SDI/CKI waveform. The two sheets disagree about the colour order, and neither names APA102, so only the frame structure is compared.
-
protocol compatible of this
ABOC IC-NL3C-BA two-wire IC
Same CIN/DIN clock-and-data arrangement and the same 32 zero-bit start frame, 3-bit '111' marker + 5-bit brightness and B, G, R order as APA102 on the page-4 description, but the sheet never mentions APA102 and gives no end-frame behaviour; recorded as a structural match.
-
drop in of this
APA102C
A cost-reduced APA102 sold under a near-identical name. Driven identically; the difference is manufacturing, not protocol.
-
drop in of this
APA107
Driven identically to the APA102 by every library. Marketed as a higher-refresh successor.
-
near clone of this
HD107S
Driven with the APA102 protocol by every library, and generally treated as a faster APA102. The caveat is that the specifications are vendor claims rather than a verifiable manufacturer datasheet, and the HD107S, APA107 and APA102 are frequently conflated in listings.
-
protocol compatible of this
HD108
Same SPI framing concept, but each pixel carries 16 bits per channel, so an APA102 driver will not produce correct output without explicit HD108 support.
-
protocol compatible of this
H-Great P36 two-wire IC (15 MHz)
Same 32 zero-bit start, '111' + 5-bit global brightness + B, G, R 8-bit command and the same separate clock / data wiring as APA102. The sleep command and the 15 MHz / 30 ns limits are extras with no APA102 counterpart on the sheet, and the sheet never names APA102.
-
protocol compatible of this
Inolux PC (clock-and-data IC)
Frame structure matches APA102 as drawn on the PC55 sheet p5: 32 zero bits start frame, per LED 32 bits '111' + 5-bit global brightness + Blue + Green + Red, 32 one bits end frame, clock and data on separate pins. The sheet never names APA102, so this is a structural match only; clock limits (30 MHz, 30 ns widths) and the end-frame behaviour have not been compared with the APA102 sheets.
-
electrically similar of this
P9813
Both are clock-plus-data chains with a 32-bit zero start frame and 32 bits per pixel in blue-green-red order, but the P9813 flag is two bits and is followed by inverted check bits rather than a 3-bit flag and 5-bit global brightness, so frames are not interchangeable.
-
near clone of this
SK9822
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.
-
protocol compatible of this
WL-ICLED (dual-wire)
The frame layout reads like the APA102's: 32-bit zero start frame, 3 flag bits, 5-bit global brightness, blue-green-red 8-bit values, N/2 end bits. The differences on paper are the flag decoding (0b101 puts the LED to sleep) and the 300 ohm series resistors on both lines in the reference circuit. Nothing here has been run against an APA102 driver.
Library support
- FastLED
APA102↗- Adafruit_DotStar
DOTSTAR_BGR- WLED
APA102
Sold by Adafruit as “DotStar”.
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.
- 2014-08-27 first documented cpldcpu, 'APA102 aka Superled' - the first detailed public analysis of the part ↗ day
- 2014-11-30 first documented cpldcpu, 'Understanding the APA102 Superled' - full protocol and PWM teardown ↗ day
- 2013-05-30 first library support FastLED — first commit introducing APA102 ↗ day
- 2019-05-01 first library support WLED — first commit introducing APA102 ↗ day