This time-tested library works great and if it suits your needs then you should by all means use it- but woe to he who would attempt to try to change even one line of it. The standard way to drive NeoPixels with an Arduino is using the AdaFruit library which has some very fancy assembly code that was meticulously hand crafted to get every tick to land in precisely the right place. According to the excellent AdaFruit Uberguide, “the control signal has very strict timing requirements” and people have used many exotic and complex methods to meet these strict requirements- including cycle counting, PWM, SPI, and even UARTs with extra inverter hardware. Much has been written about how picky NeoPixels are about timing. Since the amount of RAM used does not grow with the number of pixels driven, the limiting factor for this string length was the length of my apartment. The program only uses about 5% of this Arduino’s 1K RAM. Here is a demo of a 1,000+ pixel string being driven by a vintage Arduino DueMillinove at about 30 frames per second… ![]() ![]() ![]() needs only a trivial amount of memory regardless of string length.addresses the root cause of signal reshaping glitches.There is an easier way to drive NeoPixels using code that…
0 Comments
Leave a Reply. |