current in deepSleep mode STM32F103C8, STM32F401CC
Posted: Fri Nov 10, 2023 9:30 am
Hi,
I'm new to this forum and hope this question is at the right place.
In an OpenSource project we are developing some hardware gathering data on beehives.
These are lowpower systems so that they can run on battery for a long time.
This works very well with STM32F103C8 (Blue Pill) or STM32F401 (Black Pill) module when using shutdown modes.
We are using Arduino IDE 1.8.19 or 2.2.1, STM32 MCU Boards Ver. 2.6, STM32LowPower (1.2.4) and STM32RTC (1.3.7) libs.
With the example sketch "AlarmTimedWakeup" and "TimedWakeup" the current drawn by the complete setup is about 10uA to 30uA
using LowPower.shutdown() instead of LowPower.deepSleep().
Using LowPower.deepSleep() with the STM32F103 (Blue Pill) the current is still within the range of some 10uA.
The excact same sketch in the STM32F401 (Black Pill) needs a current of about 1,5mA, which is far to high for a battery powerd system.
Obviously there seems to be a major difference how the STM32F401 handles the deepSleep mode.
The questions are:
Are we doing something wrong?
Could the current drawn by the STM32F4 reduced with some additional coding?
I tried to get some infos on that searching several forums and going through the STM32F4 HAL documentation.
But, sorry, I didn't find the clue yet. May be I don't have enough not knowledge to get things together.
Any help or hint is appreciated.
Thanks.
I'm new to this forum and hope this question is at the right place.
In an OpenSource project we are developing some hardware gathering data on beehives.
These are lowpower systems so that they can run on battery for a long time.
This works very well with STM32F103C8 (Blue Pill) or STM32F401 (Black Pill) module when using shutdown modes.
We are using Arduino IDE 1.8.19 or 2.2.1, STM32 MCU Boards Ver. 2.6, STM32LowPower (1.2.4) and STM32RTC (1.3.7) libs.
With the example sketch "AlarmTimedWakeup" and "TimedWakeup" the current drawn by the complete setup is about 10uA to 30uA
using LowPower.shutdown() instead of LowPower.deepSleep().
Using LowPower.deepSleep() with the STM32F103 (Blue Pill) the current is still within the range of some 10uA.
The excact same sketch in the STM32F401 (Black Pill) needs a current of about 1,5mA, which is far to high for a battery powerd system.
Obviously there seems to be a major difference how the STM32F401 handles the deepSleep mode.
The questions are:
Are we doing something wrong?
Could the current drawn by the STM32F4 reduced with some additional coding?
I tried to get some infos on that searching several forums and going through the STM32F4 HAL documentation.
But, sorry, I didn't find the clue yet. May be I don't have enough not knowledge to get things together.
Any help or hint is appreciated.
Thanks.