WATCH ON-DEMAND | STM32 Summit 2026
Ask questions and find answers on how to deploy, debug, and optimize AI models on ST microcontrollers, microprocessors, and smart sensors.
Most recent activity
Using https://stm32ai-cs.st.com , starting with my .tflite model. My goal is to incorporate the new model into the STM32N6-GettingStarted-ObjectDetection example. I am having some issues with versions.The ST Edge AI Developer Cloud produces a version of the model which differs from the version used by the support files in the example code. Case in Point - the function LL_ATON_LIB_Concat: the example has 6 parameters and code generated from the ST Edge AI requires 7 parameters. Dr Google, suggests there is another option when I "Download C Code" from the AI Developer Cloud that I should also have an option to change the Target Output to "STM32CubeIDE Project", "System Performance Project", or "C-Project".I don't see that option. can you help.
I am using STM32N6570-DK board . I am trying to build edge AI code in application mode with the help of generated STM32 cube AI studio generate project for IDE. I am following this article https://community.st.com/t5/stm32-mcus/how-to-build-an-ai-application-from-scratch-on-the-stm32n6570-dk/ta-p/825591 . @Julian E. This article includes AI using X-Cube AI , I just wanted to ask if I am using the project/ AI files generated by STM32 Cube AI studio, Will the configuration of external memory manager and addresses we are using in XSPI2 , RAMCFG , RCC settings all will remain exactly same ? I am asking this as I am getting some memory issues while debugging the application code.Also my code includes ADC+USART also, will this add to additional memory changes?
I need to do keyword spotting and for that I'm trying to classify using CSV files, but they end up being very large because there are so many files. Is there another type of file I can put in NanoEdge or another way to do this?
Hello ! I am trying to build Blinky example on STM32N6570Dk eval board . And this is how my memory.x file looks like below */MEMORY{FLASH : ORIGIN = 0x24180400, LENGTH = 256KRAM : ORIGIN = 0x241C0400, LENGTH = 512K}When I run cargo run --release , I am getting the error . Could anyone please point what might be the problem here Running `probe-rs run --chip STM32N657 target/thumbv8m.main-none-eabi/release/blinky`WARN probe_rs::probe::stlink: send_jtag_command 242 failed: SwdApWdataError WARN probe_rs::probe::stlink: send_jtag_command 242 failed: SwdApWdataError WARN probe_rs::probe::stlink: send_jtag_command 242 failed: SwdApWdataError WARN probe_rs::probe::stlink: send_jtag_command 242 failed: SwdApWdataError WARN probe_rs::probe::stlink: send_jtag_command 242 failed: SwdApWdataError WARN probe_rs::probe::stlink: send_jtag_command 242 failed: SwdApWdataError WARN probe_rs::probe::stlink: send_jtag_command 242 failed: SwdApWdataError Finished in 0.16sFirmware
Hello!I have implemented one of the key parts of a speech recognition system on the STM32N6 without using the cloud. I would like to describe my results in more detail, but it seems to me that the “New Message” section is not the right place for that. Could you please advise me where it would be better to share this?
Environment:Tool: STM32Cube.AI Studio (Windows Desktop)MCU: STM32N647 (Flashless)Board: Custom board (Non-ST DK/Nucleo)Issue: The Memory Pool option is locked to "Auto" and cannot be switched to "Manual" in the GUI. Since STM32N647 has no internal Flash, the default "Auto" mode triggers a Memory Overflow error as it attempts to place weights in non-existent Flash.Question: I have already prepared a custom mpool and Jason file. How can I explicitly point the Studio to use this JSON file via the GUI? I've checked the Wiki but couldn't find the specific input field...
I want to flash a custom object detection model on the STM32N6570-DK board. I followed these steps:1-I selected the model ST_YOLOXN_D033_W025_416_INT8_OBJECT_DETECTION_COCO_2017_PERSON.TFLITE from ST Edge AI Cloud, with the following parameters: input: 1×416×416×3 (8-bit), output: multiple outputs, model type: STAI_FORMAT_U8. I then generated the corresponding C files.2-I followed this path: ModelZoo service → application_code → object_detection → STM32N6 → Model → STM32N6570-DK, and replaced the original files with my custom model. The files I modified are:network.cnetwork_ecblobs.hnetwork_atonbuf.xSPI2.binstai_network.cstai_network.h3- In STM32CubeIDE, I configured the app.config.h file #define POSTPROCESS_TYPE POSTPROCESS_OD_ST_YOLOX_UI #define NN_HEIGHT (416) #define NN_WIDTH (416) #define NN_BPP (3) #define COLOR_BGR (0) #define COLOR_RGB (1) #define COLOR_MODE COLOR_RGB /* Classes */ #define NB_CLASSES (1) #define CLASSES_TABLE const char* classes_table[NB_CLASSES] =
For STM32N6570-DK , I was trying to generate STM32 IDE model regarding Edge AI, but it is not showing the option to download complete project . While this documnetation shows that we can download the complete IDE project . https://stedgeai-dc.st.com/documentation
Hi everyone, In order to help our developers understand how their work is used and what to do in order to improve model zoo, we kindly ask you to look at this survey about ST Model Zoo Services. Link of the survey: https://docs.google.com/forms/d/e/1FAIpQLSeifejB0Ir6pJFlYHtqaEdOuIz1G3vjUZi3hlyNBygWIxJGCw/viewform?usp=dialog Your feedback is extremely valuable and will help us understand your needs, improve existing models and tools, and guide future developments. This survey should only take a few minutes, and your responses will remain confidential and used solely to enhance the STM32 AI Model Zoo experience. Thank you for your time, Have a good day!
Hi all,I’m currently working on an Edge AI project using the NUCLEO-N657X0-q and I've run into a roadblock regarding multi-model deployment.I need to run 2 or 3 models on this MCU, scheduled via FreeRTOS. While I can get a single model working fine with STM32Cube.AI Studio, I’m struggling to find a detailed workflow for managing multiple instances.Specific questions:API Naming: How to properly configure Cube.AI to generate unique prefixes for multiple models to avoid link-time conflicts?Memory/Buffer Sharing: Is there a standard way to share a single activation buffer between models to save RAM, given they are called sequentially via FreeRTOS?Task Scheduling: Any known issues or best practices for calling stai_network_run() within a FreeRTOS task? (e.g. stack size or re-entrancy).I’ve checked the ST Edge AI Core docs but couldn't find a concrete example for this multi-model + RTOS use case. If anyone has a reference project or can point me to the right Application Note, I’d really
As the subject states, when I try to run the AI model from the original demo on the STM32N6570-DK board, the screen turns black and the LEDs switch to red.A few days ago, I attempted to run my own AI model. Using STM32CubeProgrammer, I selected the external loader MX25UM1245G_STM32N6570-DK (I believe this may have been incorrect). Then, in the Erasing & Programming section, I uploaded my .bin file, set the start address to 0x70380000, and started the programming process.After that, I tried to debug the STM32N6570-DK Getting Started Object Detection project in STM32CubeIDE. However, I encountered an issue in main.c with the error:#error "PostProcessing type not supported"which persists.Later, I decided to restore the original demo. I erased the external memory using STM32CubeProgrammer,then downloaded the original demo .hex file ("STM32N6570-DK Out-of-the-box demo binary"), and followed the provided instructions.The demo now runs on the board, but when I try to launch the orig
Hello st community!Does anyone managed to get a csi-2 camera working with Nucelo n657 can provide his project as reference, im trying to explore the DCMIPP but I'm getting lost so if any code provided so i can follow along.Thanks!
Downloaded latest version of STM32-ISP-IQTune from the ST website today and installed it on my macbook, when I tried to launch the desktop application I get this attached error:
Yesterday I built a model from a 256x256x3 .tflite. The Cloud produced a zip file that included a network_atonbuf.xSPI2.raw file. This file is about 27KB in size. What triggered the change from the network_data files?The network.c knew about this .raw file and pointed at it 0x71000000. That's all good. I just rename it to .bin and loadi it with CubeProgrammer. But what I don't understand is the test for version: #if LL_ATON_VERSION_MAJOR != 1 || LL_ATON_VERSION_MINOR != 1 || LL_ATON_VERSION_MICRO != 3 || LL_ATON_VERSION_DEV != 262 # error "Possible mismatch in ll_aton library used" #endifWorking with the STM32N6-GettingStarted-ObjectDetection as my base this version test failed in Make. I just commented it out. Am I going to have a problem?
Hello ST community!Currently i'm working on a project based on the stm32 NUCLEO-N657X0-Q which should be delivered very soon .I followed this article https://community.st.com/t5/stm32-mcus/how-to-build-an-ai-application-from-scratch-on-the-nucleo-n657x0/ta-p/828502 step by step with the same versions of software mentioned but without any results .I tried using X-Cube AI and the new tool Stm32Cube AI studio but i ended up with a lot of confusion and errors .I'm planning to stick for now with x-cube ai since the new tool has a lot of bugs to be fixed .My questions is what are the right versions of the software to use to get a computer vision (Yolo like) to work on my board ?Thnx!
Hello ST Community,I am currently working with STM32N6 and CubeAI, and I would appreciate your guidance on an issue related to incorrect inference on the device.I am integrating a custom KWS model into the STM32N6-GettingStarted-Audio project, but inference results on the device are incorrect.I have carefully verified the preprocessing and model behavior as described below.--------------------------------------------------Model--------------------------------------------------Architecture: DS-CNN (PyTorch)Input tensor:[B, C, H, W] = [1, 1, 40, 49]H: mel binsW: time frames--------------------------------------------------Verified points--------------------------------------------------1. Log-mel preprocessing alignment- Log-mel spectrogram generated on STM32 was dumped using GDB- Compared with Python implementationResult:Nearly identical (very small numerical differences)2. PC inference with int8 model- Used dumped MCU log-mel as input- Ran inference with quantized (QDQ) ONNX mode
Hello,I am trying to integrate a model generated by STM32Cube AI Studio into an existing STM32N6 DC-DC converter control project, but I am not sure what the correct integration flow isfor a Neural-ART / NPU-based model.I am attaching the following 3 files/projects:1. My existing STM32CubeIDE project2. The folder generated by STM32Cube AI Studio3. The ONNX model used for generationMy setup is:- MCU/board: NUCLEO-N657X0-Q- Existing project: test_BOOSTXL_ACM_AI_0- The existing control loop is already running correctly- ADC + DMA + TIM based DC-DC converter control is implemented- The control calculation is currently executed inside the ADC DMA interrupt handler- I trained a small 1D CNN in PyTorch, exported it to ONNX, and then used STM32Cube AI Studio to generate codeModel information:- Input shape: (1, 1, 64)- Output shape: (1, 2)- Input data: 64 current samples at 5 us interval- Output: 2-class logits for resistance estimationWhat I tried:- I copied the generated folders into my existi
Helloi impported a TFLITE image classification model to cubeAI studiobut everytime i press runi get this error : Run failed: Error: analyze error: TOOL ERROR: C:\Users\gouiaa\Downloads\mobilenetv2_a035_128_int8.tflite does not contain a valid tflite modeldespite selecting a TFLITE model like the caption showshere is my settings windowMX 6.17 IDE 2.1.1 programmer 2.22 edgeAI core 4.0any suggestions?
I have been playing with the n6-dk for a while and today something unexpected happened.When I try to run the stock code provided in the model zoo services, the board flashes for a moment at startup and the debugger and the board become unresponsive (requiring power cycling).Another weird thing is that if I flash the code and connect the board to a power source the code seems to be running correctly. I tried with another desktop experiencing the same issue. I also tried to do a mass erase and fresh flashing of fsbl, source, and network code.This was not a problem before, for weeks I run the code with the board connected to my desktop, I have never seen the code crash like that (normally, if something in the code is wrong, I hit a fault and the board get stuck in a sig handler loop).Has anyone experienced anything similar?
Hi,I'm currently trying to run an image classification AI on a STM32H747I-DISCO board with the B-CAMS-OMV camera module bundle, using my own dataset. I was told it's good practice to use the same sensor for dataset collection and the final application, so I want to collect the images for the dataset with the B-CAM-OMV camera module aswell.I've seen that the model zoo provides many applications for the DISCO, unfortunately no simple USB-Webcam. I found such an application in the deprecated FP-AI-VISION1 pack, but it seems that my DISCO is a newer model and has another LCD (MB1166-A09), which doesn't work with the FP-AI-VISION1 pack.Does anyone know of a similar up-to-date application for simple taking images or has a different solution?
Is FP32 forcing software kernels and preventing NPU acceleration? Hi,I am testing CIFAR-10 ResNet on STM32N6570-DK and I need help understanding a latency gap between two STEdgeAI generation flows.I used the same FP32 model as input:CPU-only generation flowCPU+NPU generation flowBoth flows generated C files and hex successfully, and both run correctly on target.However, the CPU+NPU build is significantly slower than CPU-only.What I would like ST to confirm:For STM32N6, can full FP32 ResNet graphs be truly accelerated on Neural-ART, or are they generally expected to run as software float kernels?Is it normal that CPU+NPU generation for FP32 can be slower than CPU-only generation?For real NPU acceleration, is calibrated INT8 mandatory in practice?Which exact generator settings should I use to ensure that most layers map to NPU kernels (and how to verify mapping from generated artifacts)?Observed latency:CPU-only flow: about 211 msCPU+NPU flow: about 439 msMy main question:Is this ex
Hi I am using NUCLEO-N657X0-Q board, for the STM32N657 part, with the release STEdgeAI 2.0.We are using STM32Cube ecosystem (IDE, CubeMX, Programmer) for the development. I have been using NPU Validation example without any issues. The example there for the DK board, "\Projects\STM32N6570-DK\Applications\SNS\", which does not run for NUCLEO after a bit of changes for Nucleo. Gets stuck after the SystemIsolation_Config() in AppliNonSecure, with a Hard Fault. SECURE_RegisterCallback(IAC_ERROR_CB_ID, (void *)SecureError_Callback); (which is IACCVIOL = 1) ==> Though I have MPU is already enabled in the FSBL. Same time, after a bit of struggle with the CubeMX, Generated the code for Nucleo with X-Cube-AI 10.0 package. But this ended up with 1000's of errors in the build. Another way, by trying from working SNS Application sample (of course with FSBL) from Nucleo Templates and then adding the AI related Middleware, Apps to NS App side, it goes as far as /* End
I have followed the instructions mentioned in :Getting started - How to evaluate a model on STM32N6 development board for a quick profiling of my model.Board: STM32N6 Nucleo boardI, however , get a timeout message "LOAD ERROR: STM32 - read timeout 50047.0ms/50000ms" when running the Ai runner. I have done the following.1. In Dev Mode(BOOT0 and BOOT1 set) , n6_loader.py is executed and the log is attached as n6_loader.log2. The image Post_programming.png shows the output in TerraTerm after loading the Software.3. After setting the relevant python paths, and running the validate command as below, I see the load error. Attached is the screenshot Ai_runner_log.png.$ stedgeai validate -m <model_path> --target stm32 --mode target -d file:st_ai_wsThe generated report on the model resources are Flash : 1.1 MB and RAM: 3.1 MB.Could you please let me know how can I do a quick validation without encountering such an error ?
***Update***This issue is solved and was due to improper wifi firmware upgrade. Topic can be closed. Hi STM Team, I have been having issues for the last week with connecting to the STWIN.box via wifi from both iphones and android phones for DATALOG2 v3.2.0. (And to some extent v3.1.0). The configuration of the wifi network does not work correctly when I attempt to send it from the app. The only way I could get it to work, is when I used the Python SDK with firmware version 3.1.0. I was able then to connect with FileZilla and view/download files.Please advise what the possible workarounds are with this issue as I need to use this sensor by connecting to it via wifi and downloading the data files via FTP server.The following is an AI-generated overview of the issue in more detail: Device: STEVAL-STWINBX1 (STM32U585AI) Firmware tested: FP-SNS-DATALOG2 v3.1.0 and v3.2.0 WiFi module: EMW3080 (firmware successfully upgraded per README instructions) App tested: ST B
As shown in the figure, I have equipped the MCU with an external FLASH connected via XSPI2. However, it seems that AI Studio is not aware that there is an external FLASH. How should I configure it to solve this problem?As shown in the two pictures above, after I connected the development board via ST-link, I wanted to run it on the target, but it prompted "failed to start running". Why is this happening?
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.