Get ready for the STM32 Summit 2026 | Online, November 3
Ask questions and find answers on how to deploy, debug, and optimize AI models on ST microcontrollers, microprocessors, and smart sensors.
Most recent activity
Hey there, I have run into an issue while trying to using the new edge AI-studio software. I try to make a run such that I am able to the reach the generate project page.However, currently, I am stack at the point where the pipe running in the EDGE AI studio tries to use the STM32 cube programmer, I think to run the binary and verify it works before proceeding to provide the generated project page.My set up includes a custom made board, set in DEV boot, and an st-link v3 pwr connected to the custom board. I can confirm that I am able to program the board using cube programmer. I am also able to debug the code programed to this board using XIP paradigm , there for I think the connection there is okay,The custom boards OCTO XSPI is very similar to that of the stm32n6570.DK as I am able to use the default bootloader for the dev board to be able to program it.How ever the logs from running the cube AI studio say Run failed: Error: STM32CubeProgrammer exited with code 1I attached
Hello,I am trying to create a project with Cube AI studio v1.2.My toolchain and libraries are well detected with Cube AI studio v1.1, and I can create a project.However, it is not the case for the Cube AI studio v1.2. The toolchain paths seem valid, but when creating a project no IDE is proposed at all, as shown in the attached image. Could you help me please ? No debug logs are generated. Versions :Cube AI studio : 1.2CubeMX : 6.17CubeIDE: 2.1.1CubeProgrammer : 2.22.0EdgeAICore : 4.0
Hello ST Community, I am trying to run a TFLite model on the Neural-ART NPU of the NUCLEO-N657X0-Q board using STM32CubeIDE + STM32CubeMX and STM32Cube AI Studio. I followed the guide here: https://community.st.com/t5/stm32-mcus/how-to-build-an-ai-application-from-scratch-on-the-nucleo-n657x0/ta-p/828502 but with my own TFLite model. Model details: Architecture: 5x FullyConnected layers (41→32→32→16→8→1) with ReLU activations Input: int8[1,41], scale=0.0717, zero_point=-24 Output: int8[1,1], scale=0.0354, zero_point=1 Task: binary classification Problem: I have 31 test samples. Every sample produces the same output value 53 regardless of input. I verified the inputs are correctly quantized and different for each sample. What I investigated: Through per-epoch debugging I found the following epoch flow: EP0 (HW): reads input EP1 (HW): continuationEP2 (SW): DequantizeLinearEP3 (SW): Conv float → writes correct floats EP4 (hybrid): outputs ALL ZEROS EP5 (HW): reads zeros → always pr
Hi everyone,I'm encountering a blocking issue while trying to start an inference on a NUCLEO-N657X0-Q using STM32Cube AI Studio and STM32CubeProgrammer.The connection to the board via SWD seems successful, but the process fails during the memory programming phase. ------------------------------------------------------------------- STM32CubeProgrammer v2.22.0 ------------------------------------------------------------------- ST-LINK SN : 002F00223234510333353533ST-LINK FW : V3J17M10 Board : NUCLEO-N657X0-Q Voltage : 3.28V SWD freq : 8000 KHzConnect mode: Under ResetReset mode : Hardware reset Device ID : 0x486 Revision ID : Rev Z Device na
Hello ST Community,I am currently developing a coin recognition vision model (MobileNetV4) to be deployed on the NUCLEO-N657X0-Q (STM32N657X0H3Q) board. I am trying to fully utilize the integrated NPU using STM32Cube.AI.[My Approach] To maximize feature extraction of the coin's engraved patterns, I am using a Photometric Stereo-like approach. I capture 4 grayscale images using a global shutter camera with 4 directional lights (Top, Bottom, Left, Right). My goal is to stack these 4 images into a single 4-channel tensor (H x W x 4) and feed it directly into the NPU. I have already modified the first Conv2d layer of my PyTorch model to accept in_chans=4 and trained it successfully.[The Issue] When trying to validate and deploy this model, I encountered the following constraints regarding the Neural Network Input:"Only RGB888 format is tested for Neural Network Input.""Only UINT8 format is supported."The UINT8 constraint is perfectly fine for our quantization pipeline. However, the RGB888
STM32N6 NPU – Why does ROM size increase for some models after Neural-ART compilation?Hello,I noticed an interesting behavior while comparing STM32N6 CPU execution vs NPU execution using ST Edge AI + Neural-ART.For a simple Dense/Fully Connected (ad.tflite) model, enabling the NPU did not significantly change the weights size:CPU target:weights (ro): ~270 KBNPU target:weights (ro): ~269 KBSo the compiled NPU representation stayed almost identical.However, for a VWW/MobileNet-like model using many DEPTHWISE_CONV_2D layers, I observed a large ROM increase after enabling the NPU:CPU target:weights (ro): ~42 KBNPU target:weights (ro): ~227 KBAt first I thought this was caused by the quantization format conversion:CPU:model_fmt : ss/sa per channelNPU:model_fmt : ss/sa per tensorBut I also tested ResNet model where the same quantization conversion occurs, without a major ROM increase.So it seems the quantization format change alone is not the main reason.My questionCan ST confirm whether:Neu
Hello,I am trying to deploy a custom image classification model (bacteria classification) on the NUCLEO-N657X0-Q board using the STM32 AI Model Zoo v4.0.0 deployment pipeline.What works:The pre-built flower classification hex from Binary/NUCLEO-N657X0-Q/USB-UVC-Display/NUCLEO-N657X0-Q_GettingStarted_ImageClassification-uvc.hex works perfectly — camera streams via USB UVC and classification is displayedTraining a custom EfficientNetV2-B0 model (128×128 input, 5 classes) completes successfully with 100% validation accuracyQuantization (ONNX PTQ uint8) completes successfullyThe Model Zoo deployment script (operation_mode: deployment) successfully:Compiles the model via ST Edge AI Developer CloudGenerates C code and librariesBuilds the STM32CubeIDE project (UVCL_ModelZoo configuration)Signs the binary using STM32_SigningTool_CLIWhat does NOT work:After flashing the generated files to the board, the firmware does not boot — no serial output (tested at 115200 and 921600 baud), no USB UVC cam
Hello,I am experiencing two issues that started after updating STM32CubeAI Studio. Both worked correctly before the update.---Environment- Board: NUCLEO-N657X0-Q- STM32CubeAI Studio: latest update (STEdgeAI Core v4.0.0)- STM32CubeIDE: 2.1.1- STM32CubeProgrammer: v2.22.0- ST-LINK FW: V3J17M10- Model: MobileNetV3-based custom model (ONNX), int8 quantized and float variants---Issue 1: Build failure – CMSE stub too far (float model)When using a float ONNX model (~19 MB weights), the Appli build fails with:ERROR: CMSE stub (.gnu.sgstubs section) too far (0x135e520) from destination (0x52f0)collect2.exe: error: ld returned 1 exit statusAdditionally, the linker reports multiple memory regions not declared in the generated `STM32N657X0HXQ_LRUN.ld`:warning: memory region 'AXISRAM2' not declaredwarning: memory region 'AXISRAM3' not declared... (AXISRAM4, AXISRAM5, AXISRAM6, XSPI1, XSPI2, ROM)This build succeeded before the update with the same model.---Issue 2: Flash failure – flash loader canno
In an Edge AI audio project that I'm working on, there is SAI2 peripheral that stops audio transmission after a while when the AI algorithm in the while loop of the main.c has done some inferences.The AI algorithm code was generated with Cube AI Studio and, when STM32CubeAI_Studio_AI_Process() is commented, the SAI peripheral works normally without interruptions.The board used is a NUCLEO-N657X0-Q.The version of software used is:-ST Edge AI Core: version 4.0.0-STM32CubeIDE: version 2.0.0-Cube AI Studio: version 1.1.0I've tried to search on internet for a solution and there is no material concerning it! I've tried to ask for help in other posts, but nobody helped me. Can somebody try to explain why and find a solution? I'm desperate and I don't know what to do for my project but withdraw.
Hello , i wanted to know what the process of debugging projects generated by Cube Ai Studio ? The automatic flash from cube ai studio to the board works , but when i wanted to debug the exported projected via stm cube ide , it doesnt work , can u please share a tutorial of whats the recommended process ?Im using the nucleo n657x0-q board
I have project consisting of FSBL+Application (writing AI code in application), I want to debug application code, but unable to do it . My core doubt is should I go via FSBL debugging or Application debugging while working with real time detection in AI ? I am very much confused in this application debugging, kindly address it.I have ensured the external memory loader in cube Programmer as well as in debugger settings is same & loaded .I had flashed the binaries in cube programmer FSBL-trusted bin at 0x70000000 and application trusted-bin at 0x70100000 and signed them also. I have attached a word document having screenshots of debugger settings and problems coming in debugging for each directly application and via FSBL. & one screenshot of external memory settings in .ioc file.Thanks & RegardsChanchal
Hello, I am trying to run Validate on target on a NUCLEO-N657X0-Q board using X-CUBE-AI 10.2.0, but it consistently fails. I would appreciate any guidance. Environment: Board: NUCLEO-N657X0-Q X-CUBE-AI: 10.2.0 STM32CubeMX / STM32CubeIDE: latest OS: Windows 11 Model: ONNX (MobileNetV4-Small based, input [1,4,224,224] float32, 2 outputs) What works: Analyze: OK (Flash 46.75MB, RAM 3.78MB) Generate: OK Validate on desktop: OK (acc=100%, nse=1.0) Board detected: ST-Link Virtual COM Port on COM5 Firmware flash reports: Start operation achieved successfully Problem: When running Validate on target via STM32CubeMX: Running the ST.AI c-model (AI RUNNER)...(name=network, mode=TARGET)Proto-buffer driver v2.0 (msg v3.1) (Serial driver v1.0 - COM5:921600)Warning: C-network signature checking is skipped on ST Neural-ART NPULOAD ERROR: STM32 - read timeout 50000msValidation ended When running stedgeai CLI directly (after manual build via n6_loader.py):  
Dear all,For the STM32N6570-DK kit, is there a simple tutorial that shows the workflow for integrating a model generated by STM32Cube AI Studio into a project?A simple example would be: if an image is detected, we could turn on an LED on the kit.A guide would be very welcome. Many thanksCheersEmmanuel
..
Hi everyone,I’m working on a Driver Monitoring System (DMS) pipeline on the STM32MP25 and trying to understand both NPU utilization and overall performance limitations.Setup details:Platform: STM32MP25Framework: stai_mpu_network (using .nb models with use_hw_acceleration=True)Camera pipeline: GStreamer (appsink + cairooverlay)Current performance: ~15 FPSGPU load: ~25%Models in use:Face Detection (.nb) → runs every frameFace Landmark (.nb) → runs every 3 framesIris Landmark (.nb) → runs every 3 frames (same schedule as landmarks)YOLOv8n (Smoking/Calling, .nb) → runs every 3 frames (offset scheduling)Scheduling logic:Face detection: every frameLandmark + eye models: frame_count % 3 == 0YOLO model: frame_count % 3 == 1So not all models are executed every frame, but FPS is still limited to ~15.Questions:1. NPU verificationEven though .nb models are used with HW acceleration enabled, I don’t have confirmation that inference is actually running on the NPU.How can I verify that the NPU is bei
Hello! Has anyone tried to deploy multiple neural networks on a stm32n6 at once? I'm developing an application which requires 5 NN. I created 5 .c libraries to deploy each NN on the NPU, I assume is because of the APIs that they overlap. So I'm curious if anyone has tried this and how it was solved. My last option is to create a bigger models that contains all 5 on onnx, then deploy it, idk if someone knows if this could work to.
Hello,I have downloaded the stedgeai for Linux on windows pc and transferred to Linux system running Ubuntu 22.04 .i want to know is it possible to install it in a headless mode where I don’t have to do or click anything on the gui as my Ubuntu system is all console based with no gui.whenever I try to run ./Linux installer I am getting this error ./-linux-onlineinstaller: error while loading shared libraries: libxkbcommon-x11.so.0: cannot open shared object file: No such file or directoryplease let me know how to install it on a headless system.bestR
Hello,I have recently installed and launched stm32cubeai studio latest version and it appears to be hung at launch screen with progress bar in motion.I have tried to close this from task window and tried uninstalling and installing it but still same issue.restarted the pc as well. What could be the issue. I have still 10 gb of hard disc space left. Br,
Hi there,I am trying to deploy a quantized LiteRT (TF Lite) stateless LSTM model to a Nucelo-H723 using CubeMX, X-Cube-AI, and CubeIDE. However, when I go to compile the generated code in CubeIDE, I get the following linker errors (full console output at bottom of this post) related to undefined references to arm_vector_sum_s8, arm_nn_vec_mat_mul_result_acc_s8_s16, and arm_nn_activation_s16 from the NetworkRuntime1020_CM7_GCC.a static library. Any suggestions on what the fix might be? Additional configuration information:We configure CubeAI inside of CubeMX to flash the system performance variant, and can load and analyze our LSTM model within the Cube-AI window in CubeMX with no issues.We also configure the H7 to use icache, dcache, CRC. We've been able to run other models (MLP) with no issues.Console Error:C:/ST/STM32CubeIDE_1.19.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.win32_1.0.100.202602081
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...
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.