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
After I generated a complete project using STM32CUBE AI studio, I noticed that the code for calling the model in the main function was named STM32CubeAI_Studio_AI_Process.After I found its definition, I discovered that it was defined in the file app_x_cube_ai.c. When I examined its implementation, I found that there was no implementation inside the functions acquire_and_process_data() and post_process().Furthermore, I discovered that it did not utilize the so-called latest stai library. Instead, it directly used a more fundamental implementation. However, I am unsure of how to implement the above two functions. I haven't found any relevant examples or tutorials either. Is there any relevant link or document that can help me resolve my confusion?Additionally, I would like to know if it is possible for me to use the STAI library to implement the functions of the aforementioned two procedures.
My development board is STM32MP257F-DK, and I want to use ST Edge AI Developer Cloud to convert. onnx models to. nb models. However, during the interface conversion of 'Optimize your model with STM32AI MPU Tool', an error message 'Error while generating optimized file. Generation does not contain any output' was reported. Afterwards, I will use the model provided by ST Model ZOO: st_yoloxn_d033w_025-416_qdq_int8_ort_detection_CCO_2017_Serson. onnx. I also encountered an error while optimizing. What is the reason behind it? A few days ago, I was able to successfully convert ssd_mobilenetv1_pt_coco_300_qdq_int8_ort_detection_CCO_2 The error message is as follows:
Whenever I am starting to make project from scratch in STM32Cube AI studio, It gives complete structure with .ioc files as well as AI files, but as soon as I make changes in .ioc file and generate code after loading in CubeIDE, it changes the middlewares and build error comes . What is the solution for that? 1. Should I first make the .ioc project and then make project in STM32Cube AI studio ( Import the existing project from STM32CubeMX or STM32Cube AI studio)2. Another doubt is if I make project from preexisting .ioc, Do I need project in application mode for that as AI changes will work in application mode only ( but STM32N6 doesnt work without FSBL), what is your suggestion for Edge AI project building? The error was :Description Resource Path Location Type make: *** No rule to make target 'C:/Users/hp/.stm32cubeaistudio/workspace/Modified_STM32/Middlewares/ST/AI/Npu/ecloader.c', needed by 'Middlewares/ST/AI/Npu/ecloader.o'. Stop. Modified_STM32_Appli C/C++ Problem&
I've implemeted a vision transformer for STM32N6 NPU.Repository: https://github.com/minchoCoin/stm32n6-transformerBatchMatmul operator is not yet supported on NPU and run on the CPU, but it is much faster than STM32H7(inference time was reduced by about 90% than STM32H7) because fully connected layer and convolutions is executed on NPU.Vision Transformer for STM32N6 NPU has three differences from the original ViT(A. Dosovitskiy et al., 2020)1. Patch Embedding (PE) is configured to be performed in the pre-processing process before model input: Because if the model has PE and self attention, it is not possible to interpret the model structure using STEdgeAI (I don't know why yet...)2. Remove bias parameter from Fully Connected layer or change fully connected layer to 1x1 Conv2D: fully connected layer of onnx should have 2-dimensional input. however, fully connected layer of ViT has 3 dimensional input(batch,patch,embedding), so compiler removed the batch axis, and ma
Hello ST Community members, STM32Cube AI Studio is ST’s next-gen desktop solution for optimizing and validating AI models running on STM32 MCUs. It brings a unified workflow, improved performance evaluation, and a modern user experience designed that will benefit both embedded engineers and data scientists. STM32Cube AI Studio is fully compatible with the STM32Cube ecosystem, allowing a smooth transition from your existing projects. Learn more: https://community.st.com/t5/developer-news/introducing-stm32cubeai-studio/ba-p/876445 Have a good day!
Hi I have FP32 TFLite model. I can able to compile quantised model with STM32 Cube AI studio. i am getting some error while compiling FP32 model with STM32 Cube AI studio. Please let me know the steps to build FP32 model and make the C files correspond to the model.
Hi everyone,I’m having an issue connecting my custom board based on STM32H723ZGT6 to STM32Cube.AI Studio. The software cannot detect any COM port or target device.Setup:UART interface via USB-TTL converterUsing USART1 (PA9 TX / PA10 RX)TX/RX crossed correctlyWindows Device Manager detects the COM port normallyThe same COM port appears and in other software (e.g. Arduino IDE) Dependency Software versions (all latest): STM32CubeProgrammer v2.22, path in setting also are correct.Additional info:I can connect to the MCU successfully using ST-LINK in STM32CubeProgrammerHowever, UART connection in CubeProgrammer fails with timeout Question:What is the correct way to make STM32Cube AI Studio detect and successfully connect to an STM32H723ZGT6 MCU on a custom board?Thanks for any advice.
Hello,I have my N657X0H3Q running on Cube AI Studio, the model to use is .onnx file, and the connection to the board is checked.However, there's an error while Cube AI Studio automatically programming the "network_atonbuf.xSPI2.bin" by cube programmer. But I can manually do it by cube programmer without Studio. Following file shows the error message. Thanks for your help.
I'm new to using AI. I want to create a USB adapter that will connect to devices with a USB port and manage and control them.How would I go about accomplishing this?Are there any pre-defined models I could use?
Hello,the board type is STM32N647A0H3Q, and before creating the project it's already turn on the dev mode as shown below.To validate ST link work with my PC, the STM32 Cube Programmer successfully connected to the board.However, my Cube AI Studio unable to detect the board. Thanks and Regards.An5
I’ve generated a project with Cube AI studio for a Nucleo N6 board, but , when I enable SAI2 peripheral in I2S mode, I notice from the oscilloscope that the bit clock line and FS line become corrupted/glitch when using NPU for inference, could somebody explain me why and how to solve it? I’ve used the same SAI configuration for another project without any AI algorithm and the signals from the pins are clean. I don’t know why, it’s a problem that I’ve been stuck for a month or so
Hello Everyone,I’m still getting up to speed with the STM32N6 series, so apologies if my question seems off, but I’d really appreciate your help!I’m working on implementing object tracking using the STM32N6570-DK board with the MB1854B camera. I'm wondering if it’s possible to deploy OpenCV on this platform to support the tracking logic.If anyone has experience with this or knows of any courses, guides, or resources that could help me deploy OpenCV (or similar tracking frameworks) to the board, I’d be incredibly grateful.Also, if you have relevant experience and are open to offering support or consultancy, I’m more than happy to discuss compensation. Please feel free to reach out!Thanks in advance for your time and help!
I've tried several models provided in STM32 ai model zoo. I'm wondering why some models does not show the acceptable accuracy. My test results are as follows.efficientnetv2/Public_pretrainedmodel_public_dataset/ImageNet/efficientnetv2b0_224/efficientnetv2b0_224_qdq_int8.onnx --> Not Goodmobilenetv2/Public_pretrainedmodel_public_dataset/ImageNet/mobilenetv2_a100_224/mobilenetv2_a100_224_qdq_int8.onnx -> Goodmobilenetv2_pt/Public_pretrainedmodel_public_dataset/ImageNet/mobilenetv2_a100_pt_224/mobilenetv2_a100_pt_224_qdq_int8.onnx -> Not Goodresnet50v2//Public_pretrainedmodel_public_dataset/ImageNet/resnet50v2_224/resnet50v2_224_qdq_int8.onnx -> Good My testing environment- stm32ai-modelzoo : 4.0- stm32ai-modelzoo-services : 4.0- STEdgeAI : 3.0- STM32CubeIDE : 2.0.0- Windows 11And in order to generate network file and bin file, I used the python file in stm32ai-modelzoo-services/image_classification as follows.python stm32ai_main.py --config-path=.\config_file_examp
Good day, recently I have watched a presentation telling that the NanoEdge AI Studio may be used for voice recognition. I have installed the latest version but when I came to the data importing stage it says that it may only import text and CSV files. My sound library that I would like to recognize is however in MP3 format. I could convert it to WAV but obviously not to text. Could anyone please tell me how to import already collected data to this software? With best regards,Dmitry
Hi ST community,Wanted to share a weekend project I built using STM32L412RBand NanoEdge AI Studio.Pulse is a real-time vibration anomaly detection device thatruns entirely on-device — no cloud, no internet.What it does:- Collects 3-axis accelerometer data at 500Hz via LIS2DH12 on I2C3- Runs NanoEdge AI anomaly detection on Cortex-M4F with FPU- Learns normal vibration on-device in ~30 seconds- Persists training samples to internal flash via Zephyr NVSwith CRC32 header validation- Detects anomalies in <600ms end-to-end- Python GUI monitor over USB CDCOne thing worth sharing for anyone doing similar work — gettingthe NanoEdge AI knowledge buffer placed correctly in flash requireda custom linker overlay (neai_overlay.ld). Took some debugging toget right. Happy to share details if anyone is working onsomething similar.Currently tested on a Xiaomi air purifier fan. The post onr/embedded got good engagement and raised an interesting questionabout multi-mode devices which led to thinking ab
I am generating an AI project from scratch in STM32Cube AI studio with the help of generating C-code for IDE and adding these generated middlewares, AI and generated folders to my pre-existing project in STM32 IDE. I am getting an error which I am unable to resolve. I am attaching it below.
I've a program that receives and transmits audio normally on STM32H7. The problem is that, when I'm using X-Cube-AI, after having generated a custom project with Cube AI Studio and having used the same configuration for I2S and GPDMA1 peripherals, the audio won't start. Appearently the program is looping on HAL_SAI_InitProtocol(&hsai_BlockA1, SAI_I2S_STANDARD, SAI_PROTOCOL_DATASIZE_32BIT, 2) != HAL_OK in MX_SAI1_Init.I don't know if it's due to the lack of documentation for using GPDMA1 controllers when using X-CUBE-AI or it's a bug related to X-CUBE-AI.I'll upload 2 projects: one that is working that does not use X-CUBE-AI (called i2s_h7) and the other one that has the same configured peripherals after having generated it with Cube AI Studio (h7_mcu_ai).
I imported a model into STM32Cube AI Studio and tried to run it in On Target mode, but I encountered an error as shown in the attached file. What might be causing this issue?
Hi everyone,I’m having an issue connecting my STM32N6570-DK board to STM32Cube.AI Studio.The board is detected correctly by my computer, and I can see the COM port in Windows Device Manager. However, when I open STM32Cube.AI Studio and go to Board Settings, the COM port list is empty, so I cannot select the board.Here is what I have already checked:The board is connected via USB and recognized by Windows.The COM port appears normally in Device Manager.I set the board to DEV mode with Switch 1 = HIGH.I restarted STM32Cube.AI Studio and reconnected the board.Despite this, the COM port does not appear in the Board Settings dropdown in STM32Cube.AI Studio.Has anyone encountered this issue before with the STM32N6570-DK or similar boards?Is there any additional configuration or driver required for STM32Cube.AI Studio to detect the COM port?Any help would be greatly appreciated. Thanks!Best regards.
hi:I’m using the STM32N6570-DK board to develop a USB-host application that connects to a UVC webcam.I started from the example inSTM32Cube_FW_N6_V1.2.0/Projects/STM32N6570-DK/Applications/USBX/Ux_Host_VIDEO.At run-time the start-up fails here:status = ux_host_class_video_start(video); // returns 0x54Looking at ux_api.h, 0x54 equals#define UX_FUNCTION_NOT_SUPPORTED 0x54I’m now stuck. Could you give me some pointers on how to debug and solve this?Thanks a lot!Board: STM32N6570-DKWeb-cam info (Windows):PS D:\workspace\temp> ffmpeg -hide_banner -list_options true -f dshow -i video="WEB CAMER"[dshow @ 00000189a52882c0] DirectShow video device options (from video devices)[dshow @ 00000189a52882c0] Pin "捕获" (alternative pin name "0")[dshow @ 00000189a52882c0] vcodec=mjpeg min s=1280x720 fps=30 max s=1280x720 fps=30[dshow @ 00000189a52882c0] vcodec=mjpeg min s=1280x720 fps=30 max s=1280x720 fps=30 (pc, bt470bg/bt709/unknown, center)[dshow @ 00000189a52882c0] vcodec=mjpeg min s=640x480 fps=
Hello,We are experiencing corruption of our external IS66WVO32M8 PSRAM while executing x-cube-ai generated code on target device STM32U585AIIxQ. This corruption happens consistently when running the model (i.e. running the ai_*_run() generated function), but cannot be replicated outside of it. Please see the issue description below. ContextWe are using the STMicroelectronics.X-CUBE-AI package version 10.2.0 (STM32CubeMX version 6.16) running the .a static library generated by the cubemx tool on our STM32U585AIIxQ target. This is a Keras neural network that has been successfully analyzed and "validated on desktop" using the tools provided through the cubemx X-CUBE-AI gui. The model requires 1.5MB of RAM, and for this we have an external PSRAM device (IS66WVO32M8DALL ISSI Octal PSRAM). Everything is apparently configured correctly, and we are able to initialize the model and run the inference using the interface provided at X-CUBE-AI/App/app_x-cube-ai.c/h in the generated code.
Hi I am using the STM32N6570-DK board for AI application development and want to flash the code from the 'https://github.com/STMicroelectronics/STM32N6-GettingStarted-ImageClassification' repository. However, when I flash the .elf file from the debug folder, I get an invalid output. Do I need to flash the FSBL and model hex separately? Is there a specific flashing sequence I should follow? Currently, both BOOT0 and BOOT1 are set to 0, and I suspect the AI model is missing from the flash memory.Best RegardsRam
Hi everyone,I’m currently working with the STM32N6 and the new ST Edge AI Core v3.0, trying to deploy some Speech Enhancement models. I’m specifically targeting architectures like LiSenNet, GTCRN, and UL-UNAS because they are theoretically designed for embedded hardware..However, the workflow with STM-model-zoo-services is giving me a hard time:Analyze Failure: After training -->best_model.onnx --> stedgeai.exe analyze -m best_model.onnx --> fails immediately.Quantization Issues: When I try to quantize, I consistently get an "Incomplete symbolic shape inference" error. It seems the compiler struggles with dynamic shapes or specific operators even though these models should be compatible.Is the ST Edge AI Core v3.0 limited to simpler architectures like TCN for Speech Enhancement, or is there a way to make GTCRN work?
Hi,I am a beginner working with the STM32 Nucleo-N657X0-Q and trying to deploy a pre-trained model from the ST Model Zoo.Environment:Board: Nucleo-N657X0-QTools: STM32CubeMX (latest), STM32CubeIDE (latest), X-CUBE-AI (latest)Model: resnet8_32_tfs_int8.tfliteWorkflow: Followed the STM32CubeIDE 2.0.0 workflow tutorial from the ST Community. (STM32CubeIDE 2.0.0 workflow tutorial - STMicroelectronics Community)Configurations:Heap Size: 0x4000Stack Size: 0x2000Toolchain/IDE:STM32CubeIDEUsed default X-CUBE-AI settings for code generation. The Issue:After generating the C code in CubeMX and attempting to build the project in STM32CubeIDE, the build fails with the following errorSteps Taken:Imported the TFLite model into the X-CUBE-AI simplified GUI.Verified the model successfully (Analysis report shows it should fit).Generated the code and opened the project in STM32CubeIDE.Attempted to build. Could someone guide me on whet
Hello ST Support Team,I am using STM32N6 with Neural-ART NPU (ST Edge AI 3.0) and comparing inference outputs between:1. TFLite on PC, and2. the converted model running on STM32N6 NPU.Could you please clarify how `rsqrt` is implemented on STM32N6 NPU?I would like to know:1. Is `rsqrt` a native HW operator, or is it decomposed (for example into `sqrt + reciprocal`)?2. What approximation method is used internally (LUT / polynomial / Newton-Raphson / other)?3. What numeric format is used in the HW path (fixed-point details, precision)?4. What rounding and saturation rules are applied?5. Are there documented error bounds or expected max/mean error vs float reference?6. Is there any compiler/runtime option to select a more accurate vs faster mode for this operation?My model uses INT8 I/O and the same input tensor on both platforms. Thank you.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.