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
Tool versions (let me know if more details are needed on this):Zephyr RTOS v4.4.0STEdgeAI Core V4.0.0ST Edge AI Core v4.0.0-20500 359356bb0 STM32CubeAI 12.0.0-RC4Board: Nucleo N657X0 Q (nucelo_n657x0_q from Zephyr RTOS boards configuration) I generated NPU deployable code from the int8 quantized CNN model using this command:stedgeai analyze -m ./CNN_int8.onnx --type onnx --target stm32n6 --st-neural-art I tried to integrate the generated code in the zephyr environment for deployment. But the application fails when the calls to read the weight from external flash is requested using the APIs.The application is such that there are certain things running in the MCU after which the NN code is called using teh generated code from STEdgeAI Core tool and quantized CNN model. Succeeded calls (successful calls from the network code):LL_ATON_DECLARE_NAMED_NN_INSTANCE_AND_INTERFACELL_ATON_RT_Reset_NetworkLL_ATON_Input_Buffers_Info_networkLL_ATON_Output_Buffers_Info_networkLL_Buffer_addr_start
Body:I would like to replace the AI model in the STM32N6570-DK sample project "STM32N6-GettingStarted-ImageClassification" and run it in standalone mode.Purpose:My goal is simply to try running different AI models, not for development purposes. I would like to confirm operation by powering the board ON/OFF without using a debugger.Environment:Board: STM32N6570-DK IDE: STM32CubeIDE 2.2.0 STM32CubeAI StudioWhat I want to do:I am currently trying to generate C code using STM32CubeAI Studio from the following AI model provided by STMicroelectronics, and replace the files in the sample project:https://github.com/STMicroelectronics/stm32ai-modelzoo/blob/main/image_classification/mobilenetv2/Public_pretrainedmodel_public_dataset/ImageNet/mobilenetv2_a035_128/mobilenetv2_a035_128_int8.tfliteI am also interested in whether it is possible to run third-party AI models in the same way, such as models from the following repository:https://github.com/PINTO0309/PINTO_model_zooQuestions:What is the co
I am using STM32H745, STM32CubeAI Studio 1.3.0, ST Edge AI Core v4.0.1, as recommended on STM web site I am moving my code from X-CUBE-AI (generated by CubeMX) to ST Edge AI v4 (generated by AI Studio).I need to extract output of intermediate layer, and I used to use platform observer API for that.Can I keep using with st-ai code base (ai_platform_observer_register)?Should I switch to stai_network_set_callback() ? Is it supported for production applications? Will this API remain available in future ST Edge AI Core versions?Thank you
Hey guys i have been using Stm32 Model Zoo repo as a base for my application development . After building a appli i want to dive deep into FSBL and optimize bootup time of stm32n6 . But the model zoo repo comes with pre compiled hex file as FSBL rather than a FSBL project . Is there any way to replace the hex file with a actual FSBL project ?
I’m currently trying with the STM32N6570-DK board using the ST Edge-AI v2.2.0I would like to know whether a lightweight Transformer model (for example, a small Vision Transformer or a minimal Transformer encoder) can be successfully converted and executed on the STM32N6. I checked that batch_matmul, transpose, etc. are supported on the link (https://stm32ai-cs.st.com/assets/embedded-docs/stneuralart_operator_support.html )Currently, after converting the lightweight ViT model to tflite or onnx, I am trying to convert it using stedgeai and stm32cubeide, but only the following error messages appear and are not being convertedCode, model file, and error text: https://github.com/minchoCoin/lightweight_vit These model was successfully analyzed with STM32Cube.AI MCU runtime on STM32CubeIDEFollowing error messages appear when I try to convert these model(tflite and onnx) with STM32Cube.AI Neural-ART runtime in STM32CubeIDE or with stedgeai in command line1. tflitestedgeai genera
Hello everyone,When running STM32Cube AI Studio on Ubuntu 24 with lolcal installation (no sudo rights) I am running in the following problem:When creating a new project and starting a run I am getting an Error when AI Studio tries to look into /opt/st/pluginsRun failed: Error: ENOENT: no such file or directory, scandir '/opt/st/plugins'Does AI Studio whats to look into the STM32CubeIDE plugins or for which plugins is it looking and how could I change the path where it is looking for these?Thanks in advance for your help!
Hi, Summary. The ONNX importer in ST Edge AI Core 2.2.0 (X-CUBE-AI 10.2.1) ignores the dilations attribute of Conv. It applies the padding but convolves as if dilation = 1, so the output length is L + 2*pad - (k-1) instead of L. The TFLite importer handles the same operator correctly. Minimal reproducer (attached, 51 KB): a single Conv1d(64->64, kernel 3, dilation 4, padding 4), input 1x64x80. The ONNX node is Conv {pads:[4,4], strides:[1], dilations:[4]}. Per the ONNX spec the output is (80 + 4 + 4 - ((3-1)*4 + 1)) / 1 + 1 = 80. PyTorch and onnxruntime both produce 1x64x80. stedgeai analyze --model dil_f32.onnx --target stm32u5 | model handed to stedgeai | reported output | expected | |------------------------------------------------------|-------------------------|--------------| | ONNX float32 | f32(1x64x86) | 1x64x80 | | ONNX int8 QDQ (per-channel) | int8(1x64x86)
Hi,I am trying to use NanoEdge AI to develop an N-class fault classification model for helical gearboxes that will eventually run on an STM32 MCU.The challenge is that I have many different helical gearboxes, and their physical parameters vary significantly, including:Input RPM and output RPM Gear ratios Number of teeth Bearing types and sizes Gearbox dimensions and load capacitiesI currently have around 20 fault classes that I would like the model to detect.Has anyone successfully created a generalized model that can classify gearbox faults across multiple gearbox variants rather than training a separate model for each gearbox?What would be the recommended approach in NanoEdge AI for handling such variability while still achieving good fault classification accuracy on embedded hardware? Any guidance, examples, or best practices would be greatly appreciated.Thanks!
Hi all,I’m trying to follow this guide here but when I try to run the model on target I always got an error failed to erase memory.Here is the log. I’ve also set external loader from cubeprogrammer to MX66, and if I try to erase memory from cube programmer I also have an error, loose comunication with the boardSaving workspace.[36m[01m -------------------------------------------------------------------[39;49m[0m[36m[01m STM32CubeProgrammer v2.23.0 [39;49m[0m[36m[01m -------------------------------------------------------------------[39;49m[0m[39;49m[0m[90mST-LINK SN : 004700233234510E37333934[39;49m[0m[90mST-LINK FW : V3J17M11[39;49m[0m[90mBoard : STM32N6570-DK[39;49m[0m[90mVoltage : 2.75V[39;49m[0m[90mSWD freq : 8000 KHz[39;49m[0m[90mConnect mode: Under Reset[39;49m[0m[90mReset mode : Hardware reset[39;49m[0m[90mDevice ID : 0x486[39;49m[0m[39;49m[0m[39;49m[0m[39;49m[0m[90mRevision ID : Rev B[39;49m[0m[39;49m[0m[39;49m
We have been evaluating the pre-trained model yamnet_e1024_64x96_tl_qdq_int8.onnx from the STM32 Model Zoo (ESC-10 variant) and noticed a potential discrepancy between the class label order in the provided YAML configuration and the actual output behaviour observed on target.While the model itself appears to perform well, the mapping between output indices and class names does not seem to match the order documented in the YAML file. Observed behaviour:The YAML file lists the classes as:0: dog1: chainsaw2: crackling_fire3: helicopter4: rain5: crying_baby6: clock_tick7: sneezing8: rooster9: sea_waves However, on our target, the outputs appear to correspond to the following order:0: chainsaw1: clock_tick2: crackling_fire3: crying_baby4: dog5: helicopter6: rain7: rooster8: sea_waves9: sneezing This is consistent across multiple input samples, which makes us suspect a systematic label remapping rather than random misclassification. Preliminary hypothesis:We suspect that this could be caused
Subject: YOLOv8n ONNX conversion fails with "region 'ROM' overflowed by 5601536 bytes" on STM32N6570-DKI am trying to convert and generate a YOLOv8n ONNX model for the STM32N6570-DK using STM32Cube AI Studio / ST Edge AI Core.My target configuration is:Board: STM32N6570-DK Accelerator: ST Neural-ART RAM: 4200 KB Internal Flash: 0 KB External RAM: 32 MB External Flash: 128 MB Mode: On targetHowever, the generation fails with the following error:region 'ROM' overflowed by 5601536 bytesSince the STM32N6570-DK has 128 MB of external Flash, I would like to understand why the ROM region overflows and whether the model/data can be placed in external Flash.What memory configuration or settings should I use to deploy YOLOv8n on the STM32N6570-DK?I have attached the complete log and the ONNX model. YOLOv8n Data↓https://github.com/ultralytics/assets/releases/download/v8.4.0/yolov8n.pt
Context : I want to write a FSBL load and run application on a custom minimal PCB based on STM32N6-DK design. The board uses SMPS power supply and not the default power supply of the STM32N6-DK. I follow this original tutorial as a main example. Problem faced: CubeProgrammer SigningTool version compatibility and header size 1) Write a custom external bootloader to write and read external flash memoryModify the power supply parameter (System Core --> RCC --> SupplySource) in CubeMX to `PWR_SMPS_SUPPLY`Generate ExtMemLoader template from CubeMX Build ExtMemLoader to generate .stldr filemake sure the post build script can be executedmanually copy the .stldr file generated in `/STM32CubeProgrammer.app/Contents/Resources/bin/ExternalLoader/` if necessary 2) Modify SigningTool header generation command in FSBL post-build Build FSBL & Application following the original tutorialCheck heading size, it might be different from the 0x400 that is defin
Hi,I was trying to figure out how to use external memory and flash with xcubeai, and I found a video posted by STM32 says there is an example food recognition code in stm32ai-modelzoo-services on Github. However, I couldn't find it. Was it deleted?thanks.
HelloST Edge AI: Guide for STM32MPU 、 Section 3.2.1. Referring to “Generate NBG from TensorFlow™ Lite or ONNX,”I converted the .tflite file downloaded from ModelZoo to .nb, but I’m getting an error.$ /opt/ST/STEdgeAI/4.0/Utilities/linux/stedgeai generate -m ./yolov8n_256_quant_pc_uf_od_coco-person-st.tflite --target stm32mp25ST Edge AI Core v4.0.1-20581 7ed50de05E102(CliArgumentError): stm32mp25 not recognized as target. Supported targets areispu --device DEVICEmlcstm32f4stm32l4stm32l4pstm32g4stm32f3stm32wbstm32n6 [--st-neural-art]stm32f0stm32l0stm32g0stm32c0stm32wlstm32v8stm32u3 [--hsp]stm32h7stm32f7stm32u5stm32l5stm32h5stm32c5stm32mp157cIf you change the target name slightly, you'll get the following error: $ /opt/ST/STEdgeAI/4.0/Utilities/linux/stedgeai generate -m ./yolov8n_256_quant_pc_uf_od_coco-person-st.tflite --target stm32mp2ST Edge AI Core v4.0.1-20581 7ed50de05E102(CliArgumentError): stm32mp2 is not availableCould you tell me how to convert a .tflite file to
Hi everyone, I have a N6 Discovery Kit with a camera. Additionally, I have an N6 Nucleo Board. Now I want to use the CubeMX and CubeIDE to capture a frame on the Nucleo with the camera. I copied most of the things from the `DCMIPP_ContinuousMode` example but I still can't get it working... The I2C communication works (over I2C2) CAM_NRST => GPIO O5 get set to high. CAM_EN => GPIO A0 get set to high. Then I successfully call the IMX335_Probe(..) And finally, it fails here: https://github.com/rphii/NUCLEO_N6_DCMIPP_MB1854B/blob/main/Appli/Core/Src/main.c#L137 (contains the full, minimal, reproducible code) I never get into the `HAL_DCMIPP_PIPE_FrameEventCallback`... If anyone has more experience with the DCMIPP and CSI-2 (which is both new to me) and could help, it'd be greatly appreciated, thanks!
This account only shares restored community content posted by members between May 22 and June 9, 2026, who did not register for the new community.Dear ST Community, I'm trying to integrate my ST Edge AI model C code (generated from ST Edge AI Cloud) to my current application.- Part Number: STM32F411CE6- Environment: STM32CubeMX: 6.17; ST Edge AI Core v4.0.0-20500 359356bb0- Detail of my issue: At line 63 below: huart2.Instance = 0x40004400 After successfully execute stat_network_run() (line 65): huart2.Instance = 0x582cc4de -> This causes Bus Fault to be triggered in line 70. My main function: void print_to_uart(UART_HandleTypeDef *huart, const char *format, ...) {char buffer[256];int cx;va_list args;va_start(args, format);cx = vsnprintf(buffer, sizeof(buffer), format, args);va_end(args);if (cx >= 0 && cx < (int)(sizeof(buffer))) {HAL_UART_Transmit(huart, (uint8_t*) buffer, cx, 1000);} }// ...STAI_ALIGNED(STAI_NETWORK_CONTEXT_ALIGNMENT) static stai_network net
Hello, I have just updated STM32CubeAI Studio to version 1.2. In the previous version, the AI Studio generated: Middleware Application code Raw files (e.g., network_atonbuf.xSPI2.raw) My workflow was to add the middleware and application code to my project, then convert the raw file (network_atonbuf.xSPI2.raw) to a hex file. Everything worked fine until I updated the studio. In version 1.2, instead of generating the raw file, it now generates a C source file: network_atonbuf.xSPI2.c. I am unsure what to do with this new .c file. I placed it in my project, but nothing works as expected. Could someone please advise on how to proceed or explain the change in workflow?
EnvironmentI am trying to deploy a U-Net segmentation model on STM32N6 using ST Edge AI Cloud.ST Edge AI Core:ST Edge AI Core v4.0.1-20581Target:stm32n6Current StatusThe model conversion and quantization steps complete successfully.The workflow is:PyTorch U-Net ↓ONNX FP32 export ✓ successful ↓Per-channel quantization ✓ successful ↓ST Edge AI optimization / Neural-ART compilation ✗ failedTherefore, the issue does not occur during ONNX export or quantization.The failure happens specifically during the Neural-ART optimization/compiler stage.Model ArchitectureInput:[1, 3, 320, 320]Output:[1, 1, 320, 320]The network is a U-Net-like segmentation architecture.Encoder channels:64 → 128 → 256 → 512Bottleneck:1024Decoder channels:512 → 256 → 128 → 64Each convolution block consists of:Conv2D→ BatchNorm→ ReLU→ Conv2D→ BatchNorm→ ReLUDownsampling:MaxPool2Dkernel_size = 2stride = 2Upsampling:ConvTranspose2Dkernel_size = 2stride = 2The encoder feature maps are concatenated with the
Hello,I am trying to create a custom AI model and run inference on the NPU of an STM32MP255F.At the moment, my goal is only to verify the model creation workflow. Therefore, inference accuracy is not important yet.Environment Target device: STM32MP255FInference engine: NPUNumber of training images: 116 (mouse images)Steps1. Dataset creation with RoboflowAnnotated all images. Resized images to 256x256. Exported the dataset in YOLOv8 format.2. Training and export with UltralyticsTraining:yolo detect train data=data.yaml model=yolov8n.pt epochs=100 imgsz=256Export:yolo export model=runs/detect/train/weights/best.pt format=onnx imgsz=256 quantize=8 data=coco83. Conversion with ST Edge AI Developer Cloud Uploaded the exported model to ST Edge AI Developer Cloud. Selected the platform: "STM32 Microprocessors embedding Cortex-A loaded with X-LINUX-AI" Executed Optimize. However, the following error is displayed and no .nb file is generated:Error while generating optimized file. Generation
Hi,I recently erased the external flash of my STM32N6570-DK board while experimenting with STM32CubeProgrammer, and I'd like to restore the original out-of-the-box demo (the multi-application menu demo with image classification / pose estimation / face detection etc.).I found the "n6-ai-demos" entry under Tools & Software on the product page, but clicking "Get latest" leads to a 404 page not found error.Could someone please:Confirm whether this link is currently broken on ST's side, or Share a direct working link / attach the "STM32N6570-DK Out-of-the-box demo binary" fileBoard info:Board: STM32N6570-DK, Revision ID Rev Z Device ID: 0x486Thanks in advance!
Dear ST Edge AI Support Team,We are deploying a YOLO11n person-detection model on the STM32N6 NPU using the relocatable(LRUN) generation flow. While decoding the generated runtime buffer descriptors on-target, wefound that the top-level *input* user-IO buffer's channel-position metadata disagrees with itsown reported memory shape, and does not change when explicitly requesting a channel-last inputlayout.Configuration Target: STM32N6 ST Edge AI Core v4.0.1-20581 7ed50de05 Model: yolo11n_256_quant_pc_uf_od_coco-person-st.tflite (quantized, uint8 input, 256x256x3) stedgeai cli command (as echoed by network_generate_report.txt): "stedgeai generate --model yolo11n_256_quant_pc_uf_od_coco-person-st.tflite --relocatable split --target stm32n6 --no-inputs-allocation --no-outputs-allocation --optimization balanced --st-neural-art user_profile@profile-neural-art.json --name network --verbosity 1 --c-api st-ai --inputs-ch-position chlast --workspace ./workspace --output ./outputs"Issue
I am integrating X-CUBE-AI and the STM32H7 Safety STL into the same STM32H743 Keil/ArmClang project.The X-CUBE-AI Keil runtime requires short enums and 16-bit wchar_t (-fshort-enums -fshort-wchar). However, the Safety STL library appears to require full-size enums and 32-bit wchar_t.Configuring the project for X-CUBE-AI causes the Safety STL library to fail linking. Configuring it for the Safety STL causes Arm linker ABI errors when linking the X-CUBE-AI runtime, including enum-size and wchar_t mismatches.Is there an officially supported compiler configuration or compatible library variant that allows X-CUBE-AI and the STM32H7 Safety STL to coexist in the same ArmClang application?
Hello,I’m using STM32Cube AI Studio to optimize and validate an ONNX model on a NUCLEO-N657X0-Q board. In general, everything works fine. However, I would like the board to be configured in overdrive mode (npu_freq = 1000MHz, mcu_freq = 800MHz) by Cube AI Studio for the validation runs on the target because I’m hoping to achieve a better inference time.When executing new “runs” in Cube AI Studio, the device attributes are always as seen in the screenshot below.Results overview of a run in Cube AI StudioIf I use the the ST developer cloud to optimize and benchmark my model with the STM32N6570-DK board (because the NUCLEO-N657X0-Q is not available in the DC), the device attributes are as follows:Device attributes for the benchmark in the developer cloudSince those two boards have the same STM32N657X0H3Q MCU, I expect a similar inference time on my NUCLEO-N657X0-Q board with Cube AI Studio if I could just activate the overdrive mode. I didn’t find any settings in the Cube AI Studio user i
Somesays ago, I successfully used STM32Cube.AI Studio to deploy a model to an STM32U585CIU6 board and test it.However, yesterday evening I upgraded STM32CubeIDE, STM32CubeProgrammer, and STM32CubeMX. After that, when I tried to run the same process again, I started getting an error.I searched online and found some similar cases. The suggested solution was to update all related software, so I updated the tools accordingly. However, the same error still occurs.I also tried using another laptop. On that laptop, I performed the same software upgrades and then tested with an STM32H743VIT6 board, but the same error occurred there as well.Because of this, I suspect that I may have missed updating some required software or package.Has anyone experienced this issue before or found a solution? I would greatly appreciate any advice or guidance.ps : stedgeai version is v4.0.1.
我在尝试用STM32Cube AI Studio运行一个STM32F407ZGT6项目时遇到了“启动失败运行”错误,我不确定问题的原因。一开始运行正常,但之后错误一直出现。使用“主机”模式时,它正常工作。2026-07-13 10:49:46 错误:以下路径中找不到4.0.0版本的可执行文件:C:/*ST*/*STEdgeAI*/4.0,C:/*ST*/*STEdgeAI*/*2026-07-13 10: 49:47 错误:以下路径中找不到4.0.0版本的可执行文件:C:/*ST*/*STEdgeAI*/4.0,C:/*ST*/*STEdgeAI*/*2026-07-13 11:14:59 错误:从公共IP获取国家时出现错误:获取失败2026-07-13 11:15:00 错误:以下路径中找不到4.0.0版本的可执行文件:C:/*ST*/*STEdgeAI*/4.0,C:/*ST*/*STEdgeAI*/*2026-07-13 11:15:01 错误:以下路径中找不到4.0.0版本的可执行文件:C:/*ST*/*STEdgeAI*/4.0,C:/*ST*/*STEdgeAI*/*
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.