FastLED 3.9.15
Loading...
Searching...
No Matches
FastLED - The Universal LED Library

Transform any microcontroller into an LED powerhouse.

Drive 30,000+ LEDs on high-end devices โ€ข Sub-$1 compatibility on tiny chips โ€ข Background rendering for responsive apps โ€ข Nearly every LED chipset supported โ€ข **#2 most popular Arduino library**

Arduino's 2nd Most Popular Library Build Status Unit Tests Documentation Community

๐Ÿ“Š Detailed Build Status (Click to expand all platform badges)

The build system is undergoing optimization and some builds may appear red during migration. Despite any red status, everything still works.

Arduino Family

Core Boards: uno nano_every uno_r4_wifi yun

ARM Boards: due digix Arduino Giga-R1*

ATtiny Series: attiny85 attiny88 attiny1604 attiny1616 attiny4313**

*Notes: * Giga-R1 support added in 3.9.14 โ€ข ** ATtiny4313 has limited memory (WS2812 Blink + APA102 examples only)

Teensy Series

Standard Models: teensy30 teensy31 teensyLC teensy40 teensy41

Special Features: teensy_octoWS2811 teensy41 ObjectFLED

NRF52 (Nordic)

nrf52840_sense nordicnrf52_dk adafruit_xiaoblesense nrf52_xiaoblesense

*Note: NRF52 XiaoBLE board has mbed engine but doesn't compile against Arduino.h for unknown reasons.

Apollo3 (Ambiq)

apollo3_red apollo3_thing_explorable

*Beta support added in 3.10.2

STM32 (STMicroelectronics)

bluepill maple_mini stm103tb

*Note: STM103TB has limited PlatformIO support

Raspberry Pi Pico

rp2040 rp2350 rp2350B SparkfunXRP

ESP32 (Espressif)

ESP8266: esp32-8266

ESP32 Classic: esp32dev esp32wroom

ESP32 S-Series: esp32s2 esp32s3

ESP32 C-Series: esp32c2* esp32c3 esp32c5esp32c6

ESP32 Advanced: esp32h2 esp32p4

Special Features: esp32_i2s_ws2812 esp32 extra libs esp32dev_namespace

Legacy: esp32dev-idf3.3-lts

*Notes: * ESP32-C2 support added in 3.9.10 โ€ข Espressif compatibility evaluation

Specialty Platforms

x86: linux_native

WebAssembly: wasm wasm_compile_test

Library Size Validation

Core Platforms: attiny85_binary_size uno_binary_size esp32dev_binary_size

Teensy Platforms: check_teensylc_size check_teensy30_size check_teensy31_size teensy41_binary_size

โšก Get Blinking in 30 Seconds

#include <FastLED.h>
#define NUM_LEDS 60
void setup() {
FastLED.addLeds<WS2812, 6>(leds, NUM_LEDS);
}
void loop() {
leds[0] = CRGB::Red; FastLED.show(); delay(500);
leds[0] = CRGB::Blue; FastLED.show(); delay(500);
}
CRGB leds[NUM_LEDS]
#define NUM_LEDS
void setup()
void loop()
FL_DISABLE_WARNING_PUSH FL_DISABLE_WARNING_GLOBAL_CONSTRUCTORS CFastLED FastLED
Global LED strip management instance.
Definition FastLED.cpp:74
central include file for FastLED, defines the CFastLED class/object
WS2812 controller class.
Definition FastLED.h:218
@ Blue
<div style='background:#0000FF;width:4em;height:4em;'></div>
Definition crgb.h:569
@ Red
<div style='background:#FF0000;width:4em;height:4em;'></div>
Definition crgb.h:679
Representation of an RGB pixel (Red, Green, Blue)
Definition crgb.h:86

โœ… Works on Arduino, ESP32, Teensy, Raspberry Pi, and 50+ other platforms

๐Ÿš€ Why FastLED?

Massive Scale Tiny Footprint Background Rendering Universal
Drive 30,000 LEDs on Teensy 4.1 Runs on $0.50 ATtiny chips ESP32/Teensy render while you code Works on 50+ platforms
50 parallel strips on Teensy <2KB on Arduino Uno Never miss user input Nearly every LED chipset

๐ŸŽฏ Performance: Zero-cost global brightness โ€ข High-performance 8-bit math, memory efficient on platforms that need it. ๐Ÿ”ง Developer Experience: Quick platform switching โ€ข Extensive examples โ€ข Active community support

Table of Contents

  • ๐Ÿ†• Latest Feature
  • โญ Community Growth
  • ๐Ÿ†• Latest Features
  • ๐ŸŒ Platform Support
  • ๐Ÿ“ฆ Installation
  • ๐Ÿ“š Documentation & Support
  • ๐ŸŽฎ Advanced Features
  • ๐Ÿค Contributing

โญ Community Growth

Star History Chart

๐Ÿ†• Latest Features

FastLED 3.10.0: Animartrix Out of Beta

Advanced animation framework for complex LED visualizations and effects.

FastLED Animartrix Demo

FastLED 3.9.16: WaveFx / Multi Layer Compositing

Multi-layer compositing & time-based animation control for tech-artists.

https://github.com/user-attachments/assets/ff8e0432-3e0d-47cc-a444-82ce27f562af

3.9.13 3.9.10 3.9.8 3.9.2
**HD107 Turbo**
40MHz LED support
**ESP32 SPI**
Super stable WS2812 driver
**Massive Teensy**
50 parallel pins on 4.1
**WS2812 Overclock**
Up to 70% speed boost
3.7.7 More Features
**RGBW Support**
White channel LED strips
๐Ÿ“‹ Full Changelog
๐Ÿ“บ Demo Videos

๐Ÿ“บ Live Demos โ€ข ๐Ÿ“‹ Full Changelog

๐Ÿ“– Detailed Feature Information (Click to expand)

New in 3.10.0: Animartrix out of beta

FastLED 3.10 Animartrix

New in 3.9.16: WaveFx / Multi Layer Compositing / Time-based animation control

Video:

https://github.com/user-attachments/assets/ff8e0432-3e0d-47cc-a444-82ce27f562af

Major release for tech-artists!

Lots of improvements in this release, read the full change list here

Links

New in 3.9.13: HD107 "Turbo" 40Mhz LED Support

image

New in 3.9.12: WS2816 "HD" LED support

image

New in 3.9.10: Super Stable WS2812 SPI driver for ESP32

image (2)

New in 3.9.9: 16-way Yves I2S parallel driver for the ESP32-S3

perpetualmaniac_an_led_display_in_a_room_lots_of_refaction_of_t_eb7c170a-7b2c-404a-b114-d33794b4954b

*Note some users find that newer versions of the ESP32 Arduino core (3.10) don't work very well, but older versions do, see issue 1903

New in 3.9.8 - Massive Teensy 4.1 & 4.0 WS2812 LED output

  • Teensy 4.1: 50 parallel pins
  • Teensy 4.0: 42 parallel pins

New Project

New in 3.9.2 - Overclocking of WS2812

image Update: max overclock has been reported at +70%: https://www.reddit.com/r/FastLED/comments/1gkcb6m/fastled_FASTLED_OVERCLOCK_17/

New in 3.7.7 - RGBW LED Strip Support

image (1)

๐ŸŒ Platform Support

Platform Categories

Arduino Family ESP32 Series Teensy ARM Specialty
Uno, Nano, Mega
Due, Giga R1, R4
ESP32, S2, S3, C3
C6, H2, P4
3.0, 3.1, 4.0, 4.1
LC + OctoWS2811
STM32, NRF52
Apollo3
Raspberry Pi
WASM, x86

FastLED supports 50+ platforms! From sub-$1 ATtiny chips to high-end Teensy 4.1 with 50 parallel outputs.

๐Ÿ“ฆ Installation

Quick Install Options

Arduino IDE PlatformIO Package Managers
Library Manager โ†’ Search "FastLED" โ†’ Install lib_deps = fastled/FastLED pio pkg install --library "fastled/FastLED"
Or install latest release .zip Add to platformio.ini Command line installation

Template Projects

Arduino IDE Setup Instructions (Click to expand)

After installing the Arduino IDE, add FastLED through the Library Manager:

Arduino IDE Library Manager

FastLED Library Search

๐Ÿ“š Documentation & Support

๐Ÿ“– Documentation ๐Ÿ’ฌ Community ๐Ÿ› Issues ๐Ÿ“บ Examples
API Reference Reddit r/FastLED GitHub Issues Live Demos
Doxygen Docs 1000s of users & solutions Bug reports & feature requests [GitHub Examples](examples)

Need Help? Visit r/FastLED - thousands of knowledgeable users and extensive solution history!

๐ŸŽฎ Advanced Features

Performance Leaders: Parallel Output Records

Platform Max Parallel Outputs Performance Notes
Teensy 4.1 50 parallel strips Current record holder - Example
Teensy 4.0 42 parallel strips High-performance ARM Cortex-M7
ESP32DEV 24 via I2S + 8 via RMT I2S Example
ESP32-S3 16 via I2S + 4 via RMT S3 Example

Note: Some ESP32 Arduino core versions (3.10+) have compatibility issues. Older versions work better - see issue #1903

Exotic Setups (120+ Outputs!)

Custom shift register boards can achieve extreme parallel output:

Supported LED Chipsets

FastLED supports virtually every LED chipset available:

Clockless (3-wire) SPI-based (4-wire) Specialty
WS281x Family: WS2811, WS2812 (NeoPixel), WS2812-V5B, WS2815 APA102 / DotStars: Including HD107s (40MHz turbo) SmartMatrix Panels
TM180x Series: TM1809/4, TM1803 High-Speed SPI: LPD8806, WS2801, SM16716 DMX Output
Other 3-wire: UCS1903, GW6205, SM16824E APA102HD: Driver-level gamma correction P9813 Total Control

RGBW Support: WS2816 and other white-channel LED strips โ€ข Overclocking: WS2812 up to 70% speed boost

More details: Chipset Reference Wiki

APA102 High Definition Mode

#define LED_TYPE APA102HD // Enables hardware gamma correction
void setup() {
}
#define DATA_PIN
#define LED_TYPE
Definition advanced.h:41
@ RGB
Red, Green, Blue (0012)
Definition eorder.h:14

APA102HD Comparison

Read more: APA102 HD Documentation โ€ข Rust Implementation

๐Ÿ› ๏ธ Development & Contributing

clone and compile

Ready to contribute? FastLED welcomes code contributions, platform testing, documentation improvements, and community support.

๐Ÿ”ง Development Setup & Contributing Guide (Click to expand)

Quick Development Setup

Zero pain setup - can be done from command line in seconds with uv or python:

FastLED Development Setup

Steps:

  1. Fork the repository on GitHub
  2. Clone your fork locally: git clone https://github.com/yourusername/FastLED.git
  3. Test compilation: bash compile (select your target platform)
  4. Make your changes and test
  5. Push to your fork and create a pull request

See our detailed Contributing Guide for more information.

Testing Other Devices

Use the compile script to test on 20+ platforms:

  • Teensy series, ESP32 variants, Arduino family, ARM boards, and more
  • Automated testing ensures compatibility across all supported platforms

How to Help

๐Ÿ“‹ How to Help ๐Ÿ”— Resources
Code contributions: Bug fixes, new features, optimizations Contributing Guide
Platform support: Help test on new/existing platforms [Platform Testing](compile)
Documentation: Improve examples, fix typos, add tutorials Documentation
Community: Answer questions on Reddit, report issues r/FastLED

Platform Porting: Information on porting FastLED to new platforms: PORTING.md

About FastLED

What's in the name? Originally "FastSPI_LED" focused on high-speed SPI, but evolved to support all LED types and became "FastLED" - everything fast, for LEDs.

Official Site: fastled.io - documentation, issues, and news


Daniel Garcia, Founder of FastLED

In Memory of Daniel Garcia Daniel Garcia, the brilliant founder of FastLED, tragically passed away in September 2019 in the Conception dive boat fire alongside his partner, Yulia. This heartbreaking loss was felt deeply by the maker and developer community, where Daniel's contributions had left an indelible mark.

Daniel was more than just a talented programmer; he was a passionate innovator who transformed the way creators interacted with LED technology. His work on FastLED brought high-performance LED control to countless projects, empowering developers to craft breathtaking installations.

In his personal life, Daniel was known for his kindness and creativity. His pride in FastLED and the vibrant community it fostered was a testament to his dedication to open-source development and his commitment to helping others bring light into the world.

While Daniel is no longer with us, his legacy continues through the FastLED library and the countless makers who use it. The community he built serves as a living tribute to his ingenuity, generosity, and the joy he found in sharing his work with the world.

About the Current Contributor

Zach Vorhies, the current main contributor to FastLED, briefly worked with Dan in 2014 in San Francisco and was an avid user of the FastLED library for over 13 years. After Daniel Garciaโ€™s untimely passing, Zach stepped up to ensure FastLEDโ€™s continued growth and development.

Zach has this to say about FastLED:

"The true power of FastLED lies in its ability to transform programmers into LED artists. Free space becomes their canvas; bending light is their medium. FastLED is a collective effort by programmers who want to manifest the world that science fiction writers promised us. -- To contribute code to FastLED is to leave behind a piece of something immortal."


๐Ÿ’ซ In memory of Daniel Garcia and the vision that transforms programmers into LED artists

To stay updated on the latest feature releases, please click the Watch button in the upper right ""