Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
Dear All,I am working on a project based on the STM32U5G9NJH6Q MCU.I have made a project using CubeMX v6.14. I am working on CubeIDE and I am using TouchGFX 4.25.0 for the GUI of my application.I have used the STM32U5G9-DK2 to verify my GUI design, using hardware accelerated vector fonts. On the DK everything seems to be working fine.But on the custom PCB I am working on, I see this:The larger font on the screen is a vector font, whereas the smaller fonts are bitmap, so I am using a mix of the 2.If I do not use hardware accelerated vectors (use software accelerated vectors instead) then the problem disappears, but the GUI is slow. My linker script looks like this: /* ****************************************************************************** ** ** @file : LinkerScript.ld ** ** @author : Auto-generated by STM32CubeIDE ** ** @brief : Linker script for STM32U5G9NJHxQ Device from STM32U5 series ** 4096KBytes FLASH ** 3008KBytes RAM ** ** Set heap size, stack size and stack lo
I am developing a Battery Management System (BMS) for a hybrid inverter solar panel system. I am using the ADBMS1818 IC as the battery management chip from Analog Devices. Currently, I am looking for a suitable MCU for my system. I found that the CYT2B7 MCU from Cypress Infineon fits my system well. However, during the development process, I need to use an MCU from STMicroelectronics. Could you recommend a series that meets my needs? Below are the specifications of the CYT2B7 Thank you for your assistance.
I tried to use the internal watchdog IWDG and WWDG) on an STM32L433It worked fine until the device went into low power modes, standby and shutdown.Because the watchdogs still runs during low power modes, but as the prcoessor is not running the watchdog times out and keeps resetting the processor.So then I looked at using an external watchdog (STWD100) which can be disabled when in low power mode. I wrote a post about the topic here...https://community.st.com/t5/others-stm32-mcus-related/how-to-interface-external-watchdog-stwd100-with-stm32/m-p/879006#M9433But a comment was made that "If you can enable and disable the watchdog, wild-running code can as well, and you cannot really rely on the watchdog"So how should a watchdog (internal or external) be handled in low power modes ?Surely you dont want to keep waking the processor every few milliseconds just to reset the watchdog timer, as the defies the point of being in low power mode to save battery power ?I was told that
I have an STM32H7S78-DK and I have used TouchGFX to create a GUI just fine. I am currently trying to use the fanout or the Arduino headers to communicate through SPI or UART to another board. The first thing I tried was using the SPI through the fanout board as it's soldered for the SPI4 by default with the fanout board. I used the female headers on the fanout board that corresponded with MOSI, MISO, etc for the SPI. I configured SPI4 in STMCubeMX and generated the code in STMCubeIDE. I just tried to send an array with Hello in the array in the form of hex values. However, I saw nothing coming out of the pins when I hooked it up to a logic analyzer. I then thought maybe I was using the wrong header and soldered some male pins next to the female pins which said CN12 which corresponded to what it said in the fanout boards documentation. I thought maybe the microbus female headers were not the right ones to use. Generated all the code and tried again an
Hi everyone,I think I’ve messed up my NUCLEO-H755ZIQ board. A few days ago, I accidentally unplugged the board while an active debug session was running. Since then, the board "dies" every time I power it off.To get it back to a working state, I have to follow this tedious process every single time:Set Boot0 to VCC.Connect via STM32CubeProgrammer (Power Down mode).Perform a Full Mass Erase.Disconnect and set Boot0 back to GND.Connect again and flash a simple .elf file (a basic SPI project that toggles an LED) just to verify it's alive.After this, I can debug normally in CubeIDE—until I power cycle the board again.This was manageable until I started working on a Bootloader project. Today, it took me all morning to recover the board because the bootloader logic seems to interfere with my "recovery" steps.I’ve already tried messing with Option Bytes and performing several mass erases, but the issue persists. It feels like the flash or the option bytes are stuck in a state that prevents a
I’m working on an STM32H7R7 project using SDMMC1 + FreeRTOS (CMSIS-RTOS v2) + FatFs, all generated with STM32CubeMX.I’m facing an issue where f_mount(opt=0) works, but the system blocks inside f_open() and never returns, so the return value cannot be checked.A key aspect of the problem is that the behavior depends on how the device is started:After flashing the firmware with a debugger connected and running immediately, the system behaves differently.After a cold power-up (power removed and re-applied, no debugger connected), the same binary consistently freezes when reaching f_open().In both cases:The code is identicalThe clock configuration and FreeRTOS setup are unchangedNo additional initialization is performed when the debugger is attachedThis suggests a timing-, initialization-, or peripheral-state-related issue that manifests only on a true power-on reset and not after a debugger-initiated reset.Additional observations:f_mount(&SDFatFs, "0:", 1) initially caused a block, but
STM32F401 (Blackpill) – 2.4s Drift in 30 Minutes Between Two Identical Boards Using TIM2 (HSI Clock)I am working on time synchronization between two identical Blackpill STM32F401CCU6 boards.Both boards:Use internal HSI oscillatorSame firmwareSame clock configurationTIM2 configured as 1 MHz free-running counter (1 µs resolution)32-bit counter (auto-reload = 0xFFFFFFFF)Clock configuration:HSI ONPLL enabled (HSI → PLL → SYSCLK)SYSCLK = 32 MHzTIM2 prescaler = 31 → 1 MHz timer tickInitializationBoth boards started in STANDALONE modeBoth boards waited for button interruptThe board which gets interrupt became MASTERSynchronization MethodOne board acts as MASTEROther board acts as SLAVECommunication via UART (115200 baud)Master sends a 5-byte sync packet:0xAA + 4-byte counter valueSlave receives and sets:htim2.Instance->CNT = received_counter; UART disabled and connection removedInitial sync works correctly.ProblemAfter synchronization:Drift increases over timeAfter 30 minutes → ~2400 ms di
Hi, I'm starting to play with the SBSFU examples provided by ST. I'm trying to build the SBSFU (mcuboot based) example for the STM32L5 which can be found in the STM32SecuWS provided here . I'm stuck trying to build the TFM_SBSFU_boot (partial console output):arm-none-eabi-gcc "C:/STM32SecuWS/TFM/STM32Cube_FW_L5_V1.3.0/Projects/STM32L562E-DK/Applications/TFM/TFM_SBSFU_Boot/Src/low_level_com.c" -mcpu=cortex-m33 -g3 -DSTM32L562xx -DUSE_HAL_DRIVER -DNDEBUG -DTFM_DEV_MODE '-DMCUBOOT_TARGET_CONFIG=<flash_layout.h>' '-DMBEDTLS_CONFIG_FILE=<config-boot.h>' -DMCUBOOT_DOUBLE_SIGN_VERIF -DBL2 -c -I../../Inc -I../../../../../../../Drivers/CMSIS/Include -I../../../../../../../Drivers/CMSIS/Device/ST/STM32L5xx/Include -I../../../../../../../Drivers/STM32L5xx_HAL_Driver/Inc -I../../../../../../../Middlewares/Third_Party/trustedfirmware -I../../../../../../../Middlewares/Third_Party/trustedfirmware/platform/ext/common -I../../../../../../../Middlewares/Third_Party/trust
Hi Community,I am porting STM32Cube_FW_U5_V1.8.0\Projects\B-U585I-IOT02A\Applications\SBSFU example to be used with USB port for firmware upgrade instead of Uart. I use B-U585I-IOT02A board with U585. Because of some requirements I need to use bare metal USB stack and I successfully ported the classic STM one according to article How to use STMicroelectronics classic USB device middleware with new STM32 families . I have used it SBSFU example and the usb stack works fine when I use it in non secure environment and run Loader binary or Appli_NonSecure as separate application with TZEN=0 without bootloader - I was able successfully send fw image over usb using ymodem. But when I used it in full secure original setup as in the example, I mean TZEN=1, booting with bootloader, using Appli_Secure/Appli_NonSecure - I experienced board restarting when connecting board's USB to the PC - it looks like something goes wrong during USB enumeration process. I have checked that US
HiI am drawing a PCBA with STM32H7R3V8H6 but for the USB HS interface PHY its not clear which pins are USB differential D+ and D- data pins?krØystein
Hello, I am using the HAL for multi-master SMBUS operations on an STM32H753. I ran into a scenario in which the event handler interrupt function (I2C4_EV_IRQHandler() in my case) was repeatedly firing such that there was no CPU available for other code to run. It seems that the logic within HAL_SMBUS_EV_IRQHandler(), which the above function calls, may not be correctly identifying the source of the interrupt, and not clearing it. This code: /* SMBUS in mode Transmitter ---------------------------------------------------*/ if ((SMBUS_CHECK_IT_SOURCE(tmpcr1value, (SMBUS_IT_TCI | SMBUS_IT_STOPI | SMBUS_IT_NACKI | SMBUS_IT_TXI)) != RESET) && ((SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TXIS) != RESET) || (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TCR) != RESET) || (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TC) != RESET) || (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_STOPF) != RESET) || (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_AF) != RESET))) { calls SMBUS_CHECK_I
HiDo QUAD SPI require power on the VDDXSPI power pins?ADCs, what is the voltage reference buffer, VREF+ and VREF- , voltages? Can the internal reference buffer be used if VDDA is 3.3V and I want full scale 0-3.3V ADC conversion range?krØystein
The Reference Manual (RM0454) of the STM32G0B0 points to an old 2020 revision while on the website it shows 2025.I believe this is a mistake since there should be a newer revision of this RM with the fixed Flash section (STM32G0B0CE) unless ST only fixed the RM of the STM32G0B1.
Here comes another query about the status of a HUB device for the USB Host library. I have been working with the driver from herehttps://github.com/moribr/STM32F4HUB/blob/master/Project/Middlewares/ST/STM32_USB_Host_Library/Class/HUB/usbh_hub.cand have the HUB functional but cannot seem to get the MSC initialized and working. Why does STM not support a hub in their HOST Library? There certainly have been enough inquiries.
I am using the B-G431B-ESC1 board, which connects to my laptop via a micro-USB to USB-A cable. After a failed connection attempt, the board is no longer detected by STM32CubeProgrammer. Additionally, a file named "File.txt" is created on the MCU after the failed attempt.The contents of the file are:"The interface firmware FAILED to reset/halt the target MCU."This file appears to be causing issues with the connection to STM32CubeProgrammer.Could anyone please help me resolve this issue?
Hello. How to configure the FreeRTOS LwIP bundle correctly on the STM32F407VET6 and PHY Lan8720, I'm configuring it in the Cube IDE. There is a ping without FreeRTOS, but there is no ping with FreeRTOS. Thank you very much.
Hello ST, I am working with STM32WBA52 and I am no longer able to connect to the device using STM32CubeProgrammer. When trying to connect, I got the following error: The interface firmware FAILED to reset/halt the target MCU A fail.txt file is also generated. The connection fails even when trying: Connect under reset. Different SWD frequencies. PH3 (BOOT) pin forced high. The issue appeared after changing security-related option bytes (TZEN / RDP). The device seems to boot normally, but debug access is blocked. I suspect the MCU enters Secure state early and prevents the debugger from halting the core. Is this expected behaviour on STM32WBA when TZEN = 1 and RDP = 1 without Debug Authentication configured? Does STM32WBA block SWD access by default in Secure mode? Best Regards,Dhia
hi all! i'm handling Foc-pmsm project, i use communicate ETH with other board via ETH but it connect too slow and open lost connection, i don't what issue because this is the first time i handle with ETH. can you help me take a look and show my mistake
In this IOC, touchgfx can only be placed in the "boot" sub-project. It cannot be placed in the "app" sub-project.
Hello everyone,I am working on a custom board based on the STM32U575RGT6 (1MB Flash). I am encountering a hard fault (SecureFault) during the initialization of the Non-Secure application after integrating the SBSFU.Context:Hardware: Custom board with STM32U575RGT6.Initial Project: A working application using TrustZone active + FreeRTOS (generated via CubeMX). The Option Bytes were set to a default 50/50 split (Secure/Non-Secure).Goal: Implement a Secure Boot / Firmware Update mechanism.What I did:I used the ST example for B-U585I-IOT02A as a reference.I integrated SBSFU_Boot and SBSFU_Loader into my project folder.I adapted the linker scripts (.ld), postbuild.sh, and flash_layout.h to match the 1MB Flash size of the U575RGT6 (vs 2MB on the B-U585I).In my original application, I replaced the .ld files and startup_xx.s files with those provided in the SBSFU_Appli example.Configur
Hello. I have a custom board with original f103c8t6 (sampled from eStore). PWM for pin PB4 is not functional, but bit banging with gpio write works. If tim3 respective channel is configured as pwm output, the output is stuck at VCC. I configured the board correctly in CubeMX, as every other pin works correctly (including pin PB5, same timer, different channel) and double checked it again and again. Unfortunately I can't attach a project that reproduces the bug at the moment as I moved forward by changing the operating mode of the board (it commands a MC33926PNB H bridge and instead of having the H bridges enabled and sending PWM over IN1 and IN2, i set them as high or low depending on the direction and pwm the enable input, which functions well), but in a few days I can reproduce it. I am curios about what can cause the strange behaviour. It's not a conflict between JTAG reset as I have SWD enabled and even disabled it for a test which led to the same results.Here
Hello,I used the SBSFU 2.6.2 and it's STM32L432KC 1_Image example.Everything was cool, so I modified the UserApp and removed the demonstration application menu (a potential way to select a new download, this could save me...) Then, I unfortunately found out, I can't erase the chip so I can't flash a new firmware ... and finally I realized, I left most (or all) of the security macros enabled...I'm trying over the STM32CubeProgrammer play with RDP, WRP PCROP. Biggest issue to me seems PCROPas MCU rejects changes. The RDP I could set to level 0 easily (AA) and WRP protection also seem fine.Is there any chance to unlock my STM32L432KC nucleo back ?Thank youC:\Users\Vladimir.Sustek>STM32_Programmer_CLI.exe -c port=swd -ob displ ------------------------------------------------------------------- STM32CubeProgrammer v2.20.0 ------------------------------------------------------------------- ST-LINK SN : 0673FF515152827187223922 ST-LINK FW : V2J46M31 Board : NUCLEO-L432KC Voltage : 3.24
Hello everyone, I am quite new to this and I am using the STM32G474RET6 with BOR level 4. I changed the BOR level to level 0 and the board did not work properly. After changing it back to level 4, everything worked fine again. Is there any relationship between CPU speed (it is 168Mhz in our case) and BOR level? We are not sure how to properly select the BOR level. Thank you.
Our product is battery powered and uses an STM32L072CZT6.I did not write any of the power management code and I am not sure exactly what modes are used.When cold started and left to go into power saving mode, the current drawn by the entire product averages 82uA.However, after changing BOOT0, resetting, flashing the app using STM32CubeProgrammer, changing BOOT0 back, resetting again and letting the unit run until power-saving mode engages it then has an average current draw of 200uA, a 150% increase. I also discovered that re-flashing is not required; simply running the bootloader for a few seconds is enough to cause the problem, so it's not due to any code downloaded by the programmer.There seems very little in the CPU which survives an external reset. The RCC registers look the same in each case, and the only difference in RTC registers is the change of time and next scheduled alarm.Our console serial port is on PA2/3, there was a BlueTooth module on PA11/12 but that has been re
Hello everyone! In our system we have a set of subsystem that uses F4/F7 MCUs and one - with STM32H743 MCU. We want to use system CAN bootloader for all of them. Everything seems ok, except STM32H743 device. From AN2606 we know that it starts in bootloader with such FDCAN config: 'Connection bit rate 250 kbit/s', 'Data bit rate 1000 kbit/s', 'FrameFormat = FDCAN_FRAME_FD_BRS'. So, it waits for FD frames. The question is: can we use default CAN (not FD) with 250 kbit/s bitrate to update every subsystem there? Will STM32H7 recieve default frames and work in default CAN formats?
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.