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
Also the page doesn't tell you what are the terms of an education license. please clarify .
https://drive.google.com/drive/folders/1KY7U9Ef92gOSMCevfmXQiFQCkdfQ3rg8Lab03, I wasn't able to find build configurations. Please advice. Thanks
We are running X-CUBE-AI on an stm32F746 eval board (and a number of other stm32 eval boards). We are using version 7.1.0, 7.2.0, and 7.3.0, and using the generated source code for CubeIDE.We then pulse a GPIO whenever ai_mnetwork_run() runs, which would call the network's inference run function, and we use this GPIO pulse to know when to measure, for example, current draw on the board to measure power usage during inference.Anyway, my question is that in the source code in aiValidation.c, we see a definition for #if !defined(USE_OBSERVER) #define USE_OBSERVER 0 /* 0: remove the registration of the user CB to evaluate the inference time by layer */ #endif #if defined(USE_OBSERVER) && USE_OBSERVER == 1 #ifndef HAS_INSPECTOR #define HAS_INSPECTOR #endif #ifdef HAS_INSPECTOR #define HAS_OBSERVER #endif #endifwhere we can remove or not the INSPECTOR / OBSERVER which seems to observe the inference run for statistics.Does this observer add any extra time during the infe
Hi! I am doing some experiements to analyze the neural network model. The model I am using is the HAR model example. You can see here: https://github.com/ausilianapoli/HAR-CNN-Keras-STM32So I am doing some experiments regarding the quantization.First I convert the model to a tensorflow lite model bymodel = tf.keras.models.load_model('model.h5') converter = tf.lite.TFLiteConverter.from_keras_model(model) tflite_model = converter.convert()But when I want to use the dynamic range quantization model using converter = tf.lite.TFLiteConverter.from_keras_model(model) converter.optimizations = [tf.lite.Optimize.DEFAULT] tflite_model = converter.conveert() open("dynamic_model.tflite", "wb").write(tflite_model)I load the two model in STM32 X-Cube AI and use the "Analyze" function. I found that all the results are the same. These two models use the same Flash and RAM.I don't understand. I think for DRQ, the weights will be quantized, Can someone help me with this?PS. I also expeimented
I am trying to implement hello world application for microcontrollers but I have I have a card other than the suggested card (the card I have NUCLEO U575ZI Q AT2) I'm trying to do it using Cube.al, but I can't get a complete result and the errors I get are from the files created by cube.al in the platform h file. What can I do about it? and how to perform motion detection on STM32L4 IoTnode? I read the article and wanted to try it, but in the requirements section of the article, a different nucleo card is suggested than the one I have. Can I apply this project directly on my own card by following the steps in the article? If I can't, what changes and configurations do I need to make?
I'm working on a ML project with X-Cube-AI version 7.3.0 with the STM32F4DISCOVERY board. I created the neural network with tensorflow, and the analysis went smooth, the network occupies 25 kb of flash and 8 kb of ram.This is the neural network summary;Model: "sequential_8" _________________________________________________________________ Layer (type) Output Shape Param # ================================================================= conv1d_10 (Conv1D) (None, 28, 16) 1456 batch_normalization_49 (Bat (None, 28, 16) 48 chNormalization) conv1d_11 (Conv1D) (None, 28, 32) 1568 max_pooling1d_25 (MaxPoolin (None, 14, 32) 0 g1D) batch_normalization_50 (Bat (None, 14, 32) 96 chNormalization) conv1d_12 (Conv1D) (None, 14, 64) 6208 batch_normalization_51 (Bat (None, 14, 64) 192 chNormalization) conv1d_13 (Conv1D) (None, 14, 64) 4160 max_pooling1d_26 (MaxPoolin (None, 7, 64) 0 g1D) batch_normalization_52 (Bat (None, 7, 64) 192 chNormalization)
The ISM330IS product embeds a general-purpose core, a new ST category of processing, called ISPU (intelligent sensor processing unit). The ISPU is based on STRED architecture, a proprietary architecture developed by STMicroelectronics. Its optimized ultra-low-power hardware circuitry for the real-time execution of the algorithms is a state-of-the-art feature for any wireless sensor node from small equipment or accessories to enterprise solutions for Industry 5.0 (for example, anomaly detection, asset tracking, factory automation, and so forth). A toolchain allows developing in C code and loading any custom program in the core, with the only limitation being the available memory size of the program.The ISPU can be programmed with ST's NanoEdge AI Studio. This tool allows anyone to easily create powerful machine learning libraries with on-sensor learning. The machine learning libraries generated by NanoEdge AI Studio can be run only on a dedicated version of the ISPU available in the ISM
Hey,If I understand correctly, when using the validation, it will use the upload dl model and c-model to run the inference and then calculate the L2, RMSE, metrics. So I am wondering what the compiler for this is? Thanks in advance!
Good afternoon,May be I'm gonna to ask you a bad question. I want to know if it's possible to connect the F401RE with the steval mki207v1 without an IKS board.Thanks for your answers.Have a good day
I trained a yolov5 model and export it to .onnx model. Then use xcubeai to analyse it. But I get an error 'list index out of range'. What should I do?
..
Logs are attached. Board is STEVAL-PROTEUS1
I would like to upload 2 different ML models to the microcontroller and swap between which one I use for classification (within the microcontroller)However, the code seems only to generate the code for one model properly. Is this correct? or should it generate the code for both?Are there any examples of using multiple models?
I have been working on taking measurements with the STMH7 microcontroller and using the measurements with ML to make classification predictions. When I generate the code MX_X_CUBE_AI_Process(); is generated and placed at the end of the while loop. If I remove this process, as I do not want it to run constantly, my DAC which is with DMA does not work. I found a way around it to allow my DAC to work.I find that if I do not run MX_X_CUBE_AI_Process(); then my DMA that reads the ADC doesn't return the correct values and returns 0's. This was the same behaviour with the DAC where the DAC signal would drop to 0.Is the CubeAI designed to affect the DMA?I find that it needs to run ai_run(); for no errors to appear?Thanks
Hi, for now, the evaluation is accuracy, rmse, mae, l2r. But I'd like to evaluate my model by F1 score and recall rate. How to output these? Thank you!
I am trying to flash USB_webcam example from FP-AI-VISION1 pack on my stm32h747i-disco board by pasting the binary file in directly into the mounted device. I worked initially when the memory used to show as 2mb but now it is showing 6mb but usb_webcam is not getting detected. Why the memory shoot up to 6mb ? can anyone help me in debugging it. Will there be any files needed to be flashed to get the board to make it factory reset?
Dear ST engineers.When we purchase ST development boards (e.g., STEVAL-STLKT01V1, STEVAL-MKSBOX1V1, and B-L475E-IOT01), we can download the FP-AI-SENSING1 packages from the address below. AFAIK, currently, the ST vendor is releasing version 4.0.3.* FP-AI-SENSING1, https://www.st.com/en/embedded-software/fp-ai-sensing1.htmlI have one question to improve the usability of the ST boards (Especially, B-L475E-IOT01). I wonder if there is an official Github address that ST company is officially operating to maintain the history of FP-AI-SENSING1 package sources. If there is an official Github address, please contact us. Users of the ST development board can contribute their source codes such as bug fixes or performance improvements into the GitHub repository (e.g., fp-ai-sensing1, as a tentative name) while using the FP-AI-SENSING1 package source.I saw 468 repositories at the ST MicroElectronics github address below.However, out of 468 repositories, the repository for FP-AI-SENSING1 could not
Did you ever prepare a guideline like this one https://wiki.st.com/stm32mcu/wiki/AI:How_to_perform_motion_sensing_on_STM32L4_IoTnode but for ASC instead?I have my own two-classes NN, keras model and the B-L475E-IOT01.After replacing asc and asc_data files in the FP-AI-SENSING1 package, building failed with errors and warnings that mostly are not related to the different inferences.New ASC files are generated by the latest X-CUBE-AI and X-CUBE-MX but seem to be not compatible with the ones in FP-AI-SENSING1ThanksM
There are several threads concerning FFT's on a ST Micro based ARM processor. We're developing CNN based bearing failure detection. Multiple papers have indicated efficacy of wavelet transforms as a CNN input. Are there threads concerning implementation of FWT (Fast Wavelet Transform's) on a STM/ARM part?
Kindly help us rectify this error in network.c file
hi I have logged some data using FP-SNS-DATALOG1 and grouped the data into like 500 rows for NanoEdge AI Studio to train on, how do I place the trained lib into the project as the data out in the FP-SNS-DATALOG1 is different from what I trained the lib.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.