Hello all,
We have a small board designed around the STM32F469VIT6. Trying to characterize our circuits, we started to measure the current consumption of the board with various portions of our circuit turned ON or OFF. Eventually we ended up with just the microcontroller running and everything turned OFF. Current draw in this case is some 80mA. Next step was to reset the micro (there is a dedicated button on the board for that). Expectation was to see current close to 0, some 10s of microamps...but nope! We got a whooping 10...13mA current draw.
Eager to determine the cause we started to chase various leakage paths, without much success. Frustrated, I decided to sacrifice a board and I started to take down the ICs one after the other, but the stubborn consumption was still there. After removing all the ICs I did the same for passives, but still 10...13mA consumption.
Eventually I ended up with just the microcontroller on the board and its necessary decoupling capacitors. I supply it directly with 3.3V from a lab power supply. And yes, the 10...13mA was still there, slowly continuously drifting up and down between these two values. At this point I took a break and investigated the problem theoretically a bit. I came across this post on the STM forum, which made some sense:
https://community.st.com/s/question/0D50X00009XkddqSAB/stm32f401-power-consumption-in-resetThe pins being configured as inputs during reset could indeed lead to increased consumption, but... really, 10mA seems quite too much even for that. The flash being programmed or erased did not make any difference (initially I thought there might have been some RTC running or something like that but obviously, this is not the case)
So I decided to erase the flash and connect all IO pins to GND (I did the flash erasing to make sure no pin is configured as output high by a running software, when out of reset). After connecting all IO pins to GND, I got the current consumption in RESET down to 7mA. Better, but still 10 times higher than what I expected (after all, there are some low power modes in which the micro is running, and for which the datasheet advertises below 1mA of current draw).
There must be some other cause than the IO pins for this consumption. If I measure the VCAP1 and VCAP2 pins I see 1.12V while in RESET, whereas the normal value for running mode is 1.32V. This suggests me that the internal regulator is ON during RESET, but in Power Scale 3, as opposed to Power Scale 1 (see Attachment2.png, screenshot from Operating conditions in datasheet). If the internal voltage regulator is ON, a hole lot of other things might be ON, too. But I cannot determine what sections are ON during RESET, from the datasheet. And as acknowledged in the post from the ST forum, the current consumption in RESET is not specified in the datasheet either.
The internal pull-up of the micro on the NRST pin is in the range of 40kOhm, so that is not the cause for this large current consumption.
What else could I investigate?
I have placed a schematic of what's left on the board in Attachment1.png. Note that by now the IO pins (and also the oscillator pins) are connected to GND. I have left the BOOT pins connected to GND through the pull-down resistors.
Best regards,
Cristian