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

Leave a Reply

Your email address will not be published. Required fields are marked *