Skip to content

chore: collect vendor datasheets for all FastLED-supported silicon and LED chips #1

Description

@zackees

Context

This repo (FastLED/datasheets) is currently empty apart from README.md and CLAUDE.md. The main FastLED repo (FastLED/FastLED) supports a wide range of vendor silicon and LED chips across src/platforms/** and src/fl/chipsets/**, but none of the vendor PDFs have been imported yet. Agent guardrails in agents/docs/peripheral-existence.md and agents/docs/register-maps.md in the main repo require citing this repo before writing driver code — so we need the actual PDFs on disk.

Inventory below was pulled from src/platforms/** (host silicon) and src/fl/chipsets/** + src/chipsets.h (LED chips).

Proposal

Collect the official vendor PDFs (datasheet, user manual / technical reference manual, errata, and relevant application notes) for every chip listed below and file each one under <vendor>/<product-type>/<part-number>/ per the layout in README.md and CLAUDE.md.

Host silicon — SoC / MCU / boards

Vendor slug Product type Part(s) FastLED source
espressif soc ESP32, ESP32-S2, ESP32-S3, ESP32-C3, ESP32-C6, ESP32-H2, ESP32-P4, ESP8266 src/platforms/esp/{32,8266}/**
nxp mcu LPC845, LPC804, LPC81x/LPC82x (legacy fastpin_arm_lpc11_legacy.h), MK20DX128/256 (Teensy 3.1/3.2), MK64/MK66 (Teensy 3.5/3.6), MKL26Z (Teensy LC), i.MX RT1062 (Teensy 4.x) src/platforms/arm/{lpc,mk20dx,k20,k66,kl26,mxrt1062}/**
pjrc board Teensy LC, Teensy 3.1/3.2, Teensy 3.5, Teensy 3.6, Teensy 4.0, Teensy 4.1 src/platforms/arm/teensy/**
stmicroelectronics mcu STM32F1/F4 (STM32F103, STM32F411…), STM32H7 (STM32H750, STM32H747 for Arduino GIGA), STM32 Blue Pill variants src/platforms/arm/{stm32,giga}/**
nordic mcu nRF51822, nRF52832, nRF52833, nRF52840 src/platforms/arm/{nrf51,nrf52}/**
raspberrypi mcu RP2040, RP2350 src/platforms/arm/rp/{rp2040,rp2350}/**
renesas mcu RA4M1 (Arduino UNO R4 Minima), RA4M1/RA6M5 as applicable src/platforms/arm/renesas/**
microchip mcu ATmega328P, ATmega2560, ATmega32U4, ATmega4809, ATtiny series, SAMD21, SAMD51, SAM3X8E (Due) src/platforms/avr/{atmega,attiny}/**, src/platforms/arm/{d21,d51,sam,samd}/**
ambiq mcu Apollo3 Blue (SparkFun Artemis family) src/platforms/apollo3/**
siliconlabs mcu MGM240 / EFR32MG24 (Cortex-M33) src/platforms/arm/{mgm240,silabs}/**

LED chips — addressable + non-addressable

Vendor slug Product type Part(s) FastLED source
worldsemi addressable-led WS2811, WS2812, WS2812B, WS2813, WS2815, WS2816, WS2801 src/fl/chipsets/{ws2801.h,encoders/ws2816.h}, platforms/chipsets_specialized_ws2812.h
normand (SK) addressable-led SK6812, SK9822 src/chipsets.h
apa addressable-led APA102, APA102HD src/fl/chipsets/apa102.h
titanmicro addressable-led LPD8806, LPD6803 src/fl/chipsets/lpd880x.h
newstar addressable-led P9813 src/fl/chipsets/p9813.h
sunmoon addressable-led SM16716, SM16703 src/fl/chipsets/sm16716.h
hdchips addressable-led HD107, HD108 src/fl/chipsets/hd108.h
ucs addressable-led UCS7604, UCS1903, UCS2903 src/fl/chipsets/ucs7604.h
tm addressable-led TM1809, TM1812, TM1829, TM1914 src/chipsets.h
gs addressable-led GS8208 src/chipsets.h

(Vendor slugs for LED-side chips beyond worldsemi are proposals — they need to be added to the vendor table in README.md in the same commit that first imports a PDF for them, per the CLAUDE.md rule.)

Acceptance criteria

  • Each host-silicon row above has at least a datasheet.pdf (and technical-reference-manual.pdf where the vendor separates the two) landed under <vendor>/<product-type>/<part-number>/.
  • Each LED-chip row has at least a datasheet.pdf landed under the appropriate <vendor>/addressable-led/<part>/ directory. Where an OCR/text extraction is needed for pattern-matching timings, drop a sibling datasheet.txt next to it.
  • Any new vendor slug not already listed in README.md (e.g. ambiq, apa, normand, titanmicro, newstar, sunmoon, hdchips, ucs, tm, gs) is added to the vendor-slug table in README.md in the same commit that first uses it.
  • SOURCES.md sits next to any PDF that was renamed from the vendor filename, recording the original filename + source URL.
  • Available errata PDFs are included where the vendor publishes them (notably Espressif — every ESP32 variant has a dedicated errata sheet).
  • Nothing under NDA is committed.

Decisions

  • Scope: silicon + LED chips only, no dev-board pinouts. Why: board-type entries are already listed for Teensy in README.md as the exception; other Arduino/dev-kit board manuals are downstream and don't belong here.
  • Priority: P2. Why: not blocking active driver work today, but the guardrail doc in FastLED/FastLED already expects to cite this repo, so this backfills a required dependency.
  • LED-chip vendor slugs are provisional. Why: the vendor table in README.md only lists silicon vendors today. Rather than guess and hard-code slugs like apa vs apa-electronic, whoever imports the first PDF picks the slug and updates the table in the same commit — per the CLAUDE.md rule.
  • Split ESP32 by variant, not by family. Why: the ESP32-S3 TRM is a different document from the original ESP32 TRM, and FastLED already discriminates between them (isr_esp32_idf5.hpp etc.).
  • Teensy boards get both a pjrc/board/teensy-*/ entry AND their underlying NXP part number entry. Why: register access lives under nxp/mcu/<part>/, but the board-level pinout + schematic is a PJRC document.
  • Do not bulk-import in one PR. Why: one PDF per commit (per the "Adding a new datasheet" procedure in README.md) keeps the git history reviewable and lets vendor-slug additions land alongside the first file that uses them.

Related issues

None — this repo has no prior issues.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions