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
I was previously using version 5.0.2, where I could enable the 'Multi-library' option in the Deployment step (Step 5). After updating to v5.1.0, I can no longer find this checkbox. Since I need to deploy two separate libraries in my project, what is the recommended workflow now?
Dear all,The wiki page for STM32Cube AI Studio (at https://wiki.st.com/stm32mcu/wiki/AI:STM32Cube_AI_Studio_documentation) states that the software is compatible with “STM32CubeIDE, IAR, Keil, GNU Arm Embedded Toolchain”. However, when creating a new project it seems that at least STM32CubeIDE is required, and there does not appear to be straightforward support for using the bare GNU Arm Embedded Toolchain (for example, when integrating with STM32Cube for VS Code via CMake).From a developer perspective, especially for those of us working with CMake‑based workflows and VS Code, proper and maintained support for the standalone GNU toolchain would be extremely valuable. It would allow tighter integration with VCS and existing CI/CD pipelines, easier cross‑platform setups, and would avoid forcing a switch to a specific IDE just to generate or maintain AI‑enabled projects.Could the STM32Cube AI Studio team clarify the current level of support for the GNU Arm Embedded Toolchain outside
I'm following this guide to deploy an AI model on a NUCLEO-H7S3L8, because appearently it is not possible to build and edge AI application through X-CUBE-AI on STM32CubeMX (because it does not generate network.h etc. but only app_x-cube-ai.c and app_x-cube-ai.h).https://stedgeai-dc.st.com/assets/embedded-docs/stm32_how_to_run_a_model_locally.htmlhowever, I'm having trouble on the build process wehre it is written "Build the test application"where it is needed to link different libraries, because there is no indication on what to do precisely and where to insert the commands.Could anybody provide a clearer and more precise guide to implement this step?Thanks for the reply
I encountered a bug with STM32Cube IDE 2.0.0 and \stm32ai-modelzoo-services. When I try to deploy my application using the command:python .\stm32ai_main.py --config-path . --config-name .\user_deployment_n6_config.yamlthe board programming seems to complete successfully, but the screen remains black.However, if I use an older version, STM32Cube IDE 1.18.1, the application deployed with the same Python script works perfectly. tools:stedgeai:optimization: balancedon_cloud: Falsepath_to_stedgeai: C:/ST/STEdgeAI/3.0/Utilities/windows/stedgeai.exepath_to_cubeIDE: C:/ST/STM32CubeIDE_1.18.1/STM32CubeIDE/stm32cubeide.exe# path_to_cubeIDE: C:/ST/STM32CubeIDE_2.0.0/STM32CubeIDE/stm32cubeide.exe deployment:c_project_path: ../application_code/image_classification/STM32N6/IDE: GCCverbosity: 1hardware_setup:serie: STM32N6board: STM32N6570-DKstlink_serial_number: "0040003D3234511733353533" (stm32ai-modelzoo-services4) PS C:\Users\papam\PycharmProjects\stm32ai-mod
I am working with an STM32H753ZI board and trying to generate a sine wave to feed into NanoEdge AI Studio, but I am having trouble. I've tried using several built-in examples and compiling them, but I still can't get it to work. Could anyone provide a code sample or some tips on how to correctly stream this data?
I wanted to run ready-made examples for the STM32H753ZI in NanoEdge AI but I couldn't find any. Does anyone have any tips or a ready-made example?
Hi, I'm developing an Edge AI project for a Nucleo N6. After having gernerate c code model files of my neural network and having imported (and included the paths) the necessary libraries into Middlewares (Inc, Lib and Npu) I continue to have as error "../../Middlewares/ST/AI/Npu/ll_aton_config.h:90:2: error: #error "Needed define 'LL_ATON_PLATFORM' undefined" when compiling the Appli project. I've tried to check st edge ai core documentation, but it's poorly explained about the fact on how to integrate C code generated files in a STM32CubeIDE project (or at least I haven't found any section that explains it in detail), please add further details on what precise steps to follow to integrate a model into a project.I upload my project to replicate the error I get
Hello ST Team,I am working on a vision-based AI application (face detection) using the STM32N6570-DK and would like guidance on the recommended STM32CubeMX project configuration.Currently, I could not find any complete CubeMX example or tutorial on the ST website that explains how to configure CubeMX for a camera → AI inference → LCD pipeline on STM32N6 devices.Could you please provide:1) The required STM32CubeMX configuration for a vision-based AI project (camera, SDRAM, LTDC, DMA2D, CACHE, etc.)2) The recommended versions ofSTM32CubeMXSTM32CubeIDEsuitable for STM32N6570-DK AI applications3) Any official tutorial, reference project, or documentation available for setting up a vision-based AI application using X-CUBE-AI on STM32N6.Best RegardsRanjith Remasan
Dear ST Technical Support Team,I am currently developing a voice recognition application on the STEVAL-STWINBX1. I trained a classification model using the notebook:Utilities\AI_Resources\TrainingScripts\UltrasoundClassification\UltrasoundClassification.ipynbIn the notebook/off-target evaluation, the model achieves >90% accuracy, but after deploying to the MCU the recognition accuracy becomes very low.To investigate, I used STM32CubeMX → Validation on Target. However, the validation process fails with the message: “Automatic build and run failed” (Automatic Validation on the target)Thank you for your help. I look forward to your guidance on resolving the validation failure and improving on-MCU accuracy.Best regards,dzf
As the title suggests, I've tried to develop a project with Cube AI Studio for a Nucleo N6 similarly following this tutorial:https://www.youtube.com/watch?v=3zyIpB5o9zQThere are several problems though:1) when I try to upload my .onnx model file and I press the button "Run", I always get "memory overflow error"2) After pressing the button "Generate Code", I get an error on the configuration of clock peripherals. I press "yes" anyway, but it is not what it is showed in the video.3) the project generated is duplicated (I don't know why) and the folder hierarchy does not follow the one shoed in the videoI upload the folder of the project
Dear all, I am currently deploying the image_classification application.So, from stm32ai-modelzoo-services (in my case, it is in the directory stm32ai-modelzoo-services4), I am using the following command with my configuration file:python .\stm32ai_main.py --config-path . --config-name .\user_deployment_n6_config.yamlI added some code in /common/stm32ai_local/build.py to help diagnose the programming of the STM32N6570-DK board.The programming process seems to complete correctly, but when I restart the kit (with BOOT0 and BOOT1 set to the left), the screen remains black.However, if I launch STM32CubeIDE, import my application, perform a build, and then a Run As, the programming works correctly and the application runs perfectly.I believe the original goal is, of course, to be able to program and run my application directly using the script:python .\stm32ai_main.py --config-path . --config-name .\user_deployment_n6_config.yamlPlease find attached the execution log of the script.Many
Hi, I'm developing a project generated with Cube AI Studio on a Nucleo STM32N6 board, where inference is done on audio data. Right now I'm only controlling whether NN inference and audio transmission can coexist at the same time. The neural network appearently works, but, even commenting the functions that initialize and run the model, I cannot hear audio (I'm using I2S1 in master half-receive mode and I2S3 in master half-transmit mode, both with DMA and circular buffers). Appearently is a problem that involves also other peripherals apart from I2S, since LPUART with DMA does not show messages when the code is inside while loop of main.c (or inside the code of e.g. app_x-cube-ai.c), but instead printf functions works (I don't know the reason).I don't know what could be done to solve the problem since, even giving privilege access in RIF to both I2S1 and I2S3, the situation does not change.I upload the code to inspect it.Update: appearently I2S transmits audio when I’m not tr
As the title suggests, I need to integrate manually my neural network C code generated for the first time with st edge ai core (version 3.0.0) into my STM32CubeIDE project .ioc based (versionj 2.0.0). I cannot use X-CUBE-AI neither Cube AI Studio because the first one has been made deprecated and the second one has plenty of bugs. In Cube AI studio, when I try to generate a CubeMX template, I don't why the project is duplicated and gets cancelled when I try to modify the project with CubeMX. I've tried to ask for help for the last problem, but nobody has answered for a solution.I don't know how to integrate my neural network C code for the first time in a STM32CubeIDE project .ioc based, because the documentation of ST edge AI core describes how to upgrade a model already integrated and generated with X-CUBE-AI, but everyone here says to not use X-CUBE-AI and I don't know what to do.I need to use the Neural ART Accelerator (so ll aton library is needed).I'm very dissatisfied for ST edg
Hi everyone,I'm using the new STM32Cube.AI Studio with a NUCLEO-N657X0-Q board. Since the STM32N6 is flashless, I used the --split-weights flag to allocate the NN weights to the external xSPI memory (address 0x71000000).The project builds successfully, but the automated flashing step fails with Error: failed to download Sector[0]. It seems that STM32Cube.AI Studio calls STM32CubeProgrammer in the background without configuring the required External Loader for the external flash.Is there a native way to set up the External Loader directly within STM32Cube.AI Studio's settings, or is the officially recommended workflow right now to flash the weights manually via the standalone CubeProgrammer?Thanks in advance!
I am using STM32N6570-Dk board. I want to perform edge-AI testing on this board. Trying to generate code with X-cube-AI. I am confused with FSBL and application mode, which one to choose? It is visible that FSBL is default for X-Cube-AI in STM32N6.My question is:1. What to choose FSBL or application mode or both while generating the code for X-Cube AI ( I want to do some edge AI based testing )?2. Only X-Cube AI in STM32IDE (working in .ioc file) is sufficient for edge AI programs or I need something more than that for this purpose?I am unable to find documentation related to edge AI use for this MCU, If you have one, kindly provide. Thanks & RegardsChanchal
Hi I have downloaded some face detection sample code from the following repository. My doubt is that how can i replace the models in this project opened in cube IDE. which are the files need to be replaced and what are the steps need to be performed. GitHub - STMicroelectronics/STM32N6-GettingStarted-FaceDetection: AI software application package demonstrating simple implementation of face detection use case on STM32N6 products. Best Regards Ranjith Remasan
HiI am trying to generate anomal detection library by neai_studio v 5.1 and get library successfly.But the _studio_emulator.py shows "Error -NEAI_LEARNING_IN_PROGRESS".Please someone help me to do next?
Dear ST Support Team,I am currently working on a binary voice classification task on the STEVAL-STWINBX1 (for example, “echo” vs “other”) using NanoEdge AI Studio 5.0.2, and I would like to ask for your advice.My workflowData collectionI use STEVAL-STWINBX1 to collect voice data.Each sample is 1 second long.I collected more than 200 samples per class.Data acquisition firmware:fp-sns-datalog2\fp-sns-datalog2\STM32CubeFunctionPack_DATALOG2_V3.1.0\Projects\STM32U585AI-STWIN.box\Applications\DATALOG2Dataset conversionI use batch_to_nanoedge.bat to batch-convert the collected files into NanoEdge-compatible format.Training in NanoEdge AI Studio 5.0.2I import the converted data into NanoEdge AI Studio 5.0.2Perform Data Management (DM)Train a classification modelMany generated models show accuracy above 97% in StudioDeployment to MCUI deploy the generated library to the MCU following this ST wiki page:https://wiki.st.com/stm32mcu/wiki/AI:How_to_create_a_current_sensing_classifier_using_NanoEdg
I would like to ask how NanoEdge AI embeds multiple library models in one code, for example: I compiled a project called "test" in the Keil compiler and I want to create a project similar to an official demo video. Under the same project, there is both an anomaly detection (AD) library for learning and a multi classification (N-Classfial) library for classifying abnormal situations. Now, I have trained two models for these two libraries, but the problem is that I don't know how to embed these two models into the same project for use. I am using the v5.0.2 version of NanoEdge AI STUDIO. Can you help me solve this problem? Thank you.
Dear all, With the new STM32Cube AI Studio tool, I am getting the following errors (see attached log file). I am using it with the kit STM32N6570-DK. I tried the same model as in the tutorial (https://www.youtube.com/watch?v=3zyIpB5o9zQ). I am getting the same type of error with other models as well. Thank you for your help. I am looking forward to being able to use this new tool. ------------------------------------------------------------------------------------------------------------------------------------------------- C:/Users/papam/.stm32cubeaistudio/workspace/demo_face_detection/.ai/run/run-1/Middlewares/ST/AI/Validation/Src/ai_wrapper_ATON.c:386:10: warning: suggest parentheses around assignment used as truth value [-Wparentheses] 386 | while (aton_buf = npu_get_input_buffers_info(instance, nn_info->n_inputs))| ^~~~~~~~ C:/Users/papam/.stm32cubeaistudio/workspace/demo_face_detection/.ai/run/run-1/Middlewares/ST/AI/Validation/Src/ai_wrapper
Hi. It looks like the toolchain cannot cope with more than one GRU layer. There is an error, and we cannot resolve it in this application. Please send your log by copying and pasting it to share it with edge.ai@st.com and attach your model. Generate ProjectCopying previous project files from C:\Users\micha\Documents\Azimuth\ARM\STMicro\STM32CubeAI\workspace\soc_gru\.ai\run\run-3 to C:\Users\micha\Documents\Azimuth\ARM\STMicro\STM32CubeAI\workspace\soc_gru\.ai\run\run-3\.ai\generate\backupCalculating memory footprint...Run failed: Error: analyze error: NOT IMPLEMENTED: Slice on batch dimension not supported When there is more than one GRU layer, it is typical to stack the state and pass it in as one tensor.Then it is sliced apart within the model.But the Cube AI Studio software chokes on the slice since it is in the batch dimension.I suppose the intention is not to support unrolling in time, but in this case there is no such issue.Is there a work-arou
Hi all,I was following this guide for CM55 validation, yet when I run stedgeai generate -m <model-file> --target stm32n6 --binary --address 0x71000000 --memory-pool ./mypool_N6.jsonIt does compile, but at the end, I have several files missing, such as network_config.h, network_data*, and network_data_params*. This is the output I am getting.I'd be glad if anyone has any idea how to fix it. Thanks :))
As I've written, I'm writing an application for a hardware custom solution uing a Nucleo N6 board for speech enhancement and I want that my audio is denoised by a NN. The problem is that, listening to my transmitter, that audio is blocked and not correctly sampled when running MX_X_CUBE_AI_Process() (the NN alone without I2S activity makes inferences normally). How can I prevent this blocking acitivity? I CANNOT use a STM32N6570-DK board(I ONLY have a NUCLEO N6, so please don't tell me to see speech enhancement examples because I've checked them out and, appearently, they are only conceived for STM32N6570-DK board)This is my main.c + app_x-cube-ai.c code/** ****************************************************************************** * @file app_x-cube-ai.c * @author X-CUBE-AI C code generator * @brief AI program body ****************************************************************************** * @attention * * Copyright (c) 2026 STMicroelectronics. * All rig
Hi,I am trying to figure out what is the easiest way to extend the object detection app provided in https://github.com/STMicroelectronics/STM32N6-GettingStarted-ObjectDetection/In particular, I would like to add one of the many N6 supported libraries such as threadx.Lacking the ioc file, I am currently updating by hand the cubeIDE cproject file with the path to the threadx distribution I imported from the N6 examples repository but I wonder if there isn't a better way.Streamlining or at least providing one example on how to integrate any of the provided supporting libraries would be very helpful. Can anyone point me to any documentation I can use as a reference?
Hello,I’m working on a project using the STM32N6 NPU, and I’m consistently encountering a HardFault during model inference.To set up my project, I followed this tutorial:https://community.st.com/t5/stm32-mcus/how-to-build-an-ai-application-from-scratch-on-the-nucleo-n657x0/ta-p/828502I also used a TFLite model from the Model Zoo on GitHub (I tested several models from the zoo as well as my own custom models).Using the debugger, I was able to pinpoint that the crash occurs on the following line in network.c:LL_Arithacc_Init(2, &Conv2D_7_mul_scale_4_init3);More specifically, the fault happens inside ll_aton.c at:uint32_t t; uint32_t A = Ap != NULL ? LL_ATON_getbits(Ap, bitcnt_A, nbits_A) : (uint32_t)conf->A_scalar;The convolution configuration generated in network.c looks like this:static const LL_Arithacc_InitTypeDef Conv2D_7_mul_scale_4_init3 = { .rounding_x = 0, .saturation_x = 0, .round_mode_x = 0, .inbytes_x = 2, .outbytes_x = 2, .shift_x = 0, .rounding_y = 0, .satura
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.