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
Hi, I have successfully ran and trained the models in modelzoo but I would like to use a larger model with yolov8 for higher resolution. It was mentioned in another post that yolov5 and above is not compatible with ST chips at the moment. In any case can how can I use a previous model let's say v4? The available models seem to be: st_ssd_mobilenet_v1 ssd_mobilenet_v2_fpnlite st_yolo_lc_v1 tiny_yolo_v2 What would the .yaml file look like. Can I just use the .tflite file from yolov4 and use one of the yolo derivatives from the above list? Alternatively, can I increase the input matrix on the available models to be larger than 416x416? I am using the h747 disco board. thanks
Hi all, I am trying to benchmark a TCN (causal cnn)-model on an STM32u5, however, when using any of the AI-Tools (online, CubeIDE or CLI), the analysis step fails with the output: ST Edge AI Core v1.0.0-19894 INTERNAL ERROR: 'numpy.ndarray' object has no attribute 'get_shape_map' Which is sadly not helpful. The model is attached, it was converted to onnx from pytorch (or rather fastai) using opset 13. It should take an input of 1x500x1 (bs x 1DSample x channels) and give an output of the same shape.I would be happy to get any pointers on what I can do to fix this, thank you!
Hello,I have a large .onnx model which, untouched, I am unable to run on my STM32 board. To tackle this problem, I wanted to quantize the model in order to decrease its size. I followed the official STM wiki (https://wiki.st.com/stm32mcu/wiki/AI:X-CUBE-AI_support_of_ONNX_and_TensorFlow_quantized_models). First, I preprocess the model using onnxruntime as described in the wiki, and then I change the opset version of the preprocessed model to 13. Finally, using almost identical code to the wiki, I apply static quantization to the model, drastically reducing its size. (As in the wiki, I also tried quantizing with and without the per_channel=true option, but both attempts failed.)When trying to analyze this model using X-CUBE-AI, I get the following error:ST Edge AI Core v1.0.0-19894TOOL ERROR: list index out of rangeHow can I fix this? The strange part is that the original, larger model can be analyzed successfully, so the quantization process must have introduced a change that made
Hi, https://www.youtube.com/watch?v=yuSVz3x9LzE&list=PLnMKNibPkDnG9IC5Nl9vJg1CKMAO1kODW&index=3Here in this demo, the training is done using train.py. And also if you run image_classification\src>python stm32ai_main.py config_file_examples\training_config.yaml", the following error is encountered:in <module>from tabulate import tabulateModuleNotFoundError: No module named 'tabulate'Is there any update regarding this?Thanks
Hello,I'm working with SensorTile (STEVAL-STLKT01V1) and using the AI-SENSING1 firmware. I would like to replicate the energy saving behavior I observed in the ALLMEMS1 firmware: it goes into shutdown mode after a period of no connection and can be reactivated by a double tap event. In ALLMEMS1, this behavior happens automatically, but in AI-SENSING1, I am facing difficulties implementing this logic.My question is: what specific steps should I follow to replicate the behavior of ALLMEMS1 in AI-SENSING1, or is there any example of implementing this shutdown with wake-up via double tap for AI-SENSING1? I would also need guidance on how to configure the timer so that the shutdown occurs automatically after a pre-determined time without connection.Thanks in advance for any help or guidance.
Hello,I am trying to implement a gesture recognition application.I am using 53L8A1 to collect data.And found out the model zoo supports Hand Posture using 2D CNN. In the model zoo is uses minimum distance, max_distance and background distance. Based on the normalization it follows:X1_norm[zheaders["distance_mm"]] = (X1[zheaders["distance_mm"]] - 295) / 196X1_norm[zheaders["signal_per_spad"]] = (X1[zheaders["signal_per_spad"]] - 281) / 452I would like to know how number 295, 196 for distance and 281, 452 is calculated.Since i am trying to detect dynamic gesture as well with motion.It possible to do it in 3DCNN with 8x8x2xNumber Of Frames. Where 2 are the distances and the signal per spad?
Hi all, I'm playing around with STM32H747I-DISCO eval board and the stm32ai-modelzoo demo. I've managed to train and evaluate a model with my custom dataset using the script in "image_classification\src\stm32ai_main.py" Now I'm struggling with the deployment of the model. I tried using the deploy script in "image_classification\deployment\deploy.py" but I get the following error: ModuleNotFoundError: No module named 'models_utils' Any ideas what's going wrong here? The error isn't very descriptive (to me at least) so I'm a bit stuck. Sorry if this is a simple question, coming from a Hardware and FPGA design background using VHDL where everything is very explicit and strongly typed, I really struggle with the layers of abstraction that Python libraries bring.
Hi,I'm trying the STAIoT Craft platform and I'm having issues trying out the IoT Systems.So far I've tried cloning and deploying two samples:Smart Asset TrackingHuman Activity RecognitionThis is my setup:Google Chrome Version 130.0.6723.1 18 (Official Build) (64-bit)SensorTileBox.Pro (with SD Card)Rapsberry Model 4B 8GB RAM (32 GB SD Card for OS)edge_gateway_production_20241107_1_2_0.imgWi-FiI cloned the sample projects from the STAIoT Craft Homepage and just tried them out. I followed the instructions for deployment (flashing the sensortile, downloading Raspberry OS and configurations...) as described by the step-by-step procedure. This is a screenshot of the issue with the Smart Asset Tracking sample:I tried clicking on "Apply Manifest" but it didn't change the results: Just to be sure, I tried the Human Activity Recognition sample, with the same result: The only thing that is not clear to me (but I tried both ways) is if SensorTile and Raspberry have to be ON before I
Hi, I am trying to build the 'Getting Started with Image Classification' project from STM Model Zoo on STMCube IDE. However, whenever I try to build the project I keep getting this error: "fatal error: ../Components/adv7533/adv7533.h: No such file or directory" There does not seem to be a directory for adv7533 anywhere in the project. Any idea where I can obtain the required files to build the project?
I have this working keras model: https://www.dropbox.com/scl/fi/544ma5tsndw3cjv8djem0/model.keras?rlkey=87845alu8vki9y81kb7tjgrab&dl=1 and I am trying to load it into X-CUBE-AI 8.1.0 When I hit Analyze I get this error: Neural Network Tools for STM32 family v1.7.0 (stm.ai v8.1.0-19520) E010(InvalidModelError): Couldn't load Keras model C:\[redacted]\model.keras, Error when deserializing class 'InputLayer' using config={'batch_shape': [None, 128, 173, 1], 'dtype': 'float32', 'sparse': False, 'name': 'input_layer_1'}. Exception encountered: Unrecognized keyword arguments: ['batch_shape']How can I solve this?
I'm trying to develop an AI model and integrate it into the STEVAL-STWINKT1B board to classify the noise of industrial engines. How do I implement the generated library in nano edge ai so that the board shows the classification by obtaining data from sensors in real time? I followed the steps in this documentation, but I was unsuccessful. https://wiki.st.com/stm32mcu/wiki/AI:How_to_perform_anomaly_detection_using_FP-AI-MONITOR1
Hi, I am in the process of trying out the image classification example in the STM32 Model Zoo package. I have trained the MobileNetV2 model and followed the steps for deployment on my STM32H747i-Disco Board. However, the code does not seem to be working on my board. Only static shows up on the LCD as shown in this image. Are there any possible fixes as to what is going wrong? I am following the deployment tutorial step by step and even tried to run the image classification code directly from STMCubeIDE but I still get the same result. Any help or advice would be greatly appreciated.
Hi there, I'm not sure if it's better to leave a post here, or on github. If there is a preffered place, please let me know!TL;DRI'd appreciate any guidance on how to correctly configure the pad-values for 1-bit conv operations within X-CUBE-AI.I appreciate those at ST may not be able to fully comment on the inner working of ST's kernel implementation, but I have a concern 1-bit convolutions may be implemented sub-optimally.Problem and SetupThe problem I'm working on is generating a Binary Nerual Network (BNN). I've decided to trial the X-CUBE-AI framework for my company.A terse description of my environment to replicate this is as follows (most of this should be irrelevant but just incase):OS: Mac OS 15.1Chip: M2 ProPython: 3.11.8TensorFlow: 2.15.0Larq: 0.13.3X-CUBE-AI: 9.1.0Simple Self-Contained ExampleI've got a very simple python script called "test.py" (see below). It imports tensorflow and larq, and creates a very simple model, with a single larq binary 2D convolution (weigh
I have created a tensorflow model for image classification. But during the optimization process using STM32 AI developer cloud, I am getting the following error:error: Error when deserializing class 'InputLayer' using config={'batch_shape': [None, 32, 32, 3], 'dtype': 'float32', 'sparse': False, 'name': 'input_layer'}. Exception encountered: Unrecognized keyword arguments: ['batch_shape'] model = models.Sequential([layers.Input(shape=(32, 32, 3)),layers.Conv2D(32, (3, 3), activation='relu'),layers.MaxPooling2D((2, 2)),layers.Conv2D(64, (3, 3), activation='relu'),layers.MaxPooling2D((2, 2)),layers.Conv2D(64, (3, 3), activation='relu'),layers.Flatten(),layers.Dense(64, activation='relu'),layers.Dense(10, activation='softmax') ]) Ritesh
Hi community members,I’m currently working on a project where I want to deploy a Convolutional Recurrent Neural Network (CRNN) on an STM32 MCU using X-Cube-AI. The network structure includes convolutional layers followed by GRU layers, with a reshape and permute in between to convert the 4D tensor output to a 3D input tensor for the recurrent layer. Initially, I implemented this in PyTorch (exported to ONNX), and then tried TensorFlow Keras (exported to TFLite). Unfortunately, I’ve run into errors with both approaches during the import process in X-Cube-AI.Error MessagesWhen importing the ONNX model from PyTorch, I received the following error message:TOOL ERROR: Shape and shape map lengths must be the same: [192] vs. (CH_IN, CH)I built the same architecture using TensorFlow Keras to see if this would work, then exported it as a TFLite model. However, importing this TFLite model into X-Cube-AI produced the following error:INTERNAL ERROR: Inconsistent in/out tensor shapes in transpose_6
I want to deploy a model I've trained on my STM processor using STM32 Cube AI, but I am encountering some issues. Could someone with experience in this area assist me? I don’t see any obvious issues in my model, but there could still be something wrong with it. Since I don’t have much experience in this area, any help would be greatly appreciated.I am encountering an error when trying to perform the 'validate on desktop' operation. The error message is as follows:E010(InvalidModelError): Couldn't load Keras model W:\BYS_Tez\LSTM\model_RNN.h5, Error when deserializing class 'InputLayer' using config={'batch_shape': [None, 10, 3], 'dtype': 'float32', 'sparse': False, 'name': 'input_layer_9'}. Exception encountered: Unrecognized keyword arguments: ['batch_shape']I have attached the model. I would greatly appreciate any help with resolving this issue.
How to check the classification accuracy of image classification models on STM32H7 ? Ritesh
Hi,I see the ST Edge AI Suite case studies People counting with a ranging sensor. Is there any demo project for that ?Regards
'ai_layer_conv2d' {aka 'struct ai_layer_conv2d_'} has no member named 'in_ch_format''ai_layer_conv2d' {aka 'struct ai_layer_conv2d_'} has no member named 'out_ch_format' Also i am trying to run a object detection model in which i want to glows LEDs based on the position of the object on the screen based on the coordinates of bounding box. Can anyone help in that.
Hi everyone,I'm currently working on a project that involves implementing Edge AI using the X-CUBE-AI software package within STM32CubeIDE. After adding the AI model, which requires 44 bytes of RAM and generating the necessary code, We encountered a problem: one of the peripherals, specifically I2C, starts hanging after a while when interfacing with a sensor to obtain readings.Here’s a summary of the steps we've taken so far:Isolated the Issue: To determine if the hanging issue was related to the AI initialization, we commented out the AI functions from the main file. However, the I2C communication still hangs when waiting for a response from the sensor after some time.Sensor Exemption: We tried excluding the specific sensor to see if other sensors would work correctly. Unfortunately, the other sensors are also exhibiting the same hanging behavior.Peripherals in Use: Our project involves multiple active peripherals, including I2C1-3 and UART4-5.Additional InformationWorkspace Vers
X-CUDE-AI 9.1.0 Win11Analysis & Validating on Desktop, Passed.Validating ONNX model on NUCLEO F767zi (automated), Failed.Since this automated validation process cannot be intervened or debugged, it seems I can't do anything. Why this appears?Error here:[AI:network] Building project[AI:network] Generating project[AI:network] Temporary project loaded[AI:network] Temporary AI configuration done[AI:network] Generating temporary project code[AI:network] Building project[AI:network] D:/STM32CubeIDE/STM32CubeIDE_1.13.2/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.12.3.rel1.win32_1.0.200.202406191623/tools/bin/arm-none-eabi-gcc -c -mcpu=cortex-m7 -mfpu=fpv5-d16 -mfloat-abi=hard -DDEBUG -DUSE_HAL_DRIVER -DSTM32F767xx -D -IDrivers/CMSIS/Device/ST/STM32F7xx/Include -IDrivers/CMSIS/Include -IDrivers/STM32F7xx_HAL_Driver/Inc/Legacy -IDrivers/STM32F7xx_HAL_Driver/Inc -IInc -IMiddlewares/ST/AI/Inc -O3 -Wall -fdata-sections -ffunction-sections Drivers/STM32F7xx_H
Dear Support As I am trying to get familiar with the NAnoEdge AI Sudio, I tried the followed steps to setup a demo project:1. New project -> select the EVB(NUCLEO-F401RE) and Sensor(Accelerometer - 3 Axes)2. Regular Signals : Create a datalogger -> Select the EVB(F401RE + X-NUCLEO-IKS02A1: 3 axis, 25 Hz, range-8, samples per axis - 16) -> generate Data logger.3. Regular Signals: Add signal-> From File -> Choose the neai_datalog.bin which is generated in STEP#2 -> continue but with followed capture's error: problem detected on line(s) 5.6.7.8,xxx. Could you please guide how to go to next step for benchmark? RegardsXiao Kang
i need some assistance with modelzoo . so first of all . i converted a dataset to darknet using converter.py than i trained it using train mode i had a 2.6mo .h5 file then i quatized it to 600kb .tflite file. but when i tried to deploy it i had an error saying just exception "wrong" from compile.py file. so is there any assistances about this error and second of all i realized that despite modelzoo say that he can only deploy tflite models . there are some tflite models that he cannot deploy . ( i tried 4 different tflite models 1 was deployed and 3 did not) so is there any parameters or configurations i should know about in builiding my model(conditions to be respected) so my model can be compatible with modelzoo
私はNANOEDGE AI STUDIO内のData Logger Generatorを参照しました。現在ここに私が所有するB-L475E-IOT01A2(開発ボード)がありません。そこでB-L475E-IOT01A2で温度・湿度・加速度のデータ・ログを取得し、NANOEDGE AI STUDIOにて機械学習を実行したいと思っています。なお温度は内部温度センサを使おうと思います。そこでB-L475E-IOT01A2で使えるおすすめの湿度センサ・加速度センサを教えてください。また、内部温度センサ・湿度センサ・加速度センサのデータを取得するサンプルプログラムがありましたら教えてください。Translated to English by Community team with DeepL.com (free version)I have referenced the Data Logger Generator in the NANOEDGE AI STUDIO.Currently, I do not have my B-L475E-IOT01A2 (development board) here.So I used B-L475E-IOT01A2 to get data logs of temperature, humidity, and acceleration,I would like to use B-L475E-IOT01A2 to acquire temperature, humidity, and acceleration data/logs, and execute machine learning with NANOEDGE AI STUDIO.For temperature, I would like to use an internal temperature sensor.So, please let me know the recommended humidity sensor and acceleration sensor that can be used with B-L475E-IOT01A2.Please let me know.Also, please let me know if there is a sample program to
Hello, everyone! I'm learning to deploy my target detection model using cubeai. My model is trained using pytorch and I found that cubeai doesn't support .pth file conversion so I'm trying to convert my model to onnx format. Since the size of my model did not match the requirements of the development board, I performed a quantization operation. Noting that cubeai officially recommends quantization in onnx format, I did so. However, when I analyze the model with cubeai, the following error occurs (the model before quantization can be analyzed normally). Can anyone help me to see what's going on?
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.