Hi everyone!
I'd like to share mcx-arduino-core, an Arduino core I've been building for NXP's FRDM-MCXA153 development board (Cortex-M33).
What it is
FRDM-MCXA153 isn't covered by any official Arduino core. mcx-arduino-core lets you write ordinary Arduino sketches and build/upload them straight from the Arduino IDE, using a lightweight, statically-linked core (no RTOS, no dynamic loader) that fits comfortably in the chip's 24KB RAM / 128KB flash.
Note: Arduino's own ArduinoCore-zephyr already supports some other NXP MCX boards, e.g. FRDM-MCXN947, but its LLEXT-based loader architecture alone needs a 128KB RAM buffer just to receive a sketch — more than 5x FRDM-MCXA153's entire 24KB of RAM. mcx-arduino-core takes the opposite, statically-linked approach specifically to fit boards like this one.
What's supported (v0.2.0)
- digitalWrite/digitalRead, attachInterrupt
- Serial (USB) and Serial1 (hardware UART on D0/D1)
- Wire (I2C) and Wire1 (I3C peripheral in I2C-compatibility mode) — used for the on-board P3T1755 temperature sensor
- SPI
- analogRead (LPADC) / analogWrite (PWM via FlexPWM0)
- millis() / micros() (SysTick + DWT)
- tone() / noTone() (CTIMER0, any digital pin)
- shiftOut/shiftIn, pulseIn/pulseInLong, random/randomSeed
- UNO R3/R4-compatible macros and constants (PI, min/max, bit macros, map, etc.), so sketches written for classic Arduino boards compile largely unmodified
Install
This board is programmed via NXP LinkServer, not Arduino's own upload tool, so it needs to be installed separately *before* you try uploading anything: https://www.nxp.com/linkserver (free download, installers for macOS/Windows/Linux).
Then add the Boards Manager URL:
https://raw.githubusercontent.com/teddokano/mcx-arduino-core/main/package_nxp_mcx_index.json
under File → Preferences → Additional boards manager URLs, and install "NXP MCX Series" from Boards Manager. Once LinkServer is installed, the upload script finds it automatically — no path configuration needed.
The full install → build → upload flow has been verified on macOS and Windows 11. Linux isn't supported yet -- the toolchain and upload script are already in place, but the end-to-end flow hasn't been verified there.
Getting started
There's a step-by-step tutorial covering installation through every supported peripheral:
Source / license
GitHub - teddokano/mcx-arduino-core · GitHub — MIT licensed.
Feedback, bug reports, and PRs are all welcome, either here or on GitHub. Multi-board support (MCXA156, MCXN947, MCXN236) is on the roadmap.
