WS2812B
1-wire RGB · WorldSemi · ws281x
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.
Reset period
The original sheet asks for a reset of more than 50 µs; every later WorldSemi sheet asks for more than 280 µs.
| Source | Says | Page |
|---|---|---|
| ws2812b | RES above 50 µs | 3 |
| ws2812b-v5-c114586 | RES > 280 µs | 3 |
| FastLED led_timing.h (driver-tuned) | 280 µs | — |
What we show. Both are kept: this page is the older silicon, and WS2812B-V5 is its own protocol with the 280 µs figure. A gap of 280 µs or more is safe on either, so use it if you cannot tell which reel you have.
Bit timing
The bit-timing windows were rewritten between the original sheet and V5.
| Source | Says | Page |
|---|---|---|
| ws2812b | T0H 400 ns, T1H 800 ns, each ±150 ns | 3 |
| ws2812b-v5-c114586 | T0H 220–380 ns, T1H 580 ns–1 µs | 3 |
| FastLED led_timing.h (driver-tuned) | T0H 250 ns, T1H 875 ns | — |
What we show. Both datasheet sets are listed in the timing table, the original first. FastLED’s figures are tuned to drive real parts and clones, not a specification.
PWM frequency
The original sheet gives a minimum scan frequency of 400 Hz; the V5 sheet says 2 kHz.
| Source | Says | Page |
|---|---|---|
| ws2812b | scan frequency not less than 400 Hz | 1 |
| ws2812b-v5-c114586 | scan frequency 2 kHz | 1 |
What we show. 400 Hz is shown here because this page describes the original sheet; the 2 kHz figure is on the WS2812B-V5 page. The newer silicon flickers less on camera.
Supply voltage
Supply range differs by sheet generation.
| Source | Says | Page |
|---|---|---|
| ws2812b | VDD +3.5 to +5.3 V | 2 |
| ws2812b-v5-c114586 | VDD +3.7 to +5.3 V | 2 |
| ws2812b-v6-c52917433 | VDD +3.3 to +5.3 V | 3 |
What we show. The original sheet’s range is shown here; later generations are on the WS2812B-V5 page. 5 V is inside every range.
The part most people mean by “NeoPixel”. Four pins, integrated driver, reverse-polarity protection over the WS2812. If a project or a strip says “WS2812” without qualification in the last decade, this is almost certainly what it is.
Refresh & flicker
400 Hz PWM on pre-V5 silicon; visible flicker on camera. V5 raises this substantially - see ws2812b-v5.
Timing
Sources disagree. This is normal and worth understanding: FastLED's numbers are tuned to drive real parts reliably, including clones, while the datasheet gives the manufacturer's nominal figures. Both are recorded here rather than picking one and hiding the conflict.
| Source | T0H | T0L | T1H | T1L | Period | Rate | Reset | ± |
|---|---|---|---|---|---|---|---|---|
| fastled ↗ | 250 ns | 1000 ns | 875 ns | 375 ns | 1250 ns | 800 kHz | 280 µs | — |
| FastLED uses a 280 us reset for the whole WS2812 family, which is safe on both old and V5 silicon. The datasheet’s 50 us is not safe on V5. | ||||||||
| datasheet ↗ | 400 ns | 850 ns | 800 ns | 450 ns | 1250 ns | 800 kHz | 50 µs | 150 ns |
Clones & compatibility
“Compatible” is never stated bare here — each relationship carries how strong the claim is, and what bites if you assume too much.
-
protocol compatible
WS2812
Same signalling; different package and pin count (4-pin vs 6-pin).
-
near clone
APA104
Same 800 kHz single-wire signalling, but the APA104 inverts nothing and differs in reset requirements; usually interchangeable in practice.
-
near clone of this
APA104
Same single-wire 800 kHz scheme and the same 5050 footprint, and every library drives it as a WS2812. Reset requirements differ, so a marginal driver that works on one may not work on the other.
-
near clone of this
APA106
Electrically a WS2812B workalike in a 5 mm through-hole dome rather than an SMD package. Colour order is commonly RGB rather than GRB, which is the usual thing people get wrong.
-
electrically similar of this
Harvatek T4213
Same 24-bit GRB frame and an 800 kHz bit rate, but the chip decides a bit by the length of its HIGH pulse alone (350 ns or less is a zero, 540 ns or more is a one) and tolerates bit periods up to 2.5 us. A WS2812B driver may work; the 200 us reset and the 50 us inter-byte limit are the traps. Not tested.
-
electrically similar of this
PL9823
Often sold interchangeably with the APA106 as a through-hole "NeoPixel", but the bit period differs from the WS2812B and the colour order is typically RGB rather than GRB. FastLED carries it as its own chipset for that reason.
-
drop in of this
SK6812
Timings overlap enough that WS2812B code drives it without changes, and the 5050 footprint and pad positions match (in the top view VDD is top-left, DIN top-right, DOUT bottom-left, GND bottom-right on both; only the pin NUMBERS differ between datasheets). Differences that matter: the reset is longer, not shorter - 80 us in the 2015 sheet and above 200 us in the current one, against the WS2812B datasheet's 50 us (the WS2812B-V5 sheets say above 280 us). The supply range is not wider either: 3.7-5.5 V (3.5-5.5 V in the 2015 sheet) against 3.5-5.3 V for the old WS2812B sheet and 3.7-5.3 V for V5. The PWM frequency is 1.0-1.2 kHz, higher than the pre-V5 WS2812B's 400 Hz but lower than the V5's 2 kHz.
-
protocol compatible of this
WS2812
Same signalling, different package and pin count: WS2812 is a 6-pin part, WS2812B is 4-pin. Not footprint-interchangeable.
-
near clone of this
WS2812B-V5
Same package, pinout and command set, but the reset/latch period is extended to more than 280 us (V5, V6 and V7 sheets; FastLED also uses 280 us). Code written against the old 50 us figure can glitch. This is the most common cause of "my new reel of the same part flickers".
-
drop in of this
WS2812C
Sold as fully compatible with the WS2812B and driven identically by every library; the difference is packaging and cost, not signalling.
-
near clone of this
WS2812D-V6
Through-hole four-leg pixel with the WS2812B command set, but the reset period is 280 us rather than 50 us. The datasheets for this family state the data order as RGB, where the WS2812B family is GRB; that statement has not been confirmed on a real part.
-
near clone of this
WS2813
Close enough that libraries drive it with WS2812 timings, but it needs a longer reset (300 us) and has a second data input, so it is a 5-pin part on strip. Not pin-compatible.
-
protocol compatible of this
Xinglight 2812B-S 1010 (5 mA, 0.3/0.6 us minima, reset 80 us)
Only the title says WS2812B-S.
-
protocol compatible of this
Xinglight 2812B 2121 (3.0-5.5 V, 12 mA, 0.25/0.3 us)
Only the title says WS2812B (the sibling is titled XS2812B).
-
protocol compatible of this
Xinglight 2812B-T 3535 (4.0-5.5 V, 12 mA, slow-bit timing)
Only the title says WS2812B-T. Its low times (T0L at least 1.55 us, T1L at least 1.1 us) make a bit at least 1.75 us long, over twice the WS2812B 1.25 us; a controller sending WS2812B-speed bits does not meet the table.
-
protocol compatible of this
Xinglight 2812B (5 V, 12 mA, 0.295/0.595 us table)
Only the sheet title ("XL-5050RGBC-WS2812B", section heading "WS2812b") claims it; no sheet says "compatible". Its table timing (T0H 0.295, T0L 0.595, T1H 0.595, T1L 0.295 us) differs from the WS2812B sheet, but its own prose note says the IC reads a high of 200-410 ns as 0 and 640-1000 ns as 1, which overlaps the WS2812B windows. Same 5050 pin order as the WS2812B (1 VDD, 2 DOUT, 3 GND, 4 DIN, cut corner at pin 3).
-
protocol compatible of this
Xinglight 2812B (12 mA, 1.2 us cycle, reset >200 us)
Only the title says WS2812B; 12 mA per channel but SK6805-pattern minimum timing and a reset over 200 us.
-
protocol compatible of this
Xinglight 2812B (5 mA, 1.2 us cycle, reset >200 us)
Only the title says WS2812B. Its table matches the SK6805 sheet pattern (300/900/900/300 ns, 1.2 us cycle, reset over 200 us) more than the WS2812B sheet; 5 mA per channel.
-
protocol compatible of this
Xinglight 2812B (12 mA, 0.25/0.47 us windows, reset 80 us)
Only the sheet title (XL-3528RGBC-WS2812B, "WS2812B functional characteristics") claims it. The windows (0 code high up to 0.47 us, 1 code high from 0.58 us) bracket the WorldSemi WS2812B values (0.4 / 0.8 us), the symmetric typical column does not.
-
protocol compatible of this
Xinglight 2812B (5 mA, 0.25/0.47 us windows, reset 80 us)
Only the sheet title (XL-1515RGBC-WS2812B) claims it; 5 mA drive per channel (WorldSemi WS2812C-style, not the WS2812B 12-20 mA).
-
protocol compatible of this
Xinglight 2812B through-hole 4.8/5 mm (12 mA, 0.4/0.8 us)
The sheet is titled WS2812B and its table (0.4 / 0.85 / 0.8 / 0.45 us, 1.25 us bit) is the WorldSemi WS2812B figure set; the reset is shorter (50 us, the old WS2812B sheet value, against 280 us in the current WorldSemi sheet).
Library support
- FastLED
WS2812B↗- Adafruit_NeoPixel
NEO_GRB + NEO_KHZ800- WLED
WS281x
The default assumption of every library and every tutorial.
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.