2025-12-04 9:11 AM
We are facing an issue with the RTC on our STM32L-series microcontroller board. Below are the actions we tried and their outcomes:
Main issue:
When the battery is connected to the supercapacitor for the first time, the RTC initializes correctly.
But when we simulate a power loss by manually removing the main power and reconnecting it, the RTC clock fails to configure on the second initialization.
Tests performed:
Removed the supercapacitor and replaced it with a coin cell and an RPS → the clock still fails to configure.
When the system is configured without any backup power source, the system clock initializes and works normally.
Referred to this article: https://mischianti.org/stm32-internal-rtc-clock-and-battery-backup-vbat/ and tested the small noise-suppression circuit, but it did not resolve the issue.
Tried fully resetting the RCC using:__HAL_RCC_BACKUPRESET_FORCE();
__HAL_RCC_BACKUPRESET_RELEASE();
2025-12-04 9:34 AM
The L1 series had a latch-up issue as I recall. Also didn't have an independent VBAT pin.
Might need specific procedures to remove power source and then reconfigure and pull current time/date from host system, say via (S)NTP.
Might also need to look at how power loss is handled / managed, and put into STANDBY, and flagging of power-up mode, standby and tamper type events.
2025-12-04 10:00 AM
2025-12-05 12:32 AM
> when we simulate a power loss by manually removing the main power and reconnecting it, the RTC clock fails to configure on the second initialization.
What do you mean by "RTC clock fails to configure"? If there is enough voltage on VBAT pin (i.e. supercap or battery connected to it), you don't need to configure the RTC again - if it retains time, it retains also its configuration.
JW
2025-12-05 12:46 AM
Hi thanks for the reply, I am using STM32L4 series board and also i am facing issue during the second initialization i.e after main power loss and powering back the board.
2025-12-05 12:56 AM
Hi thanks for the reply, the clock doesn't configure the second time, and is there a way to check my LSE state during my clock initialization?
2025-12-05 1:00 AM
I don't use Cube so can't help with that. However, Cube is open source, so you can debug it as your own code.
You can check state of the clocks in the respective RCC registers, namely, LSE state is given by the LSERDY bit in RCC_BDCR. You can do this in debugger, too.
JW
2025-12-05 1:54 AM - edited 2025-12-05 1:55 AM
You haven't showed your schematic - see: How to write your question to maximize your chances to find a solution
Remember that Supercaps are not like batteries: the voltage decays gradually to zero - unlike batteries, which tend to keep a (relatively) steady voltage until they die:
#SuperCap #SuperCapVsBattery
2025-12-05 4:38 AM
Hi everyone,
Here are a few additional details that I missed in my original post. The supercapacitor is connected directly to VBAT. Could this configuration cause any issues?
I am also facing a problem when I reconnect the main power for the second time on the STM32L4 series board. At that point, I encounter an LSE timeout issue.
Any insights or suggestions would be greatly appreciated. Thank you.
2025-12-05 6:19 AM
Still missing hardware details.
Please show the schematic - much more effective than trying to describe electronic circuits in words!