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
Could you please check if the attached .h5 model has anything wrong...It is not analyzing and always producing error...If anything is wrong... please correct it and resend pleaseAnalyzing model C:/Users/surya/STM32Cube/Repository/Packs/STMicroelectronics/X-CUBE-AI/10.0.0/Utilities/windows/stedgeai.exe analyze --target stm32h7 --name network -m C:/Users/surya/Downloads/updated_cnn.h5 --compression none --verbosity 1 --workspace C:/Users/surya/AppData/Local/Temp/mxAI_workspace1320364323860015601918210486046641 --output C:/Users/surya/.stm32cubemx/network_output ST Edge AI Core v2.0.0-20049 E010(InvalidModelError): Couldn't load Keras model C:\Users\surya\Downloads\updated_cnn.h5, Error when deserializing class 'InputLayer' using config={'batch_shape': [None, 128, 1], 'dtype': 'float32', 
Some errors occurred during the model conversion process. I have provided my model file below. Cube-AI report :NOT IMPLEMENTED: Gemm with channel first A input is not supportedIt seems to be caused by an inability to handle the transposed data, but how do I resolve this issue? Or is the transpose operator unusable?
ST Edge AI Core v2.0.0-20049 NOT IMPLEMENTED: Order of dimensions of input cannot be interpreted
I am looking for example code or documentation to better understand how to integrate a custom model using ST Neural Art library build on STM32IDE. Any pointers to a codebase or relevant references...While working in the ST Developer Cloud, I noticed that the project build file and .ioc file are disabled. How can I proceed with building the code in my local IDE? Is there an alternative setup or a way to generate these files to make the build process smoother?correct me If i am wrong i am new to ST Neural Art library....
I used the N6 to run the mobilenet_v1_0.25_224_fft_int8.tflite, input is correctly put into the input buffer, memory map activated, NPU RAM enabled, AXICACHE enabled, everything seems to be right, the input I also test the input inside the PC in python, and the model can output things right.I dot know why, but in some steps it either jumps in to HardFault_Handler (if I directly start the debugging process without any break point)or runs everything right (using some breakpoints inside the runtime and network.c) but outputs are all Nansdo you have any ideas how I can fix them ?
Hello STM community, we have been developing our projects on a custom pcb with an stm32h723vet6 for the past few weeks and have come upon a problem/bug? with the x-cube-ai. Our Project takes data via an adc, runs it trough a neural network and is then supposed to send the results via ethernet, all this in freertos. All the parts seperatly work just fine. However in the ethernet project, if we jsut enable x-cube-ai 8.1 or 9.0, or any other version, lwip stops working. For our lwip proof of concept we followed this tutorial https://community.st.com/t5/stm32-mcus/how-to-create-a-project-for-stm32h7-with-ethernet-and-lwip-stack/ta-p/49308, which worked just fine after some modification. We had to place the lwip heap at 0x24000000 because the ioc file says so. This replys to arp request, is pingable an all around just works, however as said once we just activate x-cube-ai, not even input a model, none of this works. anymore. After some debugging we believe it to b
I have provided my ONNX model, which has been tested. INTERNAL ERROR: H not found in shape with shape map (BATCH, CH, W)
Good day, preparing to an online workshop I am trying to install prerequisites. However the component en.stedgeai-stneuralart-10.0.0.zip does not install, STM32CibeIDE says: "This file is either corrupted or not a recognized package.". Regards,Dmitry
Hello @Julian E., I have the same questions as @Anhem (Solved: How to use custom AI model for Stm32n6570? - STMicroelectronics Community) and a additional question regarding the compatibility of X-CUBE-AI version 10.0.0 in STM32CubeMX with the Cortex-M55 processor in the STM32N6. This version explicitly mentions support for Cortex-M7, M4, M0, and M33 cores but does not reference the Cortex-M55. Could this be an issue for development on the STM32N6 ? I have reached the build and flashing stage of my project, but STM32CubeIDE does not recognize my STM32N6 project. Thanks in advance for your help.
Im trying to deploy an audio detection model i trained and developed using yamnet onto the B-U585I-IOT02A board that differentiates between normal and abnormal machine sounds. I am trying to implement the AI on stm32cubeide but dont know how to do it. I saw a freertos guide or something but dont really know how to implement or use it?
I am getting this error when trying to optimize my tensorflow .tflite sound detection model. Error while generating optimized file. Generation does not contain any output
Hi,I am using STM32G0B1RE with the ISM330IS sensor, I just want to understand the procedure of loading a program into the ISM330IS ISPU memory, after compiling my algorithm I have the SREC binary format, what should I do next ? from what I understand I need to let the host device to load the program into the ISPU, so I am thinking of copying the SREC data into a buffer then loading the program to the ISPU program RAM, so on every power cycle the host needs to load the ISPU program before starting fetching data is that correct ?
Hello everyone,I am currently experimenting with X-Cube-AI with a NUCLEO-G474 (because i get some weird errors with NUCLEO-N6 [N6 Post] ). I am trying to run a very simple network with the validation application. I have some Questions which i have not been able to answer myself regarding X-Cube-AI.I first tried to print something to my pc console. I used UART with the function HAL_UART_transmit. This works fine.Then i want to do the same with the X-CUBE-AI package in use. The first thing i see is that syscalls.c is removed from the core folder and moved into X-Cube-AI/app. In app_x-cube-ai.c in MX_X_CUBE_AI_Process() ->aiValidationProcess() i found the function LC_PRINT which also uses HAL_UART_transmit. But i cant see nothing in my terminal.I am not sure what i did wrong. Can someone help with this problem?
Hi, Every time I click on the AI model, my clock tree is forcibly changed, and the external clock is also changed for me.
Hi @Julian E. , I want to change the Hue, Saturation, and Brightness of the B-Cams OMV camera all at once while running the image classification application code from the Model Zoo. However, when I run my code, only the last value gets captured and reflected on the board. For example, if my code is void Camera_StartNewFrameAcquisition(AppConfig_TypeDef *App_Config_Ptr) { App_Config_Ptr->new_frame_ready = 0; Camera_Set_HueDegree(App_Config_Ptr->mirror_flip); Camera_Set_Saturation(App_Config_Ptr->mirror_flip); Camera_Set_Brightness(App_Config_Ptr->mirror_flip); /***Resume the camera capture in NOMINAL mode****/ BSP_CAMERA_Resume(0); } Only the Brightness gets changed and not Hue or Saturation. I've made changes to the apps_camera.c only as shown above. I've also included a copy of the version I'm using. I would really really appreciate if anyone can guide me on how to change all three features at once. I am very desperate.
Hi Supporter: I attempted to train a model using NanoEdge AI Studio,Some errors occurred! first,I create a NC-class project (ps:I haven't connected the development board. I'm just using the computer for simulation.) add signal benchmarkWhen I clicked "Start," the screen stuck on this page and stayed there all day, only to be closed through the task manager.What's the problem?
Hello everyone,We encountered a problem while setting up our benchmark on NanoEdgeAI.When we want to select the signals, we don't have a "Select All" button.So we have to manually select all the boxes. The problem is that we have over 4,000 signals to select, which is tedious to do by hand.So I'd like to know if there's a way to select everything so we can run the benchmark?Thank you for your help!
Hello,I am currently working on STM32N6570-DK. I want to create static library from files inside of Application layer and then I will create user memory and code section inside of my project. Therefore, users will develop their own graphic and I/O configurations for product.When I created new N6 project, I can not enable static library option. Hence, my questions are:1) Can I use static library inside of N6 project?2) Can I create static library for N6 as other mcu groups?Best Regards,BK
I'm using Nucleo Board N6570X0-Q. 2 Problems:1. the linker file can not automatically store parameters of the ai model to the on board flash?I configured the flash (I think with the right configuration in XSPI2 for the Flash), but the generated ld file doesn't put ai model parameters inside the flash as the examples from the DK board(In DK board they are stored inside the PSRAM). What should I do? or it is all right just to use the default ld file? (my AI model is also rightly analyzed and used the Neutal ART runtime)My ld file looks like this, which doesnt seem to be able to cover all the data of a AI model./*********************************************************************************** @file : STM32N6XX_AXISRAM2_fsbl.ld**** @author : GPM Application Team**** @brief : Linker script for STM32N6XX Device from STM32N6 series** 512 KBytes RAM**** Set heap size, stack size and stack location according** to application requirements.**** Set memory bank area and size if external mem
Could Anyone please help me with the Example application where MDK-ARM toolchain is used to build the application using ST Neural-ART accelerator™. I have STM32N6570-DK evolution kit and I'm trying to develop a prototype for KWS usecase. We have already used the example project provided for STM32CubeIDE with GCC compiler to get started. But, there are no .IOC file is available to modify the example code to develop other use cases. Also wanted to know, what if I build the application that uses ST-Neural-ART accelerator with MDK-ARM would it be able to take advantage of Arm compilor, or such applications can only build with STM32CubeIDE. If it can be build with MDK-ARM, Please provide the example reference so we can finalize the chip for our production.
I want to perform transfer learning on yamnet model zoo to train the model on mimii dataset to categorize normal and anomalous machine sounds. how do i do that?
Hi, I want to download the demo code which was already in the STM32N6570-DK board when I bought it. But I can't find it anywhere. Kindly help me in this matter.
I have this board with STM32L4R9 and I used CubeMX and Unico-GUI tools to generate a decision tree for MLC in .ucf format. I used a python script to convert this to C uint8_t array as follows: const uint8_t lsm6dsox_ucf[] = { 0x10, 0x00, 0x11, 0x00, 0x01, 0x80, 0x05, 0x00, 0x17, 0x40, 0x02, 0x11, ... };In the generated main function I use my function to upload this array to MLC: void lsm6dsox_load_ucf_via_spi() { size_t ucf_size = sizeof(lsm6dsox_ucf) / sizeof(lsm6dsox_ucf[0]); for (size_t i = 0; i < ucf_size; i += 2) { uint8_t reg = lsm6dsox_ucf[i]; // Register address uint8_t value = lsm6dsox_ucf[i + 1]; // Register value lsm6dsox_spi_write(reg, value); HAL_Delay(10); } HAL_Delay(10); } void lsm6dsox_spi_write(uint8_t reg, uint8_t value) { // The first byte is the register address (with MSB cleared for write). uint8_t tx_data[2] = {reg & 0x7F, value}; // Pull CS low to select the sensor HAL_GPIO_WritePin(CS_LSM6DSOX_GPIO_Port, CS_LSM6DSOX_Pin, GPIO_PIN_R
I want to train one of the pretrained AI models (lets say i choose yamnet), on my own data. I want to use mimii dataset which consists of different industrial equipment sound files in .wav format in normal working condition and anomalous working condition. I only want to test on valve type sound so only two classes normal and anomalous sound type are needed. How do i convert the format to esc-50 format as said in the tutorial, i see that there are .csv files as well as .wav files in the esc-50 dataset.
I have followed the model zoo github tutorial to train, quantize and deploy an Audio Event Detection model. I used the available yamnet-256 and followed the tutorial to the end of deployment. I manage to get successful deployment but when I connect the B-U585I-IOT02A board, and open putty and connect via serial, i get this on putty:Network informations...model name : networkmodel signature : 0x80e2ec0fd41896ad70099555488edefdmodel datetime : 2025-03-12T18:36:47+0800compile datetime : Mar 12 2025 18:37:57runtime version : 10.0.0tools version : 2.0.0complexity : 23932020 MACCc-nodes : 21map_activations : 1[0] (1,1,1,112196)112196/u8 Q8.0 @0x20017480/112196map_weights : 1[0] (1,1,1,139176)139176/u8 Q8.0 @0x80201E0/139176n_inputs/n_outputs : 1/1I[0] (1,64,96,1)6144/i8 1:(0.053046,44), @0x20028180/6144O[0] (1,1,1,10)10/float32 @0x2001748C/40--- Start Processing ---It stops at start processing, when I play the audio files from ESC-50 dataset, nothing happens. Am I supposed to perform some co
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.