Skip to content

Native support for NXP LPC8xx (LPC845-BRK, LPCXpresso804, LPCXpresso845-MAX) #513

Description

@zackees

Request

Add native fbuild support for the three NXP LPC8xx Cortex-M0+ boards in the ArduinoCore-LPC8xx package:

FQBN / board id MCU Flash SRAM F_CPU
lpc845brk (NXP LPC845-BRK) LPC845M301JBD48 64 KB 16 KB 30 MHz
lpcxpresso804 (NXP LPCXpresso804) LPC804M101JDH24 32 KB 4 KB 15 MHz
lpcxpresso845max (NXP LPCXpresso845-MAX) LPC845M301JBD64 64 KB 16 KB 30 MHz

Why

LPC8xx is a popular cheap Cortex-M0+ family (LPC804 ships at ~$1) with FastLED-relevant peripherals (SPI0, SCT/CTimer PWM, PININT). FastLED smoke examples already exist in the core repo (FastLEDClocklessSmoke, FastLEDSpiSmoke), gated by LPC8XX_ENABLE_FASTLED_EXAMPLE. There's no PlatformIO platform for LPC8xx today, so fbuild users have to drop a custom platformio.ini that overrides platform_packages on top of nxplpc.

What's already in place

The ArduinoCore-LPC8xx repo now ships:

  • boards/lpc845brk.json, boards/lpcxpresso804.json, boards/lpcxpresso845max.json — PlatformIO board manifests mirroring boards.txt
  • A sample platformio.ini in the README that drives all three envs via platform_packages = framework-arduino-lpc8xx @ https://github.com/zackees/ArduinoCore-LPC8xx.git#main

Reference PR adding those: https://github.com/zackees/ArduinoCore-LPC8xx (PR link will follow in a comment).

Proposed scope

  • Recognize lpc845brk, lpcxpresso804, lpcxpresso845max as first-class fbuild targets.
  • Wire the Arduino core override above (or vendor it) so users don't need a hand-rolled platformio.ini.
  • Optionally add the FastLED smoke examples to fbuild's example matrix once the core's hardware paths (ADC, PWM, I2C, USB-less serial) firm up — the upstream README flags those as still-pending.

Caveats worth knowing

  • The upstream nxplpc PlatformIO platform doesn't bundle an Arduino builder; the recipes in platform.txt (GCC compile/link, OpenOCD upload, vector-checksum tool in tools/lpc8xx_image_check.py) will need to land somewhere on the fbuild/PlatformIO side.
  • Upload is CMSIS-DAP via OpenOCD by default; manual ISP fallback is supported.
  • Repo status is alpha — compiles and links across all three targets via arduino-cli, but full hardware deployment isn't verified yet.

cc @zackees

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status
    Triage

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions