Why your new WS2812B reel flickers: the V5 and the 280 µs reset
A reel of the same part number behaves differently from the old one. The cause is usually a silicon revision with a longer reset period, and the fix is a few lines of code.
You bought more of the LEDs you already use. The part number matches, the package matches, the pinout matches. The old strip runs your code perfectly and the new one glitches: wrong colours, a few pixels flashing, a frame that sometimes slides along by one LED.
If the new reel is a WS2812B-V5, you have probably met the reset change. This post explains what changed, why old code trips over it, and how to check for it.
The short version#
- The WS2812B has been revised. The newer silicon is sold as V5 (and since then V6 and V7), and carries on using the same part number, the same 5050 footprint and the same pad positions.
- The old datasheet specifies a reset (latch) period of above 50 µs. The WorldSemi V5, V6 and V7 sheets all say above 280 µs, and FastLED's dedicated V5 entry uses 280 µs too.
- Code that leaves only 50 µs between frames can leave a V5 unlatched. Leaving at least 280 µs, and ideally 300 µs, covers old and new silicon.
- The V5 sheet also states a 2 kHz scan frequency where the old sheet says "not less than 400 Hz", which reduces flicker on camera. That is a separate effect and a welcome one.
- It is the older silicon that is now the rarer one. Every WorldSemi WS2812B 5050 listing the catalogue found on LCSC (checked 2026-10-15) carries a V5 or later datasheet, including the black-face "WS2812B-B", whose sheet is the V5 one.
What the reset does#
A one-wire chip has no clock, so it cannot tell where one frame ends and the next begins by counting. It uses a gap. When the data line stays low for longer than the chip's reset period, every LED latches the colour it has been given and starts listening for a new frame.
The glossary entry describes what happens if you get this wrong: the strip either never updates, or colours shift down the line. The second case is the one people report, and it is what you would expect from a chip that has not seen a long enough gap: it has no way to know a new frame has started, so it keeps treating the data as a continuation of the last one.
The reset also has to be shorter than something. Hold the line low for too long in the middle of a frame (a long interrupt is the usual cause) and the chip latches early. So the reset period is a threshold, and each chip has its own.
The 50 µs figure comes from the WS2812B datasheet as mirrored by Adafruit (which says "above 50 µs"). The V5 bar is WorldSemi's own V5 sheet ("RES: frame unit, low voltage time, above 280 µs"); the V6 and V7 sheets repeat it. FastLED uses 280 µs for the whole WS2812 family, which its entry notes is safe on both old and V5 silicon; 50 µs is not safe on V5.
The other bars are there because "reset" is not one number across the catalogue. The SK6812's 2015 sheet says 80 µs and its current sheet says above 200 µs, and the WS2813 and WS2815 sheets say 300 µs or more. A longer reset costs little, and the V5 sheet gives a second reason to leave one: "it won't cause wrong reset while interruption", so a gap that long also tolerates a short stall in the sender.
Why old code gets caught#
Plenty of code works to the datasheet. A hand-written driver, a DMA or SPI trick that streams the bits, or a loop that updates the strip as fast as it can will often leave exactly the datasheet's 50 µs, or a figure not much higher, between frames. That is fine on old silicon.
The libraries most people use got ahead of this. FastLED waits 280 µs for the whole WS2812 family, and Adafruit_NeoPixel does not distinguish the V5 and relies on its own conservative latch period (the catalogue does not record what that period is). A sketch built on either of them may never show the problem, which is why it can seem to appear only on some reels, or only when you move from a library to custom code.
The catalogue's own summary calls this the most common cause of "my new reel of the same part flickers".
The timings changed too#
The reset is not the only difference. FastLED gives the V5 its own bit timing as well, and the V5 datasheet changes the table.
The zero bit is nearly identical (250 ns high against 225 ns). The one bit changes more: the high pulse is 875 ns for the family and 580 ns for the V5, so the V5's one bit is a noticeably shorter pulse. The bit period is 1250 ns against 1225 ns. These are driver-tuned values, not datasheet figures.
The datasheets are two different kinds of table. The old WS2812B sheet gives nominal values with a tolerance: 400 / 850 / 800 / 450 ns (T0H / T0L / T1H / T1L), each ±150 ns. The V5 sheet, which the catalogue mirrors, gives windows instead: T0H 220–380 ns, and 580 ns to 1 µs for each of T0L, T1H and T1L. The V6 and V7 sheets repeat the same windows and add a minimum data cycle of 1.25 µs. FastLED's V5 figures (225, 1000, 580 and 645 ns) all sit inside those windows. The old sheet's nominal T1L of 450 ns is below the V5's 580 ns minimum, which is another way of seeing that the tables are not the same.
FastLED also treats the WS2812B-MINI-V3, the 3535 part, as sharing timings with the V5.
How much slack a V5 has on the old bit timings has not been measured. The catalogue's compatibility note for the V5 singles out the reset as the thing that bites, so that is where to look first.
Two different kinds of flicker#
It helps to separate two things that get the same name.
- Data glitches. Wrong colours, random pixels, a frame shifted along the strip. This is the reset problem above, or any other timing fault.
- PWM flicker. The banding you see when you film the LEDs. The old WS2812B sheet gives a scan frequency of "not less than 400 Hz", which the catalogue notes is low enough to show on camera. The V5 sheet says 2 kHz and "no flicker appear in HD video camera"; the V6 sheet says the same, and the WS2813 and WS2815 sheets also state 2 kHz. That is the manufacturer's claim and has not been measured here.
A V5 therefore tends to fix the second kind and, for code written to the old reset, introduce the first.
How to check what you have#
- Read the order code. Suppliers sell the revision as part of the code:
WS2812B-V5,WS2812B-V6,WS2812B-V7. The LCSC listing for the plain V5 part is C2874885. If a listing only says "WS2812B", ask the seller which revision it is, and note that the datasheet attached to the LCSC listing for the black-face "WS2812B-B/W" (C114586) is the V5 one. - Compare behaviour. If a known-good sketch glitches only on the new reel, suspect the reset before anything else.
- Change one number. Find where your code waits between frames and make it at least 280 µs. If the glitches stop, that was it.
- Use the longest the catalogue knows about. The longest reset any timing set here asks for is 300 µs (the WS2813 and WS2815 datasheets, plus FastLED's figures for the WS2813, WS2814, WS2818 and TM1814). Using 300 µs between frames covers every reset period the catalogue records, including the SK6812's current sheet (above 200 µs) and the V5's (above 280 µs).
What a longer reset costs#
Almost nothing. At 300 pixels a frame takes about 9 ms to send, so raising the gap from 50 µs to 300 µs adds 250 µs, which is under 3% of the frame. The frame-rate ceiling moves from about 110 frames a second to about 107.
What we do not know#
- What the V5 reset really is on silicon. The sheets say "above 280 µs", which is a minimum, not a measured threshold. Whether the silicon changed or only the datasheet did is not known (the same question applies to the newer WS2813, WS2815 and SK6812 sheets).
- The V5 PWM figure beyond the datasheet's "2 kHz".
- What changed in V6 and V7. V6 lists a 3.3 V supply minimum (V5: 3.7 V) and V7 raises the drive current from 12 mA to 16 mA ("driver IC upgraded", sheet dated 2026-04-20); the data windows in the three sheets are the same.
- Whether other makers' clones behave like V5. The APA104 has a reset requirement that differs from the WS2812B too, and the catalogue has not verified it.
If you have a scope and a V5, measured numbers would be very welcome: send them in.
The point of tracking revisions#
The WS2812B-V5 has its own page in the catalogue because a revision that changes timing is different hardware for anyone writing a driver. Part numbers do not tell you this, and neither do the packages. That is the gap this catalogue is for.