My SPI to NeoPixel Adapter uses a specially-programmed ATTiny10 microcontroller to read an SPI stream and then uses an optimized set of instructions to generate the precisely-timed pulses need to drive NeoPixels.  If you've never wqrked with an ATTiny10, my web page includes links to download an Arduino sketch that will function as a programmer and program the SPI to NeoPixel Adapter into an ATTiny10.  Just follow the instructions the sketch prints out when you upload and run it on a 328-based Arduino, such as the UNO.