NeoPixel LEDs are the bee's knees, but in a few scenarios they come up short…connecting odd microcontrollers that can’t match their strict timing, or fast-moving persistence-of-vision displays. Adafruit DotStar LEDs deliver high speed PWM and an easy-to-drive two-wire interface, bridging the gaps in the spectrum of awesome.
The basic idea behind DotStars and NeoPixels is the same: a continuous string of individually-addressable RGB LEDs, driven by a microcontroller. The way each goes about it is a little different. DotStars aren’t necessarily a better thing in every situation…there are tradeoffs, each has its pros and cons to consider…
+ Extremely fast data1 and PWM2 rates, suitable for persistence-of-vision displays.
+ Easier to interface to a broader range of devices; no strict signal timing requirements.
+ Don't have to worry about special pins, DMA requirements, interrupt management (e.g. Arduino Servo library or tone() function on the popular ATmega series).
– Slightly more expensive.
– Fewer available form factors.
– Needs two pins for control.
+ More affordable.
+ Wide range of form-factors (pixels, rings, matrices, etc.).
+ Works from a single microcontroller pin.
+ RGBW (RGB+white) variants available.
– Strict 800 KHz data rate; not all systems can generate this, and speed is a bottleneck on very long strands if you don't have DMA support.
– 400 Hz refresh/PWM rate not suitable for persistence-of-vision effects. Light painting may be OK!
– Not compatible with some platforms that don't have DMA and require interrupts (e.g. Arduino Servo library or tone() function on the popular ATmega series).
1 Up to 8 MHz on Arduino, up to 32 MHz on Raspberry Pi.
2 Varies among component generations; 1.2 KHz, 4.6 KHz, 19.2 KHz reported.