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
Hello ST Community,I'm working on a Predictive Maintenance project using FP-SNS-DATALOG2 to capture real-time sensor data from my STWINBX1 (STEVAL-STWBXCS1A). Here’s my workflow so far:Data Acquisition: Captured sensor data using HSDatalog_GUI.Format Conversion: Converted data to NanoEdge CSV format using " hsdatalog_to_nanoedge.py ".NanoEdge Processing: Uploaded the converted data to NanoEdge AI Studio and successfully downloaded a benchmark.Model Training Issue:I connected my board via USB-C and STLINK-V3MINI (otherwise, my PC and NanoEdge wouldn’t detect it).My STLINK is properly recognized on COM3.However, when I try to train the model, NanoEdge AI Studio does not recognize the board—it detects nothing.Has anyone encountered this issue before? Could it be a driver issue, a missing configuration, or something else? Any help would be greatly appreciated!Thanks in advance!@Andrew Neil @SimonePradolini
HI everyone, I have recently bought a STM32N6570-DK and I am trying to follow this tutorial to try and implement an example model on my board. I am able to get results and good benchmark but when I go to Generate Your Project I am unable to download anything. It doesn't show any option to download the files. I believe it have been should be something shown like this in the videoKindly help me in this regard.
Hello, I have the STEVAL-MKSBOX1V1 devkit - https://www.st.com/en/evaluation-tools/steval-mksbox1v1.html# Where can I find the default firmware? I tried flashing BLEDefaultFw.bin binary from fp.sns-stbox1 project but the MCU halts after flashing, I'm trying to set it up so I can record MLC data from LSM6DSOX and program a custom application with this data for motion detection. Which firmware do I flash to get the original application to show in ST BLE Sensor mobile app?
Hello!I'm having the exact same issue than the one described here: https://community.st.com/s/question/0D53W00001YbCCCSA3/invalid-initializer-and-initializer-element-is-not-constant-errors-in-stmcubeai?t=1662110397892Wrapping ai_network_params inside a function didn't solve the issue, and also it doesn't make much sense.OP suggests to adjust settings for the compiler and linker. Anyone can give some guidelines on how to do this properly without breaking anything, or knows any workaround?Thank you in advanceRegards!
Hello STM32 Community,I am working with an STM32 project using NanoEdge AI Studio, where I’ve trained models based on data from several sensors and deployed them to my STWINBX1 for anomaly detection. The models have been successfully integrated into the STM32 code, and I’m looking to send notifications or real-time data regarding whether the behavior is "normal" or "abnormal."My question is: how can I communicate this data (such as "normal" or "abnormal") via Bluetooth? Specifically, I’d like to use the Android ST BLE Sensor app to monitor and receive notifications from the STM32 device. Is this feasible? If Bluetooth is not the best option, I am also open to alternatives like Wi-Fi. How would Wi-Fi work in this scenario, and what steps should I take to implement it?Any help or guidance would be greatly appreciated!Best regards,@SimonePradolini
Hello!I'm getting the error when I analyze an ONNX model using ST Edge AI Developer Cloud : NOT IMPLEMENTED: ReduceSum with operands type (SIGNED, 32 bit, C Size: 32 bits) is not supported. I have tried to convert the float32 data to float16, but it is not supported (TOOL ERROR: Unsupported elem type FLOAT16 for tensor Cast_1_output_0). The model was attached below. The model was generated in Pytorch, and the MCU was STM32H753VIT6. I'd like to know if anyone has had this problem and how it was resolved?I would appreciate it if anyone could help to figure out what could be the problem. I attach my model below in case someone can help me. Thanks in advance. Regards!
Hi,I have tried to analyse various model using Cube AI 10.0, installed via CubeMX 6.13.0 on macOS 14.3. But getting this error on the terminal: 2025-02-12 21:19:31,007 [INFO] AInterface:254 - ModelName:network; files:[/Users/alassaneseck/mobilenet_v2_0.35_128_without_classification_head_int8_float32.tflite]; type:TFLite; compression:Low Exception in thread "Thread-8" java.lang.NullPointerException: Cannot invoke "com.st.microxplorer.plugins.ip.ai.model.AIAdvancedSettingsData.isNoOnnxIoTranspose()" because "this.advancedSettings" is null at com.st.microxplorer.plugins.ip.ai.backend.AInterface.buildCommandCall(AInterface.java:507) at com.st.microxplorer.plugins.ip.ai.backend.AInterface.analyze(AInterface.java:264) at com.st.microxplorer.plugins.ip.ai.gui.AIFinderFilterUI$10.run(AIFinderFilterUI.java:422) at java.base/java.lang.Thread.run(Thread.java:1583) Anyone ever seen this. Sorry if this has been asked before, I am relatively new here. Many thanks
Im doing a proof-of-concept on trying to run a model on the STM32N6 that does object-detection. For this, Im following this guide: https://github.com/STMicroelectronics/stm32ai-modelzoo-services/blob/main/object_detection/src/training/README.md 1. `!git clone https://github.com/STMicroelectronics/stm32ai-modelzoo-services.git` 2. `!pip install -r stm32ai-modelzoo-services/requirements.txt` 3. Im using a Pascal VOC XML dataset which Im converting using the provided scripts with the different config files as attachment in a zip-file 4. `!python converter.py --config-name dataset_config_train.yaml` 5. `!python converter.py --config-name dataset_config_validation.yaml` 6. `!python dataset_create_tfs.py --config-name dataset_config_tfs.yaml` 7. `!python stm32ai_main.py` This gives the following error (full stacktrace as attachment): `ValueError: Can't convert Python sequence with mixed types to Tensor.`. As I believe Im following the steps correctly, Im unsure what Im missing
I am using the NUCLEO-H7S3L8 board, with CubeAI 9.0.0 through ST Edge AI Developer Cloud, using the STM32CubeMX .ioc file, the building has no errors, but when I press the RESET button on the board, I get the following message through the COM port.The NN model in *.tflite format that I am using, is the one obtained from the repository:https://gist.github.com/ShawnHymel/79237fe6aee5a3653c497d879f746c0cI have also tried to do it with STM32CubeIDE manually, but I get the same error through the COM port. How can I correct it, am I not using the right card, and if so how do I get to identify a suitable card? Thanks in advance.
Hi, im having issues with NEAI Studio. I was able to craete a project, add signals but when running the benchmark I get an error message that benchmarking was not successfull. In the log I see a lot of this error messages:optimizer ERROR T20* - An error occurred in neai lib due to Error in qualif, return code: 53Regards Max
Dear STMicroelectronics Support Team,I am currently working with the STWINBX1 kit and the STEVAL-STWBXCS1A, and I have been using the FP SNS DATALOG2 firmware, specifically the hsdatalog_GUI, to capture data from my sensors. While I can successfully capture the data, I am encountering an issue when attempting to export it.The data is being exported as figure (PNG) files, and I am unable to export it to CSV format, which I need for further analysis in NanoEdge AI Studio. Unfortunately, I have not found any option to export the data in CSV format through the HSD Python SDK, nor does the hsdatalog_GUI provide a clear way to do so.Could you please provide guidance on how to export the sensor data to CSV format? Is there any functionality or workaround in the software tools or firmware that allows for exporting data directly into a CSV file?Your assistance in resolving this issue would be greatly appreciated, as I am ready to move forward with my analysis and need the data in a compatible f
I have connceted my STM32 F446Re via USB to my laptop. In pinout and configuration in connectivity I have choosen USART2 (baud rate 115200).For the connected STM32 via usb I have also setted baud rate to 115200 (device manager ->port settings)for deploying my deep learning model in validation on target , I am getting this error ''LOAD ERROR: STM32 - read timeout 50062.0ms/50000ms"How can I solve it?This is my first time in STM32.Please help me
I have useed TensorFlow Version 2.18.0 and keras version 3.8.0 to design and train GRU Model. The GRU model was analysed with X-Cube-AI 10.0.0. The error results are in the picture above. Please help me sort the problem. Thanks.
I am producing two different models on STM32CubeIde on STM32CubeIde. I want to use two different networks by using Multi network functions in app_x-cube-ai.c file but I was not successful. Is there a document or sample code about this? uint8_t init_multi_network(void){if ((error = ai_mnetwork_create("onnx", &onnx_, NULL).type) == AI_ERROR_NONE){if(ai_mnetwork_init(onnx_)){p_ai_input = ai_platform_inputs_get(onnx_,NULL); // !!!!!!!ai buffer get function is not returning valid value, returning zero}}else{}; return 0;};
Hello!I'm getting the error: 'TOOL ERROR: list index out of range' when I analyze an ONNX model using STM32CubeAI or ST Edge AI Developer Cloud. The model was generated in Pytorch, and the MCU was STM32H753VIT6. I'd like to know if anyone has had this problem and how it was resolved?I would appreciate it if anyone could help to figure out what could be the problem. I attach my model below in case someone can help me. Thanks in advance. Regards!
Do we need to use stm32 ODE hardware every time fro programming the ISPU?. If no, how can i flash the program in to ISPU?. Since ISPU have 40 kB RAM do we need to write program every time in to RAM while booting ?https://www.st.com/content/st_com/en/campaigns/ispu-ai-in-sensors.html
I'm trying to convert the BirdNET-Analyzer (https://github.com/kahst/BirdNET-Analyzer/tree/main) model to run on a STM32U5A5. However, both the TFLite and STM32Cube.AI MCU Runtime fail.The TFLite runtime fails with: Operator REDUCE_MIN not supported The STM32Cube.AI MCU Runtime fails with: INTERNAL ERROR: Invalid size_splits configuration: [1 1 0] As I'm by no means a ML expert, I was wondering how to fix these conversion issues. I've tried to convert the TF SavedModel (.pb) to a .tflite model with the TFLiteConverter in python with the following enabled: converter.target_spec.supported_ops = [tf.lite.OpsSet.TFLITE_BUILTINS] However, this gives no warning and converts the model with a REDUCE_MIN operation. I haven't been able to find any information to mitigate the STM32Cube.AI MCU error. I'm on the latest STM32Cube.AI package in CubeIDE (v10.0.0) and Tensorflow V2.18.0. Any help is very appreciated!
Hi @matteo_ronchi I am using the STEVAL-MKBOXPRO development board with the FP-SNS-DATALOG2 software V2.2.0, and i already checked that i have all the right versions of st_pnpl v2.3.0 st_dtdl_gui v2.3.0 st_hsdatalog v3.3.0 However, i am still getting the message "Device Template Model Loading". Do you have any other recommendations? Thanks
I am working on integrating the NanoEdge library into my STM32 Project using Keil IDE V5, I have been provided with the .a fie for NanoEdge library, but i am not entirely sure how to propoerly link it to my project.could anyone provide a step by step guide on how to :1)Add the .a file to my keil project ?2)Ensure that its correctly linked to the projct?3)Any additional configuration I might need to make to use the Library?I would really appreciate any help!Thanks in Advance!Abhishek Patil.abhishek.patil@utopiatech.in
Hello everyone,I’m trying to run a model on an STM32 MCU with Neural-ART using the ST Edge AI Developer Cloud.The final model includes GRU layers, but when I attempt to quantize and then optimize it, I encounter issues. To debug this, I created a minimal test model, which is as follows:class GRUTEST(nn.Module): def __init__(self, hidden_layer_size, n_layers, output_size, dropout, device): super(GRUTEST, self).__init__() self.device = device self.hidden_layer_size = hidden_layer_size self.n_layers = n_layers self.rnn = nn.GRU(256, hidden_layer_size, n_layers, batch_first=True, dropout=dropout, bidirectional=False) self.fc = nn.Linear(64, output_size) def forward(self, x): x, _ = self.rnn(x) x = self.fc(x[:, -1, :]) return xI then convert this model to ONNX as follows:torch_model = GRUTEST( hidden_layer_size=64, n_layers=2, output_size=1, dropout=0.2, device='cpu' ) torch_model.eval() torch.onnx.export( torch_model, torch.randn(1, 1, 256), "modelGRU.onnx", opset_ve
Hello!I am using CubeAI (version 9.1) to generate code for running an ML model on a microcontroller.When I generate the code with CubeMX using my .keras model, there are no compilation issues, and it runs perfectly.However, when I generate the code with CubeMX using my .tflite model (quantized in int8) and then using it to compile my project, I encounter an overflow error during compilation:region 'FLASH' overflowed by 22340 bytes.This is quite surprising because, according to CubeMX, my quantized .tflite model is about two times smaller in both RAM and FLASH usage compared to the .keras model (I’ve attached a photo showing the FLASH and RAM usage for both models).tflite quantified modelKeras modelI use tensorflow 2.12. My theory is that the libraries required to run my int8 model take up more FLASH space, but I’m not sure. Or maybe I made a mistake when integrating the model into my project. Does anyone have an idea where this problem might come from?
I am working on deploying a 1D CNN model on an STM microcontroller using STM32CubeMX with the X-CUBE-AI package to convert the TensorFlow Lite model into C code. While testing the model, I noticed significant discrepancies in predictions: On Laptop: Using the quantized model for inference gives reasonable predictions. On Microcontroller: Using the same test data, the predictions differ substantially when validating the model on hardware. Steps Taken: Ensured the test data was preprocessed identically for both laptop and microcontroller predictions. Used X-CUBE-AI to generate C code from the quantized TFLite model. Deployed the generated C code on the microcontroller for validation. Questions: What could cause such prediction differences between the laptop and microcontroller? Could this issue be related to quantization or numerical precision differences during deployment? Are there any additional steps or configurations in X-CUBE-AI to ensure consistent performance between platfor
Hello,I am facing some strange errors when trying to analyze any TFLite model. The errors are occurring in the following situations:Situation 1: STM32Cube.AI MCU RuntimeWhen analyzing a TFLite model, it fails and shows an error message: "TOOL ERROR: List index out of range."Situation 2: STM32Cube.AI Neural-ART RuntimeAfter clicking on the Analyze button, it's stuck at 0%. Nothing else happens, even after I wait for 30 minutes.I am using:CubeIDE version: 1.17.0X-CUBE-AI version: 9.0.0 and 9.1.0Please note that all those TFLite models work fine with CubeIDE 1.16.0, X-CUBE-AI 9.0.0, and STM32H7A3.I am attaching 2 tflite models for your reference.
I'm trying to make a snoring detector embedded on stm32wb55 dk board but everytime I encounter an inference unsuccessful :\ to be precise, the returned error looks like that input size or dimension is wrong.this is the code that I am running #include "microphone.h" #include "dbg_trace.h" #include "arm_math.h" #include "arm_const_structs.h" #include "ai_platform.h" #include "snoring_dataset.h" #include "snoring_dataset_data.h" //#define AUDIO_OUT_MS (20) //#define AUDIO_OUT_SAMPLING_FREQUENCY 16000 #define FFT_SIZE 512 #define FFT_BINS 256 #define TARGET_BINS 40 // Final bins after averaging #define FRAME_SIZE 960 // 60 ms at 16 kHz #define STRIDE_SIZE 480 // 30 ms overlap #define SEQUENCE_FRAMES 16 // Number of frames for the new model #define CLASSIFIER_INPUT_SIZE (SEQUENCE_FRAMES * TARGET_BINS) // 640 floats #define BUFFER_SIZE 32 // Circular buffer size for frames #define REDUCE_FACTOR 6 // Average 6 bins together #define CIRCULAR_BUFFER_SIZE SEQUENCE_FRAMES // Circular buff
Hi, I have a STEVAL-STWINKT1B that I am using to log data into my PC with HSDPython_SDK. How can I set the accelerometer range (for example IIS3DWB to 16g)? Regards, Ivan
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.