cancel
Showing results for 
Search instead for 
Did you mean: 

Fake STOP2 values Advertisement using L452

MikeLorden
Associate II

I don't care if this post breaks some sort of forum usage rule, I am really sick and tired of trying to get the same STOP2 values advertised in the STM32L4 datasheet. I’m starting to believe that these values are just *** to attract customers, they have nothing to do with reality. I am expecting a range of 2uA, but my current is between 700 and 1000uA.

Also, would you consider explaining how to reach minimal current consumption in a dedicated document?

7 REPLIES 7
Sarra.S
ST Employee

Hello @MikeLorden

Could you please provide more details regarding the peripherals used in STOP2? As you may know, some peripherals remain functional and can add to current consumption as shown in the image below (I2C3, LPUART1, LSE, or LSI …) 

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.

MikeLorden
Associate II

Peripherals used are: USART1, USART2, USART3, I2C3, QUADSPI

Sarra.S
ST Employee

Hello @MikeLorden 

I2C3 is adding to the consumption, if not necessary, you may need to disable it. Regarding other peripherals, you can still enable them and set all their GPIO as analog, and the current should be as expected. To do so, add this code, between /* USER CODE BEGIN 2 */ and /* USER CODE END 2

/* USER CODE BEGIN 2 */ /* Set all GPIO in the analog state to reduce power consumption, */ __HAL_RCC_GPIOA_CLK_ENABLE();
 __HAL_RCC_GPIOB_CLK_ENABLE(); 
__HAL_RCC_GPIOC_CLK_ENABLE();
 __HAL_RCC_GPIOD_CLK_ENABLE();
 GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; 
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; 
GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Pin = GPIO_PIN_ALL; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); __HAL_RCC_GPIOA_CLK_DISABLE();
 __HAL_RCC_GPIOB_CLK_DISABLE();
 __HAL_RCC_GPIOC_CLK_DISABLE();
 __HAL_RCC_GPIOD_CLK_DISABLE(); MX_GPIO_Init();
 /* USER CODE END 2 */ 

 

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.

MikeLorden
Associate II

I tried as you suggested and as expected it does bring the current down to 2.6uA. Thank you for your support.

MikeLorden
Associate II

BTW, I’m using RTC alarm to wake up from STOP2, but I would need to change the interval to 30s while the program is running. The problem is that the change will not be overwritten.

Sarra.S
ST Employee

This is a separate issue. Please, avoid asking different subjects in the same thread. 

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.

Lina_DABASINSKAITE
Community manager
Community manager

test notifications


In order 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.