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 have a tflite model that I want to test on my B-U585I-IOT02A Discovery kit, after some issues with X-Cube.AI expansion for CubeMX I decided to try use ST Edge AI Developer Cloud. Everything goes smoothly until I try to generate the code, All option to generate fail apart from the C code of the nn. As the error gives no explanation I have no clue of what happend and no way to fix it.
I follow the instructions found in https://github.com/STMicroelectronics/stm32ai-modelzoo-services/blob/main/image_classification/deployment/README.md in order to deploy an image classification model in STM32N6570-DK board. When i launch (in ubuntu) python stm32ai_main.py --config-path ./config_file_examples/ --config-name deployment_n6_mobilenet_v2_config.yamli get the following error [WARNING] The usable GPU memory is unlimited.Please consider setting the 'gpu_memory_limit' attribute in the 'general' section of your configuration file.[INFO] : Running `deployment` operation mode[INFO] : ClearML config check[INFO] : The random seed for this simulation is 123INFO: Created TensorFlow Lite XNNPACK delegate for CPU.[INFO] : Generating C header file for Getting Started...loading model.. model_path="../../../stm32ai-modelzoo/image_classification/mobilenetv2/ST_pretrainedmodel_public_dataset/flowers/mobilenet_v2_0.35_128_fft/mobilenet_v2_0.35_128_fft_int8.
error facedLibrary pathsLibrary pathslibrary pathsError in consoleI am working on using Nano Edge AI to classify sounds using my STM32 NUClEO-L476RG development board. i classified the recorded sounds as Crying Baby, Ambulance Siren, and Noise. I deployed the library and got a few files mainly "knowledge.h" and "NanoEdgeAI.h". But when I include them in my main.c file I face the following error. ../Core/Src/main.c:23:10: fatal error: knowledge.h: No such file or directory 23 | #include "knowledge.h" | ^~~~~~~~~~~~~ compilation terminated. make: *** [Core/Src/subdir.mk:34: Core/Src/main.o] Error 1 make: *** Waiting for unfinished jobs... . What might be the issue?I am attaching the included paths, so it would be easy to communicate.
In my task, a 3-axis accelerometer is connected to a 24-bit ADC. How should I transmit the signal data to Nano Edge AI? Should I send the raw data directly, or should I perform calculations before transmitting it? In version 5, how can I check the Emulator section like in version 3?
I am attempting to deploy an sklearn RandomForestClassifier on a STM32H7 using ST Edge AI.I am using the following function to export the RandomForestClassifier to ONNX:My call to the stedgeai cli is:stedgeai generate --model ../Python/ml_model/rf.onnx --optimization balanced --binary --address 0x91A00000 --target stm32h7 --name aq_network_rf --workspace ../Python/ml_model/workspace_rf --output ../Python/ml_model/output_rf When I subsequently perform inference, the results do not match my python tests. Subsequently, I tried using the evaluate function:stedgeai validate -m ../Python/ml_model/rf.onnx --target stm32 -vi ../Python/ml_model/test/test_rf_input.npy --output ../Python/ml_model/output_rf The output from this evaluate call shows a discrepancy in outputs between c and the original model found in `network_val_c_outputs_2.csv` and `network_val_m_outputs_2.csv`. The second output matches the python tests. Contents of the files are below:`network_val_c_outputs_2.csv` `netwo
Hello! How can I downloaded the en.stedgeai-stneuralart-10.0.0.zip? I can't find the file in ST Edge AI Core. Thanks!
I'm currently deploying the object detection of stm32modelzoo. After entering the command "python stm32ai_main.py --config-path ./config_file_examples/ --config-name deployment_n6_ssd_mobilenet_v2_fpnlite_config.yaml", an error occurred. Could someone please help me solve it? imization 3 --Os --Omax-ca-pipe 4 --Ocache-opt --enable-epoch-controller --output-info-file "c_info.json"PASS: 91%|█████████▏| 84/92 [01:21<00:12, 1.60s/it]<<<< DONE EXECUTING NEURAL ART COMPILERPASS: 91%|█████████▏| 84/92 [01:24<00:12, 1.60s/it]PASS: 92%|█████████▏| 85/92 [01:25<00:16, 2.35s/it]LOAD ERROR: WindowsPath('C:/Users/dell/Desktop/N6/stm32ai-modelzoo-services-main/object_detection/src/experiments_outputs/2025_05_15_18_41_52/network.h') and WindowsPath('C:/Users/dell/Desktop/N6/stm32ai-modelzoo-services-main/object_detection/src/experiments_outputs/2025_05_15_18_41_52/network.h') are the same fileError executing job with overrides: []Traceback (most recent call last)
Hi everyone,I'm working on a project where I need to use a Nucleo-N657X0-Q board to run an AI model.I generated the project using STM32CubeMX, setting up LPUART1 for communication and configuring it to have only the FSBL and a secure application. X-Cube-AI was selected to be part of the application.I generated the project, compiled it, and set up the run configuration in STM32CubeIDE as follows: The first file in the latter figure is a signed .bin file obtained according to the guide here: https://community.st.com/t5/stm32-mcus/how-to-debug-stm32n6-using-stm32cubeide/ta-p/800547 I set to download it at the origin address of the RAM (0x34000400). For debugging, I added code in the FSBL to turn on the LEDs and print a message, and I noticed that the FSBL runs, but the application does not start (like if it hangs on the while loop auto-generated in the fsbl code: /* Initialize USER push-button, will be used to trigger an interrupt each time it's pressed.*/ BSP_PB_Init(BUTTON_USER,
Hello everyone,I followed the tutorial below to deploy, and an error occurred when executing python stm32ai_main.py at the end. The window log is as follows. Can anyone help me figure out what happened?https://github.com/STMicroelectronics/stm32ai-modelzoo-services/blob/main/image_classification/deployment/README_STM32N6.md LOAD ERROR: WindowsPath('E:/07_Stm32/stm32N657/stm32ai-modelzoo-main/stm32ai-modelzoo-services-main/stm32ai-modelzoo-services/image_classification/src/deployment_outputs/2025_05_16_13_00_27/network.h') and WindowsPath('E:/07_Stm32/stm32N657/stm32ai-modelzoo-main/stm32ai-modelzoo-services-main/stm32ai-modelzoo-services/image_classification/src/deployment_outputs/2025_05_16_13_00_27/network.h') are the same fileError executing job with overrides: []Traceback (most recent call last):File "E:\07_Stm32\stm32N657\stm32ai-modelzoo-main\stm32ai-modelzoo-services-main\stm32ai-modelzoo-services\image_classification\src\stm32ai_main.py", line 421, in <module>main()F
Hello,I met these logs when I try to deploy a model on stm32n6d570-dk:1 physical GPUs, 1 logical GPUs [INFO] : Setting upper memory limit to 4GBytes on gpu[0] [INFO] : Running `deployment` operation mode [INFO] : ClearML config check [INFO] : The random seed for this simulation is 127 INFO: Created TensorFlow Lite XNNPACK delegate for CPU. [INFO] : Generating C header file for Getting Started... loading model.. model_path="yolov8n_256_quant_pc_uf_od_coco-person-st.tflite" loading conf file.. "../../application_code/object_detection/STM32N6/stmaic_STM32N6570-DK.conf" config="None" "n6 release" configuration is used [INFO] : Selected board : "STM32N6570-DK Getting Started Object Detection (STM32CubeIDE)" (stm32_cube_ide/n6 release/stm32n6) [INFO] : Compiling the model and generating optimized C code + Lib/Inc files: yolov8n_256_quant_pc_uf_od_coco-person-st.tflite setting STM.AI tools.. root_dir="", req_version="" Cube AI Path: "E:\ST\STEdgeAI\2.0\Utilities\windows\stedgeai.exe". [INFO]
Hello, I logged data using the STEVAL-STWINKT1 (flashed with DATALOG2_Release.bin) by connecting the sensor to the iOS app ST BLE Sensor. Then, I used the Python notebook "nb_stdatalog_converters.ipynb" to convert the .dat files to .csv. However, for some sensors, I can't retrieve the dataframe, and I get the following errors: Error: No [iis3dwb_acc] sensor available in your selected acquisition folder. Please check the sensor name and try again. Error extracting data from C:\Users\...\iis3dwb_acc.dat file. Missing packets revealed, data corrupted. Do you know why this problem occurs, or is the data actually corrupted? I've noticed that the error occurs when processing large files—specifically, data from sensors ism330dhcx_acc, imp23absu_mic, and imp34dt05_mic, which exceed 129,000 KB. This might be related to the issue. If you'd like to reproduce the problem, the code is provided below, and you can download my .dat files via this WeTransfer link : https://we.
I am trying to deploy an AI model on the STM32N6570-DK board. And I followed these steps:1. Open the STM32CUBEMX, choose the secure only mode, activate X-CUBE-AI, and click the FSBL, choose the application template choice.2. click the RIF3. choose the onnx and NeuralART runtime, and upload the onnx model4. The rest configurations are: profile:n6-allmem-O3; validation inputs:processed_features_reshaped.npy; validation outputs:processed_labels_oneshot.npy(these two npy files are the train set of the model, one input and one output)5. use cubeIDE to generate the code.6. move the middleware to FSBL and modify the include path and the .a pathWhen I compile the generated code, there are some errors and warnings, I am wondering how I can deal with these errors.The errors are listed below:arm-none-eabi-gcc -o "AIN6_FSBL.elf" @"objects.list" -l:NetworkRuntime1000_CM55_GCC.a -mcpu=cortex-m55 -T"D:\projForSTM32\AIN6\FSBL\STM32N657X0HXQ_AXISRAM2_fsbl.ld" --specs=nosys.specs -Wl,-Map="AIN6_FSBL.map
Hi,I want to develop my application which uses STM32N6's Neural ART and I want to use ARM complier(6.23) but I am not how to get started.Also from readme of model_zoo I see that STM32AI only support GCC complier. So does that mean I have to use GCC complier if I want to use Neural ART accelerator?
I'm using the board STM32H747I-DISCO with the FP-AI-VISION1_V3.1.0 SDK, and made some experiments with some example projects and all of them are working on my board. But with the FoodReco_MobileNetDerivative project that can use external RAM and Flash I'm not able to make it work. The problem I think is related with the definitions of the #defines: "WEIGHT_QSPI", "WEIGHT_EXEC_EXTRAM", "WEIGHT_QSPI_PROGED".On the instruction manual (UM2611), it is mention to set those flags, but is not mentioned in what file they should be set. (In image attach)I've tried to set it under the file "fp_vision_app.h" and follow all the instructions in manual but with no success. Could any one help me with this?Thank you
Hello ST Community/Support,I am encountering an issue when trying to analyze an ONNX model containing a GRU layer using STM32Cube.AI.Tool Version: STM32Cube.AI v2.0.0-20049 .Model Type: A neural network model with a GRU layer followed by a Dense (fully connected) layer.Model Format: ONNX, exported from PyTorch.Error Occurs: During the "Analyzing Network" phase in STM32Cube.AI.Target MCU: STM32H7 series.The specific error messages I receive in the Output window are:TOOL ERROR: operands could not be broadcast together with shapes (1024,) (512,).I understand that GRU layers are complex operations. It seems that Cube.AI's internal analysis or decomposition of the GRU layer is encountering a shape mismatch during an attempted element-wise operation (broadcasting).Could you please help me understand the cause of this error? Does STM32Cube.AI v2.0.0 have specific limitations regarding GRU layers or the broadcastin
Hello everyone,I'm using a Nucleo-N657X0-Q and trying to integrate two different neural network models into my STM32CubeIDE project via X-CUBE-AI.The issue I'm encountering is that both models are assigned overlapping memory regions:npuRAM5: 0x342E0000 - 0x34350000 → model uses 0x342E0000 - 0x342E00C0octoFlash: 0x70000000 - 0x73FFFFF8 → model uses 0x70000000 - 0x700038A0Is there a way to manually assign an offset or configure the memory so that each model uses a distinct memory area?Thanks in advance for your help!
Hi everyone,I'm trying to run inference with a TFLite model on a Nucleo-N657X0-Q board.The issue I'm facing is that the network returns a constant output for constant inputs - but the value of this constant changes each time I restart the application. When the input varies, the output also varies, but the values returned are not consistent with those obtained during the validation process.The model was quantized using a post-training quantization approach.I'm using AXISRAM4 and AXISRAM5, which have been correctly initialized and enabled in the main.c. I attach the .ioc file, the app_x-cube-ai.c file and the quantized tflite model for reference.Thanks in advance for any suggestions!
Dear Community,I am attempting to deploy an .onnx model to STM32F407VET6 via STM32CubeAI 10.0.0.I have generated the code, completed the compilation and download through MDK5, and also completed the validate on desktop on STM32CubeMX. However, when conducting the validate on target, I encountered the "INTERNAL ERROR: E801(HwIOError): Invalid firmware - COM3:115200" issue. I'm a novice, maybe I haven't done the configuration work well and don't know how to make adjustments.I have attached my code file in the attachment. If I need to provide more relevant files, please let me know. I would be extremely grateful! Regardsknight
I want to take buffer of ~4MB in XSPI_PSRAM_MemoryMapped example of STM32N6. I am just increasing the size BUFFERSIZE to 3MB but there is a error in building. As XSPI RAM is 256Mbit(16MB) I was hoping this buffer size should be valid. But that is not the case. What modifications I need so I can increase buffer size >4MB. I am attaching my project here. Only modification I made in this project from default code is increase buffer size.#define BUFFERSIZE 302400
Hello, me again.So I tried to validate a file through cubeAI and ST Edge AI. But always stops by a build problem.Here is what I do with the CLI:I followed the Getting started - How to evaluate a model on STM32N6 board .First I generated the things inside the right file. Its done without any problem.Then, Because I am using the Nucleo board, I used this command.python C:\Appl\ST\STEdgeAI\2.0\scripts\N6_scripts\n6_loader.py --n6-loader-config C:\Appl\ST\STEdgeAI\2.0\scripts\N6_scripts\config_n6l.json(I tried to use the normal one without --n6-loader-config but not working, also build error, so I tried this one) And my json scripts are like this:However the out come is not right, build error:And it gives out a comic outcome: I dont know why it have such a error worning.By the GUI from CubeMX, the log is almost the same.So I have no idea why, the only reason I can think of is that I dont have a Nucleo board validation program:As you can see here, it only have a DK board proj
Hi,I want to download an old version 3.0.1 of Nano Edge AI studio but I could not find it from the website. It directly download the new version 4.5.0. How can I reach the version 3.0.1?
I tried to validate my Keras model on ST Cloud, but there seems to be '' stedgeai analyze --model emotion_model.h5 --st-neural-art custom@/tmp/stm32ai_service/5afbcf71-db0d-4f0d-81a1-3cd5102933d8/profile-2fb440ba-ebb2-486b-b795-d7287b8d6307.json --target stm32n6 --optimize.export_hybrid True --name network --workspace workspace --output outputST Edge AI Core v2.1.0-20182 a437ed3c9WARNING: Unsupported keys in the current profile custom are ignored: memory_desc> memory_desc is not a valid key anymore, use machine_desc insteadE102(CliArgumentError): Cannot use 'keras_dump'-type input files when using Neural Art compiler'' The error.I hope to verify the STM32N6570DK development board in the cloud, but if I choose the MCU platform, it seems that I cannot choose this development board. If I choose NPU, it seems that there will be the above errors again.
When using the previous V4.6.0 version, it wouldn't allowed it to be used unless I upgrade NanoEdge AI Studio latest version 5.0.2. So I've obliged...Now, one of the projects that I have for anomaly detection, that has several files for Valid Signals and Abnormal signals, when selecting those views, the main window just blacks out and the console error is:11:59:44.992 › Set title bar overlay <--- Last few GCs ---> [61444:0x2e980055c000] 54631 ms: Mark-Compact 4047.8 (4074.6) -> 4046.4 (4079.6) MB, pooled: 0 MB, 1344.48 / 0.00 ms (average mu = 0.269, current mu = 0.034) allocation failure; scavenge might not succeed [61444:0x2e980055c000] 55993 ms: Mark-Compact 4050.9 (4079.6) -> 4048.7 (4081.6) MB, pooled: 0 MB, 1335.40 / 0.00 ms (average mu = 0.157, current mu = 0.020) allocation failure; scavenge might not succeed <--- JS stacktrace ---> [61444:0424/120036.866948:ERROR:v8_initializer.cc(808)] V8 javascript OOM (Reached heap limit). So it seems pretty clear
Hello there,I am currently working with the STEVAL-PROTEUS1 evaluation board.To supply power, I have connected the board to my computer via micro USB (alternatively, a battery could have been used, but it should not make a difference).For data acquisition through USB using NanoEdge Studio, I established the STLINK-V3MINIE connection as shown in the attached picture.Although NanoEdge Studio detects "STMicroelectronics" on COM7, I am unable to receive any data.Additionally, I have noticed that the STEVAL-PROTEUS1 board itself does not appear separately in the Windows Device Manager. Only the STLINK-V3MINIE appears, even though both the STEVAL-PROTEUS1 micro USB and the STLINK-V3MINIE USB are connected to the PC simultaneously.Is this behavior normal, or could it indicate an issue with the setup?For reference, I recently flashed the firmware file Proteus_HS_Datalog_FUOTA_reference.bin.Firmware updates via STLINK-V3MINIE complete successfully, but NanoEdge Studio still fails to acquire any
I used the cmd on Windows and entered the following command: "stedgeai.exe analyze --target stm32f4 --name network -m CNN_Attention_MLP1.onnx --verbosity 3 --no-onnx-optimizer". Then I got the error message as mentioned in the title. When the "--no-onnx-optimizer" parameter was not used, I would get similar DEBUG information. They were all "Error in execution of pass type(OPT_RM_TRANSPOSE_MATMUL) id(16)" as shown in the subject, which really confused me. Since I had turned off the ONNX optimizer, it was strange that it still reported an error here. The attachment is my debug log and the ONNX model.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.