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 slugProduct typePart(s)FastLED source
espressifsocESP32, ESP32-S2, ESP32-S3, ESP32-C3, ESP32-C6, ESP32-H2, ESP32-P4, ESP8266src/platforms/esp/{32,8266}/**
nxpmcuLPC845, 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}/**
pjrcboardTeensy LC, Teensy 3.1/3.2, Teensy 3.5, Teensy 3.6, Teensy 4.0, Teensy 4.1src/platforms/arm/teensy/**
stmicroelectronicsmcuSTM32F1/F4 (STM32F103, STM32F411…), STM32H7 (STM32H750, STM32H747 for Arduino GIGA), STM32 Blue Pill variantssrc/platforms/arm/{stm32,giga}/**
nordicmcunRF51822, nRF52832, nRF52833, nRF52840src/platforms/arm/{nrf51,nrf52}/**
raspberrypimcuRP2040, RP2350src/platforms/arm/rp/{rp2040,rp2350}/**
renesasmcuRA4M1 (Arduino UNO R4 Minima), RA4M1/RA6M5 as applicablesrc/platforms/arm/renesas/**
microchipmcuATmega328P, ATmega2560, ATmega32U4, ATmega4809, ATtiny series, SAMD21, SAMD51, SAM3X8E (Due)src/platforms/avr/{atmega,attiny}/**, src/platforms/arm/{d21,d51,sam,samd}/**
ambiqmcuApollo3 Blue (SparkFun Artemis family)src/platforms/apollo3/**
siliconlabsmcuMGM240 / EFR32MG24 (Cortex-M33)src/platforms/arm/{mgm240,silabs}/**

LED chips — addressable + non-addressable

Vendor slugProduct typePart(s)FastLED source
worldsemiaddressable-ledWS2811, WS2812, WS2812B, WS2813, WS2815, WS2816, WS2801src/fl/chipsets/{ws2801.h,encoders/ws2816.h}, platforms/chipsets_specialized_ws2812.h
normand (SK)addressable-ledSK6812, SK9822src/chipsets.h
apaaddressable-ledAPA102, APA102HDsrc/fl/chipsets/apa102.h
titanmicroaddressable-ledLPD8806, LPD6803src/fl/chipsets/lpd880x.h
newstaraddressable-ledP9813src/fl/chipsets/p9813.h
sunmoonaddressable-ledSM16716, SM16703src/fl/chipsets/sm16716.h
hdchipsaddressable-ledHD107, HD108src/fl/chipsets/hd108.h
ucsaddressable-ledUCS7604, UCS1903, UCS2903src/fl/chipsets/ucs7604.h
tmaddressable-ledTM1809, TM1812, TM1829, TM1914src/chipsets.h
gsaddressable-ledGS8208src/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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions