Join discussions in the Product Forums. Ask questions, learn from your peers, and share insights on ST solutions to accelerate your design journey.
Most recent activity
Hi I am using the STM32N6570 with AI application models. I have seen the STM Model Zoo and STM32 AI Services. In the services, the application code is generated automatically based on the model selected from the Model Zoo. My question is: how do I develop my own AI application from scratch in STM32CubeIDE, without using the Python scripts? I have already run the Python scripts and they work fine, but I want to know how to build the application manually from scratch in CubeIDE.
Dear STEnvironmentItem Version / Details BoardSTM32N6570-DKOSUbuntu 24.04 LTSPythonConda, Python 3.10STM32AI Model Zoostm32ai-modelzoo-services/object_detectionOperation modedeploymentModelyolov8n_256_quant_pc_uf_od_coco-person-st.tfliteSTM32CubeIDE1.19.0ST Edge AI Core / STM32CubeAI10.2.0Local tool/opt/ST/STEdgeAI/2.2/Utilities/linux/stedgeaiDescriptionI am using the STM32AI Model Zoo deployment workflow on Linux to deploy a YOLOv8 object detection model to the STM32N6570-DK.The deployment pipeline reaches the final flashing stage and aborts because no ST-LINK device is connected, even though all previous steps (Neural-Art, code generation, project patching) completed successfully.Console log excerpt building.. Debug flashing.. Debug STM32N6570-DK board programming is SKIPPED! -> No valid STM32 development board is connected (ST-LINK/swd port).. ... raise STMAICToolsError('Board programming failed!') E400: Board programming failed! Expected behaviorEven when
Hi all i used LTDC hardware inside the STM32f429 discovery board to drive an external 24 bit RGB display in 16 bit mode . full GUI is designed in LVGL library , I was able to build it and flash it. I got the output on the display but with few issues . 1.the update speed of the GUI elements are way too slow , so I cant update it real time 2.I am not getting a precise output .some pixels are lost, 3.can I change the horizontal animation happening when changing the screen 4.How to use DMA2D to copy pixel data to framebuffer 5.I'll put the output image so you can see the color issue , i am not getting pure white its like a red/pink tinted screen from my view LVGL ver-8.3.11 the label is white and arc background color is grey, but this is what I am getting
Hello,I’m currently testing the CSI–DCMIPP interface on the Nucleo-N6 board. I’m following various examples, but the variable used in DCMIPP_Start (lcd_bg_buffer) is not receiving any data. Is there something I might have configured incorrectly?At the moment, the buffer is configured to be stored in ARAM2.
Hi,I’m working with the STM32F407VGTX and I am using GPIO PA4 as the SPI chip-select (CS) pin. In my GPIO initialization, I set the PUPDR register to configure PA4 with a pull-up, expecting the CS pin to remain HIGH when idle. However, I observe on my logic analyzer that after initialization PA4 goes HIGH briefly, then returns LOW (its default state) even though the pull-up is set. I am attaching a screenshot of my logic analyzer for reference.Could anyone please explain why the pin doesn’t remain high with the pull-up configuration, and what’s the correct way to configure PA4 so that CS is HIGH when SPI is not active?Thank you!
The above image represents logic analyzer output when HAL_SPI_Receive_DMA is executed. My doubt is regarding the single high pulse at MOSI line. During HAL_SPI_Transmit_DMA , no issues. Is this normal behaviour? STM as Full duplex master, i have disconnected the slave to check if it was responsible for the high pulse.
I’m using HAL_UART_Receive_IT() on an STM32F103 to receive serial data asynchronously. The UART initialization appears correct, and I can send data successfully, but the HAL_UART_RxCpltCallback() function never gets triggered. I’ve confirmed the interrupt is enabled in NVIC and the buffer size is correct.Is there something I might be missing in configuration or code structure that prevents the callback from firing?Any sample code or debugging steps would be greatly appreciated. Thanks!
Hi,I was wondering if there's any guidance on the approximate timeline for rebasing OpenSTLinux from kernel 6.6 to kernel 6.12 (autumn 2024) or to kernel 6.15, 6.16, 6.17 or 6.18?I know that this is an enormous amount of work and a very complex task - the STM32MP25 is an extremely advanced chip and there are some significant changes in the kernel between kernel 6.6 and kernel 6.12 LTS and later kernels so it won't be possible to give any definite timescales for this at this stage.It would be great to have a very approximate rough idea of the planned timelines for this since the advances in the kernel between 6.6 and 6.15 LTS make significant improvements in the kernel's ability to handle advanced functionality on the STM32MP25 and on ST image sensors. :)Thank you very much for your help!Will
Hi,I am working on a preexisting TouchGFX projects, and i am trying to make it multicore so i am trying to build with OpenAMP to test if i didn't tweak wrong settings in CubeMXI added the path in Project > Properties > C/C++ General > Preprocessor Include Paths , but when i try to build the project on CubeIDE it fails saying (the dots are to smoothen reading)..../HMI__stm32/BENCH10/CM7/Core/Src/main.c:35:10: fatal error: openamp.h: No such file or directoryWhen building the first part (gcc) does include it arm-none-eabi-gcc "C:/Users/Max/Downloads/Programmes/Programmes/HMI__stm32/BENCH10/Common/Src/system_stm32h7xx_dualcore_boot_cm4_cm7.c" -mcpu=cortex-m7 -std=gnu11 -g3 -DDEBUG -DCORE_CM7 -DUSE_HAL_DRIVER -DSTM32H757xx -c -I../../../CM7/OPENAMP -I../../../CM7/Core/Inc -I../../../CM7/FATFS/Target -I../../../CM7/FATFS/App -I../../../CM7/TouchGFX/App -I../../../CM7/TouchGFX/target/generated -I../../../CM7/TouchGFX/target -I../../../Drivers/STM32H7xx_HAL_Driver/Inc -I"C:/User
Hi, I’m working with the STM32N6 board and need to configure the FDCAN1 parameters. I’m using the 64 MHz internal clock, and I calculated the bit rate using the Bit Rate Calculator. I want to set a baud rate of 500 kbps, but I’m unable to do so. The configuration always shows a default value of 1000 bps, and it does not change even when I modify Nominal Time Segment 1 & 2 or the Prescaler. In the clock configuration, the FDCAN1 frequency is set to 200 MHz. Here are the steps I have already tried: Changing the APB clock. Changing the FDCAN1 clock frequency to 100 MHz. Checking both the FSBL and application layers. Using the STM32 example code from the repository. Testing on an N6 Nucleo board — the baud rate still does not change I have also attached the project file for the reference. If anyone has encountered this issue before or has any suggestions, please let me know. Thankyou.
The board I'm using is STM32H747I-DISCO, and the tool I installed is STM32CubeIDE 1.19.0.I want to build a static library based on it.Therefore, I run the following steps to create the library.File -> New -> STM32 ProjectAt this time, I got the following WARNING meesage.Does anyone know how to solve this issue? I tried to build the generated project using the following actions.And then, I got the following errors.However, this file already exists, as shown in the image below. Did I make any mistakes in the steps I took to create the library? And how can I resolve these issues?
Hi,I'm running test on the Discovery board H573I-DK.On a 24 hours period, I measure a 340 ppm precision that is far from the 20 ppm of the LSE Quartz.Is it normal ?
We ordered an STM32MP257F-DK evaluation board - DigiKey part number "497-STM32MP257F-DK-ND" - on 25 September 2025 and had it delivered to Zürich.On 15 October 2025 we ordered the same ST STM32MP257F-DK evaluation board with DigiKey part number "497-STM32MP257F-DK-ND" for delivery to one of our developers - Paul - working remotely.Paul booted the ST STM32MP257F-DK board using the SD card that was supplied with it and was able to take it into and out of suspend-to-RAM with no problems however when we try to reproduce this with exactly the same steps with the ST STM32MP257F-DK here in Zürich it fails to waken from suspend-to-RAM.We thought that it could be a difference in the images on the ST cards for the two boards so we copied the image for the SD card on the board delivered to Paul and tested it on the board here with exactly the same results.We also checked that the WakeUp switch on the board is electrically functional - when I press it:[ 290.372530] optee: no desc for optee IT:1We
Hello Experts,I am using an STM32F303VET6 MCU and developing in IAR Embedded Workbench for ARM version 9.40.2.My project compiles correctly, and debugging works perfectly when I use the I-Jet debugger.However, when I switch the debugger interface to ST-LINK V2, I experience several issues:Flash loading errorsDebug session failing to startRandom connection or SWD errorsIn general, the application fails to debug reliablyI have verified the following:The device appears in Device Manager as “STM32 ST-LINK”SWD wiring and connectionsSame board works fine with I-Jet, so hardware seems OKCould you please advise on what additional configuration or driver settings I should check in order to make ST-LINK V2 work properly with IAR?Any guidance would be greatly appreciated as this issue is urgent for my project. Error log.Tue Nov 18, 2025 17:43:52: IAR Embedded Workbench 9.40.2 (armPROC.dll)Tue Nov 18, 2025 17:43:52: Loaded macro file: C:\Program Files\IAR Systems\Embedded Workbench 9.2\arm/co
Hi,I am running into thread exception while running CubeMx on MacOs M4 Pro.Platform: MacOs M4 ProCubeMx (About): Java (21.0.8 (9)) [STM32CubeMX 6.16.0 Mac ARM]When I try to open Airoc-Wi-Fi-Bluetooth Pack under Middleware, I get following exception and call stack.Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: column must be valid, was-1 at org.jdesktop.swingx.JXTreeTable.isHierarchical(JXTreeTable.java:2022) at org.jdesktop.swingx.JXTreeTable.getEditingRow(JXTreeTable.java:1162) at java.desktop/javax.swing.JTable$AccessibleJTable.getAccessibleChild(JTable.java:7222) at java.desktop/javax.swing.JTable$AccessibleJTable.getAccessibleAt(JTable.java:7612) at java.desktop/javax.swing.JTable$AccessibleJTable.valueChanged(JTable.java:7133) at java.desktop/javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:231) at java.desktop/javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:20
I am currently working with the MT25QL128 flash memory using the Quad-SPI interface on an STM32H7 MCU. I have a technical question regarding the Extended Quad Input Page Program command.In my code, the following command is used: #define EXT_QUAD_IN_FAST_PROG_CMD 0x12The flash write operation works correctly with this command.However, according to the MT25QL128 datasheet, the correct command for Extended Quad Input Page Program appears to be 0x38.My questions are:Is using 0x12 officially supported on MT25QL128, or is it just backward-compatible?Are there any scenarios where using 0x12 might lead to incorrect behavior or compatibility issues?Should I update my code to use 0x38 to be fully datasheet-compliant, even though 0x12 seems to work in practice?I want to ensure that my Quad-SPI write operations are fully compliant with the datasheet and avoid potential issues in programming.Thank you very much for your guidance.
I’m working on a project with an STM32F4 microcontroller and using the I2C bus to connect multiple sensors. Everything works initially, but after some time the communication becomes unstable, returning random values or causing the I2C bus to hang. I have tried lowering the clock speed and checking pull-up resistors, but the issue persists.Has anyone experienced similar issues with I2C on STM32F4 or found a recommended configuration or hardware fix?Any guidance or examples would be greatly appreciated. Thanks!
ADF_AudioRecorder call HAL_DMAEx_List_BuildNode() without initializing pNodeConfig.Init.Mode. So with USE_FULL_ASSERT, it can assert because of assert_param(IS_DMA_MODE(pNodeConfig->Init.Mode));
The environment I tested is as follows.IDE: STM32CubeIDE 1.5.1Package: STM32F767IIPackage software version: 1.16.1JPEG settings are as below.However, there is a typo in the config file that is actually generated.[ jpeg_utils_conf.h ]#ifndef __JPEG_UTILS_CONF_H__ #define __JPEG_UTILS_CONF_H__ /* Includes ------------------------------------------------------------------*/ #include "stm32f7xx_hal.h" #include "stm32f7xx_hal_jpeg.h" /* Private define ------------------------------------------------------------*/ /** @addtogroup JPEG_Private_Defines * @{ */ /* RGB Color format definition for JPEG encoding/Decoding : Should not be modified*/ #define JPEG_ARGB8888 0 /* ARGB8888 Color Format */ #define JPEG_RGB888 1 /* RGB888 Color Format */ #define JPEG_RGB565 2 /* RGB565 Color Format */ /* * Define USE_JPEG_DECODER */ #define USE_JPEG_DECODER 1 /* 1 or 0 ********* Value different from default value : 1 ********** */ /* * Define USE_JPEG_ENCODER *
Dear ST Support Team,We are currently developing an IoT-based mining vehicle monitoring system, which generates a large volume of operational data that must be stored and accessed locally. Due to this high data size, we are evaluating the use of SD card or eMMC memory, with a stronger inclination toward eMMC as our final storage solution.For structured and reliable file handling, we are planning to use the FATFS file system for read/write operations.We would like to confirm whether the SPC58NH92E7 microcontroller officially supports integration with FATFS on SDMMC/eMMC interfaces. If available, kindly provide documentation, application notes, or official reference examples demonstrating FATFS usage with this MCU. Tool we are using to flash controller:SPC5 StudioAuto devkit Thank you for your support.
Hi, I have been using NUCLEO-H755ZI_Q board for initial software development and evaluation. I wanted to use STM32H755IIK3 but as nucleo version was not available, I have been working with LQFP144 version. I want to switch MCU model to this BGA and make custom hardware. What is the best practice for MCU model switch? I was looking this: https://community.st.com/t5/stm32-mcus/how-to-switch-from-one-stm32-to-another-using-stm32cubemx/ta-p/49884 But CubeIDE seems to be different.
I turned off all the other configuration aka Alternate Functions..only enabled GPIO PA5 as output Pushpull mode, low freq.its doesnt turn on or off individually..tried to turn on and off using HAL as well as direct registers..both work only when PA4 turns on ...what i mean if i want to turn on PA5 i should turn on PA4, then only it works..what is this causing this issue.can you help me out.tried on multiple hardwares..same issue so hardware issue eliminated, no pin short circuit.
Hi, I was using CubeProgrammer version 2.8 to program the STM32L552 microcontroller, using the ‘STM32_Programmer_CLI’ file. After updating to version 2.14, I have noticed a significantly longer programming time. For example, before the update, it took 1.8 seconds to program approximately 20kB; after the update, it takes over 10 seconds. My programming settings are as follows:call "%programmer%" -c port=swd freq=1000 -w "%hexfile%" -vI have tried different SWD frequencies, 3300 and 24000, but no luck. Does anyone else have this issue and know the solution?I also have one more question - if a verification error occurs, why does STM32_Programmer_CLI return 0 as the exit code? Shouldn’t it be a different value that indicates an error?Best regards,
Hello everyone,we are currently trying to bring up the L6591 without PFC, but unfortunately we have not been successful so far.It looks like the L6591 is not able to start up correctly.The Vcc voltage slowly rises to about 14V with the built-in HV startup generator. The LINE pin is connected to Vcc through a 330kΩ resistor, and after a short time it rises above 1.25V, as expected. So in principle all startup conditions for the L6591 should be fulfilled.After that, the SS pin charges to 2V, VREF reaches 5V, and then the IC repeatedly restarts. We are not sure why this happens.Is there any additional documentation available that explains the startup sequence in more detail? The information in the datasheet is not completely clear to us. Unfortunately, we currently have no evaluation board available in our country, so we cannot perform comparison measurements on a known-working design.Does anyone have experience with the L6591 startup procedure and could tell us which signals or con
I have an animated image, and I want to make it rotate around a circle. I assume I need to use a container and somehow integrate the TextureMapper into it, but I’m not sure how to do that.
ST Community highlights – April to June 2026
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.