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 was working with NEAI and saw these constraints mentioned in the wiki:General considerations for input file format:.txt / .csv filesNumerical values only, no headersUniform separators (single space, tab, comma, or semicolon)Decimal values formatted with a period (.)Fewer than 16,384 values per lineConsistent number of numerical values on each lineMinimum of 20 lines per sensor axisFewer than ~100,000 total linesFile size less than ~1 GbitWhat is the reason for these constraints and are these strictly enforced? Is there any issue if I don't follow these?
The free online platform (formerly named STM32Cube.AI Developer Cloud) now supports MPUs and smart sensors in addition to MCUs. It also supports AI hardware acceleration (NPU) on compatible devices. Leveraging the ST Edge AI Core technology, the tool allows you to bring your own model or select one from our model zoo, optimize it, and run benchmarks remotely on real ST boards to identify the ideal platform for your project. This tool is also part of the recently introduced ST Edge AI Suite. Check it out here!
I am trying to integrate the a neural network machine learning model into the stm32h755 chip. I downloaded the stmCubeMx, installed X-Cube-Ai, selected the core, added the network using tflite file and then generated the code. I can't find the ai_model_data.c, ai_model_data.h, ai_model.h and some other important files. Could you please provide a detailed steps by step process to integrate the Neural Network in an ALREADY created/ EXISTING project?
I'm a senior student majored in AI before and recently bought an STM32H743VIT6 to experiment with Edge AI. I haven't had any experience with embedded systems before. My ports seem to be missing, but CubeProgrammer successfully found my device through USB and allowed me to flash it.How strange it is! My classmate mentioned that I need try an ST-Link, but I'm not entirely sure.It may be a very simple question but I don't know anything about Stm32H743VIT6 and how to start.By the way , there are lots of requires about models on stm32.Most of the ONNX models I used to developed during my four years of university even can't be analysed ,made me very upset because of these requires.I almost lost my confidence in embedded systems and AI. :(
Hi, I am using STM32F746G Discovery Board to deploy an object detection model to detect person in an image. The model size of the object detection model is less than 1Mb. The implementation would be like to make an inference in the microcontroller like access the jpg images in the sd card (since i dont have a camera module) and display it in the LCD together with its prediction like bounding boxes on the image in case there is a person in it. I used the STM32Cube MX and enabled XCUBE AI then upload the pre trained model which is the ssd mobile net v2 but I am having trouble making the configuration for displaying image, accessing files in sd card, decoding the jpg images from the sd card in STM32Cube MX land I also don't know how to use the XCUBE AI application template like the methods ai_run(), acquire_and_process_data(ai_i8* data[]) and others.
I am testing a tflite model on the ISPU, using the following hardware:NUCLEO-F401RE + X-NUCLEO-IKS4A1I downloaded the x-cube-ispu repo and imported the template_stedgeai example to STM32CubeIDE. Finally i generate the network library with: stedgeai generate --target ispu --no-workspace --no-report -m /path/to/model.tflite --output . Everything works perfectly fine with networks under 3000 kB. If the network has over 3000 parameters (quantized to int8) I get:ispu_stedgeai.elf section `.rodata' will not fit in region `ROM'region `ROM' overflowed by X bytesThe 3000 sounds way too small as the ISPU has 32kB of ROM. Is there something I need to do in order to enable bigger models sizes or am I doing something wrong?I attached the output of the "stedgeai generate" and my main.c for context. The output from the file, gave: "region `ROM' overflowed by 2596 bytes" when building in STM32CubeIDE.
Hello there,I'm using stm32h747i-DISCO board, and running object detection demo from model-zoo. Now i want to add Ethernet functionality with the demo. I have some questions for the same, as below...Q1) there is only one linker script in object detection project : STM32H747XIHx_CM7.ld. It's for RAM or FLASH ? how it's running with one .ld file ?Q2) I have enabled the Ethernet in individual project, in which CUBEmx showing the warning.In linker script "RAM_D1" is there at 0x24000000.In object detection project, At 0x24000000 address "AXIRAM" is there...and some Image_Buffers are stored in the same.Then, how can i make space for Ethernet (LwIP + mqtt)?which memory should be choose for the same ?Please guide us for the same, And please share any guide for memory utilisation for AI (model-zoo), how to decide which buffer should be placed in which memory.Thanks and regards Ishan
Hi,1) I Am currently exploring the capabilities of NanoEdge for a project involving multiclass classification, and I am eager to learn more about the specific machine learning algorithms utilized within the NanoEdge framework. I feel as though I am using a black box to generate the model, and I would like to know if it is possible to make optimizations during the learning step.2) After generating the model, I used the time.h library to compute the inference time of the model in STM32CubeIDE by creating a timer before and after calling the neai_classification function. However, the result is always 0, even though the model produces the correct classification results. This may be because the inference time is very small. Are there other solutions to accurately measure the inference time? Thank you very much for your help
I am lost in the maze of documentation for AI features at STM. I have access right now to:STEVAL-MKBOXPRO (SensorTile.box PRO)Custom board with LSM6DSV16XI want to:gather IMU data to train the modeltrain the IMU device decision tree classifier (3 class)deploy it ultimately on the custom board, but the MKBOXPRO is also acceptable as a target for nowMy background is in data science, so the 'AI' part I understand. My embedded programming and hardware design knowledge is decent but still beginner level compared to most people here.So far:Unico-GUI - doesn't work on the mkboxpro?MEMS studio doesn't have a data collection feature like Unico? And I'm having connection issues, although I suspect I'll figure that out soon enoughApps for mkboxpro on phone don't seem to look like they do in the documentation, perhaps due to it not being in Pro modeThere's yet another tool called STEdge AI Core which I haven't explored yet but seems to overlap with the othersThe simplest path I see right now
1. Is there a ucf file or setup description for touch or swipe ? 2. The power consumption seems very high for touch and swipe. Using the adapter board and Unico, with just the accelerometer and qvar running at 200hz low power mode, its about 13uA. I can see the qvar data plot working correctly but without the configuration of the mlc or fsm for touch. However, when touch is configured using the "Set Touch Detection Configuration' button, its running at about 52uA for touch and about 36uA for swipe. Does the mlc and fsm really use that much power for touch? Or are there some issues with the ST dev board in this scenario? Would setting the mlc odr lower help ? (but I'd need a way to reconfigure the mlc config, hence the need for the ucf or description)
Dear STM,is there a way to avoid the installation of a new version of NanoEdge AI when a new version is available ?Or maybe to pospone the installation ?When a new version is available I got a dialog Win like the one below, if I click on Exit then the app closes itself, if I click on Download then the application downloads the new version and it tries to install the new version. Unfortunately, based on specific company policies, I haven't the Admin priviledeges to install every new version when it becomes available. thanks Max
INTERNAL ERROR: object of type 'NoneType' has no len()
I bought a STM32MP257F-EV1 board, but on the board UM, I can not find any description about AI/NN, I checked the STM32MP257F data sheet, it does support the AI/NN, so I am confused, if I can deploy the AI model on the EVB?
I'm working on a mobile app that involves image processing and I'm considering using an STM32 microcontroller. Does anyone have experience with optimizing these for image editing tasks? I've been exploring photo editing apps like Meitu and would love to hear how similar capabilities can be achieved with STM32. Any insights would be helpful!
Hello,I am trying to run an Edge Impulse machine learning model for audio detection using STM's IMP34DT05TR microphone and the STM32G473VET6 microcontroller.I have imported the Edge Impulse C++ library, but I am encountering issues during inference such as 'Failed to run DSP process' and 'Failed to run classifier.'Can someone help with the steps required to successfully run the ML model, including interfacing the microphone and troubleshooting these errors?Any help is much appreciated!Thank you!
Hi, I have trained an .onnx model, using only conv1d, conv1dtrans and relu layers. But when I put it in the ST Edge AI Developer Cloud, the it has TOOL ERROR: tuple index out of range. The model structure is shown below, and please find the .onnx file in the attachment. Jinchen.
Hello,I am currently working on validating a machine learning model that I have deployed on an STM32 microcontroller. While the model successfully runs on the STM32, the results it produces differ significantly from those obtained when running the model on a computer.Additionally, when I attempt to perform validation on a desktop environment, I encounter the following error: E103(CliRuntimeError): Unable to generate the "libai_network" library.Since the website could not accept the .tflite file, I have attached the picture of the structure of the model. The model was trained using TensorFlow 2.17 and utilizes approximately 75KB of flash memory and 15KB of RAM.I would greatly appreciate any guidance or assistance in resolving these issues.Thank you!
Bonjour, Je rencontre une erreur lors de la génération de la bibliothèque pour mon modèle de réseau de neurones dans X-CUBE-AI. L'erreur est la suivante : E103(CliRuntimeError): Unable to generate the "libai_network_1" library J'ai suivi les étapes suivantes :1. Importé le modèle TFLite et puis l'analyse du modele est validéle fichier network_data.c ne contient pas le reseau de neurone , voici son contenu : /** ****************************************************************************** * @file network_data.c * @author AST Embedded Analytics Research Platform * @date Mon Jun 24 23:40:55 2024 * @brief AI Tool Automatic Code Generator for Embedded NN computing ****************************************************************************** * @attention * * Copyright (c) 2024 STMicroelectronics. * All rights reserved. * * This software is licensed under terms that can be found in the LICENSE file * in the root directory of this software component. * If no LICENSE file comes with t
Hello there,I have STM32H747I-DISCO and ov5640. Can i use ov5640 for model-zoo ? If yes what changes are required ? I'm following repo : https://github.com/STMicroelectronics/stm32ai-modelzoo/tree/mainI have already installed the "requirement.txt"How can i flash and run object detection pre-trained model example ?Thanks and Regards,Ishan
Hi, We put our network onnx into X-Cube-AI but it is not pass the test. it shows the following error message: Analyzing model.:/Users/DELL/STM32Cube/Repository/Packs/STMicroelectronics/x-CuBE-Al/9.0. 0/Utilities/windows/stedgeai.exe analyze -target stm32h7 -name network2-mC:/Users/DELL/Desktop/mathfunction model 1.onnx--compression none--verbosity1allocate-inputs --allocate-outputs --workspace c:/Users/DElL/ApData/Local/Temp/mAI workspace2837949619220009026241954990433454utput C:/Users/DELL/.stm32cubemx/network outputSTEdgeAl Core v9.0.0-19802TOOL ERROR:tuple index out of rangeSo how to fix this error?Thanks!Here is the network structure.
I have written my neural network code and converted it into C language code using STM32CubeMX AI tool. I copied the generated three source code (Network. c, network_data.c and Network_data_ams.c) and the relevant header files into my original project. Compile successfully without error message. However, after downloading my code to my hardware device, I failed to initialize AI by using msh command, ai_error_type:51, ai_error_code:65. Here is the relevant AI execution code I added with the msh command. /* Global handle to reference the instantiated C-model */ static ai_handle network = AI_HANDLE_NULL; /* Global c-array to handle the activations buffer */ AI_ALIGNED(32) static ai_u8 activations[AI_NETWORK_1_DATA_ACTIVATIONS_SIZE]; AI_ALIGNED(32) static ai_float in_data[AI_NETWORK_1_IN_1_SIZE]; AI_ALIGNED(32) static ai_float out_data[AI_NETWORK_1_OUT_1_SIZE]; /* Array of pointer to manage the model's input/output tensors */ static ai_buffer *ai_input; static ai_buffer *a
I create a model in ONNX (in attach file)I am unable to "Analyse" the model in X-Cube-AI Ver 5.1.2. All I get is an "INTERNAL ERROR: tuple index out of range" message
How to do benchmarking of YOLO model on stm32 platforms. Ritesh
23:46:18 **** Incremental Build of configuration Debug for project Ai ****make -j4 allarm-none-eabi-gcc -o "Ai.elf" @"objects.list" -Wl,--start-group -l:NetworkRuntime512_CM4_GCC.a -Wl,--end-group -mcpu=cortex-m4 -T"C:\Users\DCL\STM32CubeIDE\workspace_1.12.0\STM32F401RETX_FLASH.ld" --specs=nosys.specs -Wl,-Map="Ai.map" -Wl,--gc-sections -static -L../Middlewares/ST/AI/Lib -L"C:\Users\DCL\STM32CubeIDE\workspace_1.12.0\X-CUBE-AI\App" -mfloat-abi=hard --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -u _printf_float -u _scanf_float -Wl,--start-group -lc -lm -Wl,--end-groupc:\st\stm32cubeide_1.12.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.10.3-2021.10.win32_1.0.200.202301161003\tools\arm-none-eabi\bin\ld.exe: error: Ai.elf uses VFP register arguments, C:\Users\DCL\STM32CubeIDE\workspace_1.12.0\X-CUBE-AI\App\NetworkRuntime512_CM4_GCC.a(ai_platform_interface.o) does notc:\st\stm32cubeide_1.12.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.e
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.