Timing is whatever as well as that’s why a lot of communication protocols need a extremely precise clock source. The WS2811 LED strip controllers are no different. however [Danny] figured out a method to drive them reliably with an 8MHz clock source.
The WS2811 has ended up being one of the most prominent controllers for RGB pixels as well as strips alike. We’ve seen a number of hacks utilized to address them, including the 16MHz AVR method that influenced [Danny] to handle this project. He organized to utilize that library however the 25-day shipping time for a 16MHz crystal drove house to invent a method to utilize the interior oscillator instead.
The gist of the hack is that he composed assembly code to manage pairs of binary bit values. With a code block for every of the four possible combinations in hand he had to discover a method to craft the conditional jumps to protect precise timing. After hitting the wall trying to fix this puzzle by hand he composed a C++ program to fix it for home. The proof is in this video which shows one chip driving several Larson scanners on a single strip.