Guide the process of porting FastLED to a new microcontroller platform.
$ARGUMENTS
What This Skill Covers
Platform Detection Setup
- Create platform detection headers (
is_<platform>.h) - Define
FL_IS_<PLATFORM>macros following naming convention - Wire into existing detection chain (
src/platforms/)
Integer Type Definitions
- Create platform-specific
int.hwith correct primitive type mappings - Register in the
src/platforms/int.hdispatcher
LED Output Drivers
- Clockless (bit-bang) driver implementation
- SPI hardware driver if platform supports it
- RMT/I2S/PARLIO drivers for ESP32 variants
- GPIO register access patterns for the target MCU
- Peripheral existence check FIRST — before naming any
<Peripheral>_Typetypedef or<Peripheral>_BASEaddress, verify the peripheral EXISTS on the target chip against BOTH the vendor CMSIS PAL header for that specific variant AND the chip's datasheet chapter. Seeagents/docs/peripheral-existence.mdfor the halt-on-phantom rule and the LPC804 anti-example (framework-arduino-lpc8xx#35). - Register-map authoring — use the vendor CMSIS PAL header
(
LPC845.h,stm32f4xx.h,nrf52840.h,hardware/structs/*.h, etc.); do not hand-roll register shims. Seeagents/docs/register-maps.mdfor the rule, the vendor-source table, and the tier-1/2/3 integration pattern.
Build System Integration
- fbuild board definition (
ci/boards.py) - Meson build configuration
- Compiler flags and linker scripts
How To Use
/platform-port STM32H7
/platform-port RP2040
/platform-port nRF52840
/platform-port I need to add support for the ESP32-P4
What You'll Get
- Step-by-step porting checklist with file locations
- Platform detection header template
- Integer type mapping research and implementation
- Clockless driver skeleton based on platform GPIO speed
- Build system configuration guidance
- Testing strategy for the new platform