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
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
I’m using X-Cube-AI Toolbox 9.1 to realize Vision Transformer deployment but got stuck. I exported from torch using ONNX opset=15. I then used onnx2tf to convert ViT to .tflite format, which is obviously a valid model as shown in Netron. 1.When I’m trying to analyze it in .tflite, there popped up an error says “BATCH_MATMUL not supported.”2. Without conversion, analyzing .onnx model popped up something like “tuple has no method get_shape” and failed.3. I further converted it to .keras and .h5, but .keras says: Unable to load the file, and then the whole CUBE IDE got stuck and expects a restart. Meanwhile .h5 only says something like the Length is four.All of the trials above deploying ViT model failed with only a single line of error note during model analysis. So I have the following questions:A) I tried to unroll the matmul in FOR loops, but unfortunately LOOP operator is also not supported. B) I think one important thing is that the scaled dot product attention
Hi, I am currently working with the STM32 H747I-DISCO board, which uses the MB1166-A09 LCD daughter board. I attempted to update the driver by following the instructions from this resource: https://wiki.st.com/stm32mcu/wiki/AI:How_to_perform_people_counting_using_FP-AI-VISION1_and_STM32H747XI#Driver_update_-28required_only_when_using_MB1166_version_A09-29 Despite following the steps, I am still experiencing a noisy display when running the people counting project in STM32CubeIDE. Could someone please provide guidance on how to resolve this issue?
I am running a model which uses batch_matmul though the batch_matmul is already defined why am i getting such error.
Hello, this is a Stm32h747i-disco user.https://www.digikey.kr/en/maker/projects/tinyml-getting-started-with-stm32-x-cube-ai/f94e1c8bfc1e4b6291d0f672d780d2c0I'm trying to study using the sine model example in the link above, but x-cube-ai 5.1.2 is not confirmed.What is the reason?
I've successfully implemented a small machine learning model on the STM32F303ZE, and it's working well so far. However, I’m curious about the maximum size of the model that this microcontroller can handle. Has anyone experimented with larger models on the STM32F303ZE? What are the limitations in terms of model size, and at what point should I consider switching to another board?
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.