Experiments with hand-tuned ASM on Arduino with addressable LEDs.
Written at Hacker School, Summer 2014.
This library controls popular WS2812B (aka Neopixel) LEDs. It has been tested to work on 16Mhz ATMega168 and ATMega328 based Arduino boards.
If you're looking to gain a greater understanding of low-level interfacing this is a fun project. Check out AdaFruit Neopixel or FastLED for mature, full-featured libraries.
- simple.ino, really, really simple. Looking at timing, send a 0 or 1.
- simplecolor.ino, send rgb color values
- Aquire a 16Mhz AVR and the Arduino IDE (The library is setup for PORTD, if your device does not have this port you may have to make adjustments)
- Attach your LED strip to 5V, GND and Digital Pin 6
- Upload and run
AVR / Arduino
Other libraries for reference
Neopixels / WS2812B LEDs
The datasheet, Adafruit's guide and other libraries can be a good reference if you get stuck!