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
HelloI trained handwritten digits using Keras, and then used cubeai of cubeMX to train and deploy, and then there was an error when compiling. Do you know how to solve it?16:20:25 **** Incremental Build of configuration Debug for project stm32N6_hand02_FSBL ****make -j8 all arm-none-eabi-gcc -o "stm32N6_hand02_FSBL.elf" @"objects.list" -l:NetworkRuntime1000_CM55_GCC.a -mcpu=cortex-m55 -T"E:\07_Stm32\stm32u575\stm32N6_hand02\FSBL\STM32N657X0HXQ_AXISRAM2_fsbl.ld" --specs=nosys.specs -Wl,-Map="stm32N6_hand02_FSBL.map" -Wl,--gc-sections -static -Wl,--cmse-implib -Wl,--out-implib=./secure_nsclib.o -L../../Middlewares/ST/AI/Lib -Wl,--wrap=malloc -Wl,--wrap=free -u _printf_float --specs=nano.specs -mfpu=fpv5-d16 -mfloat-abi=hard -mthumb -Wl,--start-group -lc -lm -Wl,--end-groupD:\15_STM32CubeIDE_1.18.0\stm32cubeide1.17\STM32CubeIDE_1.17.0\STM32CubeIDE\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.win32_1.1.0.202410251130\tools\arm-none-eabi\bin\ld.exe: D:/15_STM
HelloI want covert my quantized onnx model(develop by pytorch) to .nb format, to enable stm32mp257 npu accelerate.I use ST Edge AI Core V2.0.0,(V2.1.0 has been not support stm32mp257).when I run generate command,it report lose file "onnx_ruler_db.json". run command:/opt/ST/STEdgeAI/2.0/Utilities/linux/stedgeai generate -m ./xxx.onnx --target stm32mp25command result:ST Edge AI Core v2.0.0-20049LOAD ERROR: [Errno 2] No such file or directory: '/opt/ST/STEdgeAI/2.0/Utilities/linux/lib/python3.9/site-packages/onnx_ruler_db.json'
1. this is my python script to build weight for MNIST. import tensorflow import tensorflow as tf from tensorflow import keras from tensorflow.keras import layers, models import numpy as np (x_train, y_train), (x_test, y_test) = tf.keras.datasets.mnist.load_data() x_train = x_train / 255 x_test = x_test / 255 x_train = x_train[..., tf.newaxis] x_test = x_test[..., tf.newaxis] model = models.Sequential([ layers.Conv2D(32, kernel_size=(3, 3), activation='relu', input_shape=(28, 28, 1)), layers.MaxPooling2D(pool_size=(2, 2)), layers.Conv2D(64, kernel_size=(3, 3), activation='relu'), layers.MaxPooling2D(pool_size=(2, 2)), layers.Flatten(), layers.Dense(128, activation='relu'), layers.Dropout(0.25), layers.Dense(10, activation='softmax') ]) model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy']) model.fit(x_train, y_train, epochs=50, batch_size=64, validation_split=0.1) model.save("mnist_cnn_model") converter = tf.lite.TFLiteConverter.from_saved_
Hello everyone,I am currently testing STEdgeAI on the STM32N6570-DK and encountered an issue when running the following command: stedgeai generate -m test_model/mobilenet_v2_0.35_224_fft_int8.tflite --target stm32n6 --st-neural-art While the network_generate_report.txt is generated, the terminal prints an error message:>>> Shell execution has FAILED (returned code = 1)$ arm-none-eabi-gcc -mthumb -mcpu=cortex-m55 -mtune=cortex-m55 -mfloat-abi=hard -Wall -Wextra -Wundef -Wstrict-prototypes -g3 -gdwarf-3 -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -fomit-frame-pointer -falign-functions=16 -Os -DUSE_FULL_LL_DRIVER -DLL_ATON_PLATFORM=LL_ATON_PLAT_SWEMUL -DLL_ATON_OSAL=LL_ATON_OSAL_BARE_METAL -DLL_ATON_RT_MODE=LL_ATON_RT_POLLING -DLL_ATON_SW_FALLBACK -I /usr/local/STMicroelectronics/STEdgeAI/2.0/Utilities/linux/st_ai_output -I /usr/local/STMicroelectronics/STEdgeAI/2.0/Middlewares/ST/AI/Inc -I /usr/local/STMicroelectronics/STEdgeAI/2.0/Middlewares/
Hello everbodyI am struggling creating a project which uses the ART-Accelerator and compiles. There are always some errors. It feels like i searched every possible document from ST but i haven't found a basic get started guide or something like that which uses the Nucleo-N6. I also tried multiple combination of FSBL, Application (even though i am not sure when to use which but thats a other topic).The basic template which auto generates when making a new project ran. I wasted already so much time on this so any help is welcome.How i am creating a project in CubeIDE:- New project and choose Nucelo-N6 with FSBL only- Go to .ioc choose X-Cube-AI 10.0.0, tick core and choose application template- load model and run analyze, validate on desktop and take a look at the Graph: Graph looks weird with blocks not connected, if i choose MCU runtime Graph looks fine but i want to use NPU- Save and generate Code- Try to compile -> Errors../X-CUBE-AI/App/app_x-cube-ai.c:100:5: warning: implicit de
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
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.