ARMmbed / mbed-os

Arm Mbed OS is a platform operating system designed for the internet of things
https://mbed.com
Other
4.66k stars 2.97k forks source link

STM32WL Deep Sleep STOP1 over consumption #15452

Closed hallard closed 9 months ago

hallard commented 1 year ago

Description of defect

We have a custom board with RAK3172 (STM32WL). We use a lot of different boards with this chip for low power and we never had issue with mbed going to consumption of approx 1.5uA un sleep mode (STOP2 default mbed for this target). We changed to go to STOP1 because we need LPTIM2 and the consumption is not the one expected in the datasheet and here

image

Target(s) affected by this defect ?

STM32WL

Toolchain(s) (name and version) displaying this defect ?

The one with MBED Studio

What version of Mbed-os are you using (tag or sha) ?

main and latest release, both

What version(s) of tools are you using. List all that apply (E.g. mbed-cli)

mbed Studio ones

image

How is this defect reproduced ?

Change STOP2 to STOP1 in sleep.c

    HAL_PWREx_EnterSTOP2Mode(PWR_STOPENTRY_WFI);

by

    HAL_PWREx_EnterSTOP1Mode(PWR_STOPENTRY_WFI);

in STOP2 our board is 1.5uA (expected) and in STOP1 it's 24uA instead of 7uA expected

So I decided to give a try with ST official sample code for STM32WL PWR_STOP2_RTC doing same changes, ie change HAL_PWREx_EnterSTOP2Mode to HAL_PWREx_EnterSTOP1Mode and then results are the one expected

STOP2 is 1.5uA (don't change) and in STOP1 it's 7uA. I also activated LPTIM2 on ST Sample code to be sure, same results (7uA)

So I'm asking experts @jeromecoutant @0xc0170 if we don't miss something for STOP1 mode (but as STOP2 is more 'cutting' things than STOP1 I'm curious how can it be possible.

We tried on severals boards with same issue.

Thanks

mbedmain commented 1 year ago

@hallard thank you for raising this issue.Please take a look at the following comments:

What toolchain(s) are you using?

NOTE: If there are fields which are not applicable then please just add 'n/a' or 'None'. This indicates to us that at least all the fields have been considered. Please update the issue header with the missing information.

hallard commented 9 months ago

This one is resolved it was related to a diode leak current / capacitor on specific boards, 7µA was good after few minutes so we put 10K in // of the capacitor (only powered when reading sensors) now STOP1 directly goes to 7µA