WS2812 reset timing
wmosscrop
Posts: 409
I have a 8x1 WS2812 board (they might be WS2812B, I can't tell). $1 or so on eBay.
I had a problem with "smearing" of the individual led settings (an adjacent WS2812 would flicker with that color even though it should have been completely dark).
I fixed it by increasing the "reset" time (the time used to tell the chips to display their settings) from 50us to 60us. The specs I have state a reset time greater or equal to 50us. 55us reduced the smearing but didn't eliminate it.
So, has anyone else experienced this? I have other WS2811/WS2812 strips that don't have this issue... Maybe just some bad or out-of-spec parts?
I had a problem with "smearing" of the individual led settings (an adjacent WS2812 would flicker with that color even though it should have been completely dark).
I fixed it by increasing the "reset" time (the time used to tell the chips to display their settings) from 50us to 60us. The specs I have state a reset time greater or equal to 50us. 55us reduced the smearing but didn't eliminate it.
So, has anyone else experienced this? I have other WS2811/WS2812 strips that don't have this issue... Maybe just some bad or out-of-spec parts?
Comments
There's some good info on this page exploring timing such as the rest timing. It indicates 6uS or longer should be sufficient. So I think the problem will lie elsewhere
https://wp.josh.com/2014/05/13/ws2812-neopixels-are-not-so-finicky-once-you-get-to-know-them/
The issue is that the correct color is displayed on the wrong ws2812.
At 6uS none of the LED's light up. Not until about 47-48 uS do they start to light.
56uS appears to be the very minimum. I'm going to stick with 60uS.
BTW, I'm using JonnyMac's jm_ws2812 object. Which has worked perfectly in the past.
In all, I think my module is out of spec. Unfortunately, I only have one sample to test with. Fortunately, the latch timing can be anything > 50uS for the other modules, so all that's affected is the update frequency.
Walter
Out of interest how long are the wires from prop to first ws2812?
-- http://obex.parallax.com/object/868
It handles more pixel types and allows you to declare the pixel storage array in the calling object which means you can size it as you need. You can also define multiple arrays and switch easily between them. I've done a lot of timing tweaks to ensure the bit values are correct in less-than-idea situations.
-- http://forums.parallax.com/discussion/167866/propeller-powered-costume-element-controller#latest
In the end there are many roads that lead to Rome.