2023-08-30 12:51 AM - edited 2023-08-30 11:21 AM
Questions are at the end
I did some measurements with nucleo stm32l053r8, stlinkv2 cut off, led3 removed
power supply form v3pwr via
Tools used
Measuring current
Code Basis: cubemx stm32 project for stm32l053r8 with
Measurement settings : voltage 3.3V, sampling frequency 100 Hz
int main(void)
{
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_USART2_UART_Init();
/* USER CODE BEGIN 2 */
while(1) {
}
/* USER CODE END 2 */
…
stm cubemonitor power, multiple measurements
multimeter in power line
multimeter in IDD
Expected for MCU at 3.3V and 1 MHz, see “Table 28. Current consumption in Run mode, code with data processing running from Flash”
-> Should fit for 1MHz run from Flash
int main(void)
{
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_USART2_UART_Init();
/* USER CODE BEGIN 2 */
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
__HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU);
HAL_PWR_EnterSTANDBYMode();
…
stm cubemonitor power, multiple measurements
multimeter in power line
multimeter in IDD
Expected; see "Table 36. Typical and maximum current consumptions in Standby mode"
No IWDG / LSI OFF TA = − 40 to 25°C 0.29 0.6 uA
IWDG / LSI ON TA = − 40 to 25°C 1.3 1.7 uA
Should be OK as not configured to use LSE
Given Run Mode
~375uA Board incl MCU - ~210uA MCU —> ~165uA board
UART2 is configured but not in action
Given Standby Mode
~162uA Board incl MCU - ~2uA MCU —> ~160uA board
Where is the ~160uA going on the board
A current jump as in the screenshot has happened to me quite often. Is this OK for the v3pwr ?
2023-08-30 04:33 PM
Schematic should guide you on where to look.
Looks like you are backpowering U4 which is surely drawing some current. Removing SB2 would solve.
Current will spike as the MCU does stuff. No need to be concerned.
2023-08-30 10:17 PM - edited 2023-08-30 10:17 PM
ok, will try to remove SB2 cleanly - it's on the top side next to some C and i have no good SMD (un)soldering equipment. will report.
as far as i think the current sawtooth should not be caused by some mcu action, the mcu should standby (code).
2023-09-04 12:38 AM
i removed sb2 and now get , with the same code that goes to standby, roughly 1.85 uA consumption.
a) that consumption is fine
a1) it would be great if sb2 was a (mini)jumper
a2) would not have expected that U4 consumes that much current when backpowered, but i'm a software developer
b) the jump in the graph still has no explanation. i saw similar jumps before. still wondering if this is some v3pwr artefact