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
1. X-CUBE_AI forces the use of the bypass clock source and enables both I-Cache and D-Cache.2. Following the advice in https://community.st.com/t5/edge-ai/x-cube-ai-integration-and-clock-errors/td-p/706076 allowed me to avoid the bypass clock source, but the caches remain enabled. Additionally, the SystemClock_Config function enters a hardfault at: RCC_OscInitStruct.HSI48State = RCC_HSI48_ON; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;3. When TouchGFX is not used, X-CUBE_AI can apply templates normally and generates an additional app_x-cube-ai.c file. The code in this file seems self-contained, so the clock initialization issue is likely not related to this. 4. Are there any solutions or workarounds to resolve the clock configuration conflict and disable the forced enabled caches? My project relies heavily on DMA operations, and I prefer not to use the cache. Thank you for your assistance.The whole SystemClock_Config function as follow:void SystemClock_Config(void){RCC_OscInitTypeDef
Hi All,I’m trying to hunt down the best board for my new project. Basically I need the following functionality either on the board or via add-on boards. I can see a few possibilities but I haven’t had much experience so I thought it best to ask. Thankyou!RequirementsTinyML (processed onboard) 0.5 and above TopsGenerate and encode sinewave between 18kHz - 21kHzMicrophone inputClass d Speaker out (=>3w preferably)Low powerEthernet (RJ45)Not a requirement but would be greatPOEWifiLow budget
Hi, I'm working with implementing a Spiking Neural Network on a neural ART equipped STM32N6 board. As a true SNN has operators that are not supported by the STEdgeAI compiler, I have opted to create a ANN model that simulates spiking behaviour. My problem is that the current approach utilizes custom RNN layers which seem to not be supported either by STEdge nor by TFLite conversion. A partial solution for that was to unroll my "RNN layers" by using a fixed time step. This allowed me to convert my model into TFLite but when I import my model into the STEdgeAI suite I seem to be unable to neither quantize, optimize or benchmark it. Am I still using something unsupported which blocks me from using my model? Or am I missing some other step to use my model in STEdgeAI?Attached is the unrolled single neuron model in ".tflite", snn_to_ann_neuron.py which is the original implementation, and unrolled_s2a.py which is my code to unroll it. Thanks in advance!
I am just starting with STM32CubeMX and X-Cube-AI. I am reading the documentation "Getting started with X-CUBE-AI Expansion Package for Artificial Intelligence (AI)" and got the point where it says to load a "public Keras HAR model file". Where do I find this file?
Hi. I need to create my own boot leader that will be able to update itself and the application as well. I don't want to sign this boot leader and the application every time. Is it possible to create a simple FSBL that will be signed and permanently placed in memory and its only task will be to jump to my bootloader, which will not be signed? I don't fully understand this, because in many places you can find information that the application must also be signed, but e.g. the FSBL that is in the examples only does jump to the application (it does not check any signatures or header)BRArtur
I am currently running the object detection application code firmware from the STM32AI ModelZoo Services on STM32N6570-DK.I would like to extend its functionality with the following two features:- Convert the captured RGB frame to JPEG format.- And then store the converted JPEG image onto the SD card available on the discovery kit.Can someone please advise on the best approach to implement these features within the current firmware architecture?Thank you for your support.
I used JPG photos for training. So, after integrating it into the STM32U5 using X-CUBE-AI, what kind of data should I use for verification?Used RGB565?YUV?I have tried using JPG data, but it didn't work.
Can anyone please help with the step by step process for deploying a deep learning model on NUCLEO-H753ZI board using STM32CubeIDE and XCubeAI package...I am not able to do it even after trying multiple times...please help me through this .... using a video or something... as i tried many solutions here...Or i can provide the remote access of my system to you... if it is possible... It is really urgent and needed...
My question is same the title. I know that you have zoo model with custom training script to training or fine tuning based on provided model. But I have a new model, that is trained in other environment, I exported it to ONNX. How can I deploy this model to this board? Thank you.
HelloI want to use ST Edge AI Core for model validate on STM32MP257.When I set the parameter --mode host, the report results include "Inference time per node" command: stedgeai validate -m ./linear_model_quantized.onnx --target stm32mp2 --mode host -v 2part of report result: Inference time per node---------------------------------------------------------------------------c_id m_id type dur (ms) % cumul name ---------------------------------------------------------------------------0 0 NL (0x107) 0.001 30.8% 30.8% ai_node_0 1 18 Dense (0x104) 0.001 30.8% 61.5% ai_node_1 2 18 NL (0x107) 0.001 26.9% 88.5% ai_node_2 ---------------------------------------------------------------------------n/a n/a Inter-nodal 0.000 11.5% 100.0% n/a ---------------------------------------------------------------------------total 0.003 --------------------------------------------------------------------------- But I want to see the actual inference time of each layer of the model running
Hi, Im implementing an YoloV8n model into the STM32 MPU257-DK, and its already working for the models available at, but I would like to know if there is any COCO 80 classes model and not person only. I got the .tflite in the following link:https://github.com/STMicroelectronics/stm32ai-modelzoo/blob/main/object_detection/yolov8n/README.md
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 6GBytes 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.. "D:\code\stm32ai-modelzoo-services\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\w
hello I would like to know the possible reasons for anomalies. I used the AI library generated by NanoEdge AI Studio to run tests on STM32F407, and the similarity obtained was abnormal. Some exceed 100, such as 255, and I would like to know the possible reasons for such anomalies. Thanks.
你好,你是否解决了这个问题?
Please help, why can my configuration of flower work normally, but when I change the model st-minst and follow the same steps to deploy and burn, the LCD screen does not light up and the model does not work.
Hello everyone,I am trying to convert a tf.matmul operation into a .tflite model and deploy it on the STM32MP257F-EV1 NPU for acceleration. My inference inputs are (1, 1, 384) and (1, 51865, 384). Below is my code:import tensorflow as tfimport numpy as nphidden_states = tf.keras.Input(shape=(1, 384), dtype=tf.float32)output_embeddings = tf.keras.Input(shape=(51865, 384), dtype=tf.float32)output = tf.matmul(hidden_states, output_embeddings, transpose_b=True)# Create a new standalone modelmatmul_model = tf.keras.Model(inputs=[hidden_states, output_embeddings], outputs=output)matmul_model.summary()# Define the inputshidden_states = tf.random.normal((1, 1, 384), dtype=tf.float32) * 3output_embeddings = tf.random.normal((1, 51865, 384), dtype=tf.float32) * 3# Call the model with separate argumentsoutput = matmul_model([hidden_states, output_embeddings])print(output.shape)matmul_model.save("matmul_saved_model", save_format="tf")# Load the saved encoder modelmatmul_model = tf.keras.models.loa
I tried generating a project file from CubeMX for my Board STM32N657-Q, themodel i downloaded from st modelzoo "mobilenet_v1_0.25_224_int8.tflite" As I got some problem with converting it through Board selection in Cube MX, I tried it cobining it with a example code selection So i selected a example for UART_Printf. in that i enabled Xcube AI in cofiguration and generated the C file. But while running the generated project file whiloe building it in cubeIDE iam getting lots of errors i have shared the errors
I am using the STM32 Model Zoo services repo for th This link shows the READme that I used from the application software that I downloaded from STM32 website. I dont think I am correctly importing the project. I have double clicked the .project file and the it doesnt setup the folders for the makefile correctly. I would like to know what is the correct way to import this project. I dont know what I have to include in the "Path and Symbols" for the preferences for the project file. https://github.com/STMicroelectronics/stm32ai-modelzoo-services/blob/main/application_code/object_detection/STM32N6/README_ModelZoo.md "You can launch the STM32CubeIDE/.project with STM32CubeIDE. With the IDE, you can modify, build, and deploy your project on the target. To update the weights, flash them by following the instructions in the Program hex files documentation." I am building the blue "Getting Start project file"
I followed the steps in the link below and then ran main.py, but I encountered the following error. I don’t know how to resolve it. I also set the BOOT0 and BOOT1 switches on the board, but I still get the same result. https://github.com/STMicroelectronics/stm32ai-modelzoo-services/blob/main/object_detection/deployment/README_STM32N6.md (st_zoo) C:\Users\wwnso\Desktop\STM\stm32ai-modelzoo-services\object_detection\src>python stm32ai_main.py --config-path ./config_file_examples/ --config-name deployment_n6_ssd_mobilenet_v2_fpnlite_config.yaml 2025-03-14 02:35:59.704524: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'cudart64_110.dll'; dlerror: cudart64_110.dll not found 2025-03-14 02:35:59.705273: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine. [WARNING] The usable GPU memory is unlimited. Please consider setting the 'gpu_memory_limit' attribute
D:\stm32aibushu\stm32ai-modelzoo-services\object_detection\src>python stm32ai_main.py --config-path ./config_file_examples/ --config-name my_deployment_n6_ssd_mobilenet_v2_fpnlite_config.yaml2025-05-16 11:30:17.018496: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'cudart64_110.dll'; dlerror: cudart64_110.dll not found2025-05-16 11:30:17.018747: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.[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...[INFO] : This TFLITE model doesnt contain a post-processing layerloading model.. m
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
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.