A library for driving Leds

FastLED 3.1 Released

We’re proud to announce the full release of FastLED version 3.1, an open source LED animation library for Arduino.

Download the ZIP file here or update directly using git.

In the eleven months since the last release, FastLED has become even more capable, even more compatible, and yes, even faster. Here are some highlights of what’s new in FastLED v3.1 over and above the 3.0 release:

  • Support for even more microcontroller chips and boards
  • High-performance parallel output on Arduino Due and Teensy 3.x
  • Literally the fastest-possible driver for the Neopixel WS2812 family of LEDs on standard ATmega-based Arduinos
  • New animation tools like periodic timers and color crossfades

A big thanks goes out to the vibrant and growing FastLED community, who’ve helped shape and refine this library, and who have built some absolutely amazing projects with it. You rock. Keep it up!

Here’s some more detail on what’s in the FastLED v3.1 release:

New Microcontroller Support Added

  • Arduino Zero
  • Teensy-LC
  • RFDuino
  • Sparkcore
  • Many new AVR-based platforms
  • Continued support for popular Arduino boards (Uno, Due, Leonardo, Nano, Micro, etc.), the Adafruit Trinket, Gemma, and Flora, the Digistump DigiX, as well as PJRC Teensy 2, Teensy 3.0, and Teensy 3.1.

Continued LED Support

FastLED v3.1 continues support for more than a dozen popular addressable LEDs: NeoPixel, WS2811, WS2812, WS2812B, DotStar, APA102, APA104, GW6205/GW6205_400, P9813 Total Control Lighting LEDs, USC1903_400, Pixelmatix SmartMatrix, WS2801, LPD8806, LPD1886, TM1809, TM1804, TM1803, and SM16716!

New Library Features

  • Parallel output on multiple pins on Arduino Due, Teensy 3.0, and Teensy 3.1
  • Interrupt processing supported on Arduino Due, Teensy 3.0, Teensy 3.1, even when using Neopixel WS2812 family LEDs (WS2811, WS2812, WS2812B)
  • Improved SPI device sharing on the Teensy 3.0 and Teensy 3.1
  • Refresh rate auto-capping for LEDs that have a maximum update speed (e.g. Neopixel WS2812 family)
  • Support for Arduino 1.6.x IDE and gcc 4.8.1
  • Literally the fastest output physically possible for Neopixel WS2812 family LEDs.

New Library Functions

  • Smooth crossfade between multiple color palettes
  • Define color palettes as a series of connected gradients
  • Recover approximate HSV color from RGB values with rgb2hsv_approximate
  • Ability to store one bit of user data in a CRGB, often invisibly
  • New named color “FairyLight” approximates incandescent holiday lights
  • Additional new functions for color gamma correction
  • Fast, compact routines for 8-bit average and modulo, and for 16-bit square root
  • random8 is now much more random

Backward Compatibility

  • Everything in FastLED v3.1 should be backward compatible with FastLED v3.0, with one exception:
  • We changed from the old symbol name “BLEND” to the new symbol name “LINEARBLEND” for ColorFromPalette, to avoid conflicts with another codebase. Simply replace “BLEND” with “LINEARBLEND” and your code should compile and run as before.

And Also

  • New example “DemoReel100”: six animations in 100 lines of code
  • Access to thousands of designer color palettes from cpt-city
  • “FastLED6502” for Apple ][, ][+, //e, and //gs (unsupported!)
  • Lots of code cleanup for improved maintainability, readability, and theoretical future sanity
  • New and improved documentation
  • And, as the apps say, “bug fixes and performance improvements.”

-Daniel Garcia & Mark Kriegsman, September 2015

FastLED v2.0 Released!

Dan and I are happy to announce the official Version 2.0 release of the FastLED library (formerly “FastSPI_LED2”), which is available immediately from !

A huge THANK YOU goes out to everyone who helped us debug, streamline, and refine V2.  It’s taken over a year, but the library is in great shape, and we’re ready for it to take on the world. 

In addition to releasing the final 2.0 version of the LED library, we’ve made a couple of other administrative changes that you should be aware of as well…

New Name

We’ve officially changed the library name to “FastLED”.  This reflects the fact the library supports both SPI and non-SPI-based LEDs, as well as providing a range of LED color and animation support functions.

New Include File

The new library folder is called FastLED, and no longer FastSPI_LED2.  This means that you’ll want to install the new library, and then update your project code to use #include <FastLED.h> instead of the old #include <FastSPI_LED2.h>


We’ve set up a new web site for the library:  There are links there to our wiki, code, issue tracker, and to this community.

New Repository

We’ve moved our code repository from googlecode to github.  Googlecode was getting a old and busted; github is the new hotness.

What Next?

What’s next is that you start using the new code, and Dan and I catch our breath a little, and then dive into the next version of the library: V2.1, which will be a relatively quick, minor update to add compatibility with a few new microcontroller boards and LED chips.   But first, as I said, we’re going to catch our breath.

Thanks again to everyone who’s helped make this library what it is today!  Now go forth, and let a thousand pixels bloom.

First Post

Poking around with markdown because I have insomnia and want to see this thing up and running!