Get ready for the STM32 Summit 2026 | Online, November 3
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
Hello Team, We are currently investigating an issue related to the SPI communication between the STPM34 sensor and the STM32F4 microcontroller.At system startup, all values measured by the STPM34 remain stuck at zero. Even when voltage and current are injected using an OMICRON test bench, no measurement values are received or displayed.Several tests were performed:If we power up the system and confirm that the issue is present, then electrically restart only the board containing the STPM34, the communication recovers correctly and the measured values are no longer stuck at zero.We also soldered wires on one of the SPI buses (SPI1). Since there are two STPM34 devices on the board, two SPI instances are used to communicate with each sensor. The purpose was to verify whether the communication between the sensor and the STM32 was correctly established.Interestingly, simply soldering wires on this SPI bus makes the issue disappear for this instance. However, on the second SPI instance,
Hello, I am working and trying to boot Nucleo - STM32H533RE board. I could successfully boot board using one stage bootloader OEMiROT, but I want to board to boot board with two stage boot path that to to without using STiROT.Looking at wiki page, I could see this can be achieved on Nucleo board I have, but there is no working example in the latest STM32Cube_FW_H5_V1.6.0 package I have.I could see boot path example for STiROT + OEMuROT example but no example for OEMiROT + OEMuROT.I need to know whether I can achieve booting of Nucleo STM32H533 board with desired boot path i.e. OEMiROT + OEMuROT (as encircled with blue color) and if yes is there any support with relevant data available?Regards,Satish
{ "type": "jlinkgdbtarget", "request": "launch", "name": "STM32Cube: Launch JLink GDB Server", "origin": "snippet", "cwd": "${workspaceFolder}", "preBuild": "${command:st-stm32-ide-debug-launch.build}", "runEntry": "main", "imagesAndSymbols": [ { "imageFileName": "${command:st-stm32-ide-debug-launch.get-projects-binary-from-context1}" } ], "liveWatch": { "enabled": true, "samplesPerSecond": "4" } },Under this configuration, the prompt indicates that the attribute "liveWatch" is not allowed.
Is there a version based on the STM32G4 available?Is the firmware package available for download?Best regards
After I configure EP1 to the double‑buffered mode, debugging reveals an issue inside stm32g4xx_hal_pcd.c. At line 1761, the endpoint register value is read. After executing PCD_CLEAR_TX_EP_CTR(hpcd->Instance, epindex); to clear the interrupt flag, the actual register content has already been updated. However at line‑1906, (void)HAL_PCD_EP_DB_Transmit(hpcd, ep, wEPVal); still receives the register value captured before interrupt‑flag clearing. This triggers incorrect conditional judgements inside the HAL_PCD_EP_DB_Transmit() function.Probable root‑cause: When transmitting data for the first time under double‑buffered setup, USB_EPStartXfer populates both buffers by default. After Buffer‑0 finishes transmission and triggers an interrupt, the program reads register data at line‑1761 of stm32g4xx_hal_pcd.c. Right after this read operation, Buffer‑1 also completes its transmission and updates the endpoint register. Since HAL_PCD_EP_DB_Transmit uses the stale register value obtained earli
Have been fighting ST-LINK_gdbserver over the last few days and am hoping that someone can shed some light. I'm using JetBrains CLion with the ST-LINK gdb server. I have this configured in the "Debug Servers" setting. I want to get my ITM / printf calls to appear in my "MCU Console" window in CLion. So I have my SWO Enabled, I specify my clock (400Mhz / STM32H743), my divider (1000, should give 400kbaud data coming out), and my TCP port for the SWO data to appear on (59999). I've overridden my `_write` function to push to the ITM_SendChar function. I press debug, JetBrains compiles, runs the ST-LINK_gdbserver, passes in the correct flags, "-z 59999 -a 400000000 -b 1000 ", and the GDB then connects to the GDB port (61234 - default). However I don't see any SWO output via ST-LINK_gdbserver. If I run the STM32_Programmer_CLI in a separate terminal window with "./STM32_Programmer_CLI -c port=swd -swv freq=400 portnumber=0", it successfully connect
The code I’ve written in main.c for a program on NUCLEO H7S3L8 works perfectly fine, but on NUCLEO F767ZI goes into hardfault mode when reaching line 455 “mfcc_compute(mfcc_left, audio_buffer_16bit_left, mfcc_feature_left);” (more precisely, inside this function, at line 263 “float last = (float)audio_data[0] / (1 << 15);”). Can someone tell me how to solve the problem? I’ve declared arrays static to not go into stack overflow. Can someone tell me how to solve the problem? (Int_mic_F7 is the project for NUCLEO F767ZI while audio.zip is the project for NUCLEO H7S3L8)
I have the STM32U595QJI6 installed on a custom PCB sharing its VDD supply line with other components, when the PCB is to go into standby, the command HAL_PWREx_EnterSHUTDOWNMode() is used to put the STM32U595QJI6 into shutdown mode.The PCBs standby current is as expected, however, when the VDD supply line is at 3.3V, and the STM32U595QJI6 gets colder (locally cooling just the STM32U595QJI6 to 0℃) the standby current starts to increase roughly 3 times higher.When the VDD supply line is at 3V, this does not occur, and the standby current decreases as the temperature decreases as expected.When the PCB is running, the running current also decreases when it is cooled to 0℃ as expected, regardless of if the VDD supply line is 3V or 3.3VAll the pins are in an analog state, except the PWR_PUCRx and PWR_PDCRx , which are in a default state.What could be the cause of this current increase in shutdown mode, under the specific conditions of a 3.3V VDD supply line, and a temperature decrease to 0℃
I'm investigating how to change the TX output power for hardware testing.I was able to confirm that the power changes by writing BLE_TransparentMode to the STM32WBA25 and sending the following HCI command via UART.0x01 0x0F 0xFC 0x02 <EnHighPower> <PowerLevel>However, while Table 468 of AN5270 suggests that it can be set up to +6dBm, there appears to be no change in the actual output between setting it to 0dBm and setting it to +6dBm.0x01 0x0F 0xFC 0x02 0x01 0x190x01 0x0F 0xFC 0x02 0x01 0x1FSetting it to a value lower than 0dBm seems to change the output as expected.Is it actually not possible to set it to a value higher than 0dBm?
Since updating to STM32CubeIDE v2.2.0 (and on a fresh install of v2.2.0), when I program my target STM32 (F413ZH) using a Segger J-Link, the code does not run until I power cycle the target. I’m fairly certain this issue coincided with me switching from CubeIDE 2.1.1 to 2.2.0.I have tried all 3 reset methods in the Debugger settings (Normal, Core, ResetPin), and they all exhibit the same issue. With ResetPin selected, a scope capture of the NRST line shows it asserting only once at the beginning of programming.I also tried STM32CubeProgrammer, with the J-Link dll update to v9.56, and it does work when the “Run after programming” box checked.As far as I can remember I didn’t change anything in the Run configuration when switching from 2.1.1 to 2.2.0. The GBD console log (below) shows “Starting target CPU...” and then right after “Debugger requested to halt target...Target halted” and then it is never resumed or started again. Additionally, I believe the GDB console in v2.1.1 had more a
Hello,I am trying to figure out what messages I shall monitor to make some ‘diagnostic’ calls like $PSTMDRSTATE.Can I update the working NMEA list to get new report values and stop them at any time? I do wish to keep the load as low as possible.Guy.
Hi,I am using the Nucleo H563ZI for OEMiROT. I was able to build the example provided in STM32CubeH5 package and it works without issue. I wanted to know if it is possible to use the swap method instead of overwrite method for the application installation. If so, is there any example available? I understand that HW crypto isnt available on the STM32H563ZI, I was planning to use the ST Cryptolib library for software crypto.Thanks!Rajas
其它网络功能如升级版本,MCU包安装正常
I have a design with a CR2032 cell connected to VBAT on the STM32WB5MM module. This was set up using CubeMX and there I enabled the LSE.In my code I am able to set the date and time and observe that it increments as expected. However, as soon I power the circuit down and back up the RTC is reset to the default. I have verified that VBAT is 3.1V.I have not yet tried the backup registers.What am I missing?
Finally was able to test STM32CubeMX2 with a NUCLEO-C562RE board.Simple LED blinking project, and here's what I found out. Project bloat:STM32CubeMX2: 26.2 MB of generated data and when compiled 41.1 MB (NUCLEO-C562RE)STM32CubeMX: 4.6 MB generated and compiled 15.7 MB (NUCLEO-C031C6, same functionality) The old STM32CubeMX included only the HAL libraries actually used.The new one dumps everything in.That's a 5.7x increase for a blink LED. Missing Release configuration:Generated CMake project contains only Debug configuration - No Release.Interesting, because the official "MOOC STM32CubeMX2" video at 4:53 clearly shows both configurations.Either something changed or the video is misleading. Creating Release configuration manually requires editing multiple CMake files, including inside the cmake folder — supposedly overwritten on regeneration (in practice, changed only at project creation).Not trivial if you're not a CMake expert.I did it once manually, but then ended up using Claud
Hello,I’m working on STM32U5 flash with tfm application using script “regression.sh” and “TFM_UPDATE.sh” of MB1551 example project in SBSFU. I lost the connection with the chip when I unchecked nSWBOOT0 in option bytes.Trust Zone : activatednBoot0 : checkednSWBOOT0 : uncheckedRDP : 0 So when we try a JTAG connection, we have this error.STM32CubeProgrammer Error connection Do you know a solution to regain connection with the STM32U5 ?Thanks for your attention,Kind regards,
System: STM32CubeIDE 2.2.0, Win11 Hi there,I am using the STM32WB09 and I am running the BLE Heartrate OTA Example via debugger.There is only one thing I don’t understand:When I create a release version of this example (= hex file) and execute a “run” command in STM32CubeIDE, the program is running until I powercycle the device. Then suddenly there seems to be an old application in Flash?But when I create a new project, execute the same “run” command the program remains also after powercycle.Here’s a log of my run command with the application which will be reverted back after power cycle: ST-LINK SN : 0044004E3137510E33333639ST-LINK FW : V3J17M11Board : STLINK-V3MINIVoltage : 3.30VSWD freq : 8000 KHzConnect mode: hwRstPulseReset mode : Software resetDevice ID : 0x032Revision ID : Rev ADevice name : STM32WB09NVM size : 512 KBytes (default)Device type : MCUDevice CPU : Cortex-M0BL Version : --Opening and parsing file: ST-LINK_GDB_server_a16044.srecMemory Programming ...File : ST-LINK_GDB
Dear Support Team, Kindly help to download the EB Tresos Studio basic version (the configurator), which is distributed free of charge by ST . Thanks,Madhav.
Hello, I have been using the NUCLEO-C562RE for my evaluation and due to a mistake I fried the MCU that came with the board, I replaced the MCU with an MCU from the same series. The dev board came with C562RE and I replaced it with C552RE, but after that I am not able to use JLink to connect to the MCU.am I right in assuming that since the pinout of the two MCU’s are same, the MCU’s can be swapped and used ?
In stm32f0xx_hal.c:/** * @brief Initialize the MSP. * @retval None */__weak void HAL_MspInit(void){ /* NOTE : This function should not be modified, when the callback is needed, the HAL_MspInit could be implemented in the user file */} But this must not be implemented in a User file, because there is already an implementation generated by CubeMX in stm32f0xx_hal_msp.c:/** * Initializes the Global MSP. */void HAL_MspInit(void){ /* USER CODE BEGIN MspInit 0 */ /* USER CODE END MspInit 0 */ __HAL_RCC_SYSCFG_CLK_ENABLE(); __HAL_RCC_PWR_CLK_ENABLE(); /* System interrupt init*/ /* USER CODE BEGIN MspInit 1 */ /* USER CODE END MspInit 1 */} So implementing a HAL_MspInit() in a User file - as the comment in stm32f0xx_hal.c suggests - will cause a “multiple definition” Linker error!
Hi all,I'm working on the STM32H747I-DISCO (CM7 core, bare-metal LwIP without RTOS, polling mode via MX_LWIP_Process()). Goal is simply to get the board to respond to ping from my PC over Ethernet.Hardware done:Solder bridge rework completed per UM2411 Table 5: SB8 closed / SB21 open (PC1 → ETH_MDC instead of mic DOUT), R87 open / SB17 closed (PE2 → ETH_nINT instead of mic CLK)Software config:ETH set to RMII mode in CubeMX, all 9 RMII pins showing green in Pinout view (PA1, PA2, PA7, PC1, PC4, PC5, PG11, PG12, PG13) LWIP middleware enabled, static IP configured (matching my PC's subnet), no DHCP USART3 used for debug output via Putty Everything runs on CM7 only; CM4 isn't touching ETH/LWIPSymptom:The code intermittently jumps into HardFault_Handler(void) — not on every run, which points to a timing/cache-related issue rather than a hard config error. When it doesn't crash, ping still doesn't get a reply./* Private user code ---------------------------------------------------------*//*
I am using the STM32H7B3I-EVAL board. According to the user manual, both the ST-LINK Virtual COM Port and the RS-232 connector (CN9) use USART1 on PB14/PB15 in the default configuration.I have configured USART1 in asynchronous mode with:TX: PB14 RX: PB15 Baud rate: 115200 Hardware flow control: NoneThe ST-LINK VCP works correctly, and I can see the transmitted data on the PC. However, the RS-232 port on CN9 does not work.I am using a DTECH USB-to-RS232 cable connected to CN9.My questions are:Is any jumper or solder bridge configuration required to enable the RS-232 port, even when using PB14/PB15? Since both ST-LINK VCP and RS-232 share USART1, should the transmitted data appear on both interfaces simultaneously? Does CN9 require a straight-through RS-232 cable or a null-modem cable? Has anyone successfully used the RS-232 port on STM32H7B3I-EVAL with a USB-to-RS232 adapter?Any suggestions on what else I should check would be appreciated.
I created an external flash STLDR file for my board, with STM32H750VB chip and W25Q64 QSPI FLASH. After copying the STLDR file to the cubeprographer directory, it can perform normal external flash read/write and sector erase functions. However, when selecting full chip erase, the cubeprographer prompts me "please select external loader before performing external full chip erase". But I am sure that my code contains the correct int MassErase (void) function, and I used the readelf command in Ubuntu environment to read the STLDR file I created, which also includes the MassErase function. But it seems that this function cannot be correctly detected by the cubeprographer. How can I locate the cause and solve this problem?Wishing you peace
Hello Sir,We are currently facing a Country of Origin (COO) issue regarding the STM32F722RET6 MCU and would appreciate your assistance in clarifying the following questions.Could you please confirm whether the Country of Origin (COO) of the STM32F722RET6 is France, as indicated on the STMicroelectronics official website? Could you please provide the manufacturing locations for the STM32F722RET6, including: Wafer Fabrication (Wafer Fab) location Assembly location Testing location Your prompt assistance would be greatly appreciated.
Hi ST Community and Support Team,I am currently working with the STM32F722RET6 microcontroller and would like to seek some clarification regarding the physical markings on the chip package.Regarding the "CHN" marking on the IC surface, I would like to confirm the following details for compliance purposes:Back-end Origin: Does "CHN" confirm the assembly and test (ATP) was done in China (e.g., ST Shenzhen)? Wafer Diffusion Origin: Where is the front-end wafer fabrication usually performed for this part? Authentication: Please help verify the following laser-etched markings: Part Number: STM32F722RET6 Country Code: CHN
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.