(It might not be the reason you think…)
Adafruit’s Feather RP2040 SCORPIO is a new development board designed specifically with ambitious NeoPixel projects in mind (it can do some other cool things too, but we initially approached this from a NeoPixel perspective). It’s essentially a Feather RP2040 and NeoPXL8 FeatherWing smushed into a single compact unit. Paired with the NeoPXL8 library (which does its work in the background, your code keeps running full-speed), this combo should make large-scale NeoPixel installations more approachable. A whole guide for this is now live!
The thing that initially motivated me to write the NeoPXL8 library wasn’t necessarily massive projects, but robust ones. Certainly it can handle thousands of LEDs and I hope it will find a home in big holiday yard displays and Burning Man camps and art cars and such…but the setups I’m most interested in are only about 2 meters tall, and maybe a few dozen to a few hundred pixels. I personally wanted this for cosplay!
See, there’s a topology problem with light-up costumes. Bodies are star-shaped. I’d noticed a tendency for folks to do these as one long NeoPixel run…it might go down one arm, then need a long return wire leading back to the other arm, another long return wire to a leg and so forth. There’s two big issues with this: long NeoPixel runs are slower to update, but more importantly, a break anywhere along this run ruins everything downstream. And given our bodies’ range of motion, despite our best efforts, wires do break. NeoPXL8 fans out multiple strips from a central point. It can’t prevent breaks, but when they happen, the problem is now localized, not catastrophic.
This isn’t actually new. It’s always been possible to declare multiple NeoPixel objects on different pins with the stock library (albeit without NeoPXL8’s background DMA), but there just haven’t been any good examples showing this. Many projects begin with a direct copy-and-paste of the NeoPixel strandtest example, then modify the pixel-setting parts of the code…hence, one massively long NeoPixel run. The new board and accompanying library provide a clean slate to lead by example with the best stuff. It’s gonna be rad.
But Wait, There’s More…
The NeoPXL8 library includes a companion class, NeoPXL8HDR. This extend’s the former’s more pixels philosophy with better pixels. It simulates finer color depth (11–12 bits is usually possible, vs. the standard NeoPixel 8 bits) and can provide “free” gamma correction without needing to process this in your own code. This will really elevate the look of wearables and props! More nuanced effects are possible, less garish than the primary colors we see so much of. (And remember to use the ColorHSV() function to more easily access pastel and earthy tones.)
Feather RP2040 SCORPIO should be in-stock in the next few days. Can’t wait to see what you all make with this!