0
\$\begingroup\$

I'm working with a strip of WS2812B LEDs (https://www.adafruit.com/datasheets/WS2812B.pdf), and am seeing something I didnt expect. When I write out my data to the LEDs I'm seeing the last colour I sent appear at the END of the strip (furthest away from data input). I would have expected the LEDs to shift each byte as they come in so that the last thing the micrcontroller drove out would appear on the LED closest to the micro.

Is this not how these are supposed to work? From what I'm seeing, it would have to shift each consecutive byte by one more LED.

\$\endgroup\$

1 Answer 1

1
\$\begingroup\$

WS281Xs are strange devices. They will latch in data as long as they don't have any, and propagate it if they do. This means that the first device will hold the data from the first frame sent, and pass any further frames along the chain.

\$\endgroup\$
3
  • \$\begingroup\$ So if I have a string of 200 LEDs, then the last bytes I send will have to propagate that data through 200 LEDs? This will take longer than the latch time- will that not cause issues? \$\endgroup\$
    – spizzak
    Commented Aug 14, 2015 at 5:02
  • \$\begingroup\$ Only if you need to view all the pixels at once. Otherwise the first ones will latch while the later ones are still being set up. \$\endgroup\$ Commented Aug 14, 2015 at 5:36
  • \$\begingroup\$ Strange behaviour- thanks for confirming I wasn't going crazy at least :) \$\endgroup\$
    – spizzak
    Commented Aug 14, 2015 at 5:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.