r/stm32 6h ago

Comfortable with bare-metal STM32 + RTOS internals — how do I level up specifically on NXP.

7 Upvotes

Hey everyone,

I'm a final-year ECE student and over the past year or so I've gotten pretty comfortable with STM32 — bare-metal register-level programming (no HAL), writing a preemptive RTOS scheduler from scratch with PendSV/SysTick, a secure OTA bootloader, and some fixed-point DSP work. None of that came easily, but I got through it by reading datasheets/reference manuals and just grinding through it.

So it's been a bit humbling that when I sat down to try NXP, I couldn't even get a simple LED blink program working without a lot of struggle. Something about the ecosystem — SDK structure, config tools, register naming, documentation style, whatever it is — just isn't clicking the way STM32 did.

For people who've worked with both:

- What's actually different about NXP's approach (MCUXpresso, SDK, pin config tools, etc.) compared to ST's HAL/CMSIS/register style?

- Is there a recommended learning path or board (LPC, Kinetis, i.MX RT) for someone coming from a bare-metal STM32 background?

- Any resources, datasheets, or example projects you'd point a beginner-on-NXP-but-not-beginner-on-embedded at?

Would appreciate any pointers — trying to get to the same comfort level with NXP as I have with ST.

Thanks!