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