NeoPixels are magical things. It couldn’t be simpler…a single data wire from the microcontroller, linking pixel to pixel for as long as you need. When NeoPixel projects get really large though…hundreds of pixels or more…this simplicity starts to become a bottleneck…
NeoPXL8 (pronounced “NeoPixelate”) is a hardware-and-software combo for our Feather M0 and related boards, bringing buttery smooth animation to large-scale NeoPixel projects.
NeoPXL8 splits the problem 8 ways…rather than one long strand, 8 shorter strands are refreshed concurrently, greatly reducing transmission times. Additionally, NeoPXL8 uses direct memory access (DMA) to allow the CPU to continue with other tasks while these data transfers take place in the background. Your code could start processing the next frame of animation, or load data from an SD card. All interrupts and timekeeping functions operate normally, no drift.
It’s not a new idea, but achieving this on the economy-minded SAMD21 microcontroller required hijinks and shenanigans, and we’re excited to share the results.