2025-10-02 8:40 AM - last edited on 2025-10-03 3:50 AM by mƎALLEm
Hello everyone
In my application using an STM32H7, I noticed that the VBAT pin, with VDD off, draws 1.9 mA. This is excessive current draw.
I'm using a CR2032 battery in series with a 100R battery connected to the microcontroller's VBAT pin.
What could be the cause?
Is there any way to understand why it's drawing so much current?
NB: The datasheet states that the RTC draws 225 nA at 1.2 V, including the LSE's power consumption.
Thanks
Solved! Go to Solution.
2025-10-03 12:24 PM
Some stm32 have a few (very few) gpio pins in the VBat domain - see the data sheet and reference manual for your stm32 to check which apply to your stm32.
If you have one such pin set as GPIO output high then it will continue as logic high output when Vdd is removed, drawing current from VBat.
2025-10-03 9:09 AM
Hello @AndreaTW ;
Could you please precise which STM32H7 you are using?
Could you please share your code?
Thank you.
Kaouthar
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
2025-10-03 12:24 PM
Some stm32 have a few (very few) gpio pins in the VBat domain - see the data sheet and reference manual for your stm32 to check which apply to your stm32.
If you have one such pin set as GPIO output high then it will continue as logic high output when Vdd is removed, drawing current from VBat.
2025-10-03 12:52 PM
Hi Andrea — that 1.9 mA on VBAT with VDD off is definitely high for an STM32H7 (RTC + LSE should be ~nA/µA range). A few likely causes and quick checks you can do:
First, confirm it’s not hardware: measure VBAT with everything else disconnected (remove the coin cell or the resistor and measure at the MCU pin). Look for any accidental conduction paths (diodes, solder bridges or other circuitry) that could be feeding current into other rails. Also check whether VDD or another rail is being back-fed through IO pins, sensors, or level-shifters — a common cause of unexpected VBAT drain.
Second, suspect the backup domain and LSE: if the LSE oscillator or RTC isn’t properly configured for lowest power, it can draw µA–mA. Temporarily remove or lift the LSE crystal (or unsolder/disable it) and see if the current falls — if it does, the crystal or its loading network or oscillator bias could be the offender. If you can run code before cutting VDD, disable the RTC/LSE or put backup domain into lowest-power mode and then power VDD down and re-measure.
Third, check VBAT domain settings and board design: ensure no external pull-ups, LEDs, or buffers are connected to VBAT domain pins that remain powered. Review option bytes and power configuration — some features or debug pins can keep circuits awake. Also inspect the schematic for any diodes or MOSFETs between VBAT and other rails which could create leakage.
Finally, consult datasheet/errata for your exact STM32H7 part — there are device-specific notes about backup SRAM, tamper pins, and VBAT behaviour. If you still see high current after the above, share the schematic (VBAT area, crystal, and any FETs/diodes) and a photo of the board/measured voltages and I can help pinpoint it.
2025-10-05 11:46 PM
Thank you all.
Your answers helped me.
I checked and found a pin on my ST32H7 that stayed high when the VDD was off.
So, as a result (as you indicated), the VBAT pin was drawing more current.
Thank you so much.