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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions