Makers of addressable LED projects have an unhealthy obsession with speed. Which code is fastest? Which hardware? If I tweak this just so, I can shave 2 milliseconds per frame! You can stop obsessing, because Paul Stoffergen’s latest simply buries all others.
Designed expressly for PJRC’s Teensy 3.0 board and compatible with WS2811 LEDs (including our own NeoPixel strips and Flora Smart Pixels), this project is a “poster child” for the next-gen hardware: rather than simply porting an existing Arduino implementation to a board with MOAR MHZ, this new open-source code leverages innate abilities of the Teensy 3’s ARM processor. Using DMA, there’s nearly zero CPU usage when blasting data to 8 LED strips in parallel, freeing the system to synthesize the next frame of animation or stream data over USB or DMX. And if you do somehow reach a performance ceiling, multiple boards can be synchronized. Zoom!
Paul’s tutorial also has some great advice for large LED projects in general, including power, cleaning up signals and some introductory technical details to the ARM CPU features in use.