I’ve been working with the STM32N6, ST’s newest MCU with a Neural-ART NPU, camera/display pipelines, and a NeoChrom GPU.
What nobody tells you upfront: the software ecosystem is still maturing, documentation is sparse, and a single mis-configuration can cost you days.
So far, I have set up a robust debugging environment with bootloader + app on external flash, LCD via LTDC, LVGL, and camera all working.
These are the foundational steps for running ML models on a live camera feed.
In the process I learned a lot
โ ๐๐ฎ๐ฅ๐ญ๐ข-๐ฅ๐๐ฒ๐๐ซ ๐๐๐๐ฎ๐ ๐ ๐ข๐ง๐ : Debugging across memory loader, bootloader & app layers. You need to set up a very non-traditional debugger because the bootloader and application both are flashed to the external memory
โ ๐๐๐ซ๐๐ฐ๐๐ซ๐ ๐๐จ๐ง๐๐ข๐ ๐ฎ๐ซ๐๐ญ๐ข๐จ๐ง: Pixel formats & LCD timing signals and LTDC configuration
โ ๐๐จ๐จ๐ญ๐ฅ๐จ๐๐๐๐ซ ๐๐๐๐๐ฌ๐ฌ๐ข๐ญ๐ฒ: Why STM32N6 enforces a bootloader from day one
โ ๐๐๐
: Setting up the Resource Isolation Framework (RIF) in STM32N6
โ ๐๐ฑ๐๐๐ฎ๐ญ๐ข๐จ๐ง ๐๐จ๐๐๐ฅ๐ฌ: Understanding different code execution methods like load and run, execute in place (XIP). When and why are they used
โ ๐๐ ๐๐ง๐ญ๐๐ ๐ซ๐๐ญ๐ข๐จ๐ง: Converting and deploying models from STM32 Model Zoo using STM32Cube.AI
โ ๐๐ ๐๐จ๐จ๐ฅ๐ฌ:ย Using Claude Code and Cursor for embedded development and their limits
