These new NeoPixel rings from adafruit are really very good. A little strange to operate perhaps (they are like a shift register but they shift by re-transmitting downstream. Or to put it another way you would send the pixels as if they were drawn out on a TV screen (which is not the way a shift register works if you think about it).
Initially, I wrote some PASM code for a Parallax Propeller (P8X32A) chip to make some interesting colour patterns appear on the ring. This was quite easy with the aid of a Saleae Logic probe.
But the problem with the Propeller is that it’s a very expensive chip and is COMPLETE overkill for making some fancy patterns on a bunch of LEDs. No, instead I wanted to use a smaller chip to run the LEDs from.
Enter the ATTiny85 [PDF].
Long story short, I’ve written an very simple ATTiny85 demo assembly code program for showing a pattern on the NeoPixel Ring. It shows a stationary pattern of 5 reds, 5 greens, and 5 blues, all of increasing brightness, and a single white LED showing an equal mix of the three colours.
For those who don’t want to use the Arduino IDE with our NeoPixels, here is a AVRstudio project solution! Learn more.