Skip to main content
MadANDT
Associate
May 28, 2025
Solved

STOP0 mode with STM32WL55JCx

  • May 28, 2025
  • 3 replies
  • 677 views

Hello everyone,

I'm currently working on several projects on STM32Cube IDE with each of them implementing the different low-power modes available on the Nucleo-WL55JC1 board (Sleep, LPR, LPS, STOP0-1-2, Standby and Shutdown).
For each of them, I followed some of the tutorials already made on other boards/CPUs online, such as the ST wiki page on PWR, in order to know which HAL functions and specific configurations should I look for. Even for small tips such as masking interrupts or configuring all unused GPIOs pins to Analog mode.

Everything was fine, until I arrived to the STOP0 mode.

To demonstrate any sleep mode, I'm usually trying to make the MCU go to sleep before waking it up with a button (waiting for an interrupt) and making blink some LEDs to testify the MCU has indeed woken up.

To measure the current consumption, I am using the Otii software solution. After downloading the code to the board, I use the Otii module as an external 3.3V power supply. Of course, I thoroughly check the jumper positions to avoid any abnormal current measures. 

I did, and re-did, the project several times, with different configurations (clock source/frequency, waiting for event, waiting for interruption, etc.) and the whole code seems correct: LEDs are blinking but the current I am measuring is superior to 5 mA...

Instead of the hundredths of µA the datasheet indicates.

I join the .ioc and .c files if you'd like to lend a hand and help me spot where the problem might be.

 

Huge thanks in advance!

M.A.

Best answer by MadANDT

Hello again!

After changing some of the equipment: Otii3 / Otii Arc Pro → nRF Connect for Desktop / PPK2)
and configuration: measuring using E5V / GND pins on CN7 → PIN1/2 on jumper JP1,
at last, I finally managed to get the hundredths of µA in current consumption during STOP0 mode.

WL55-STOP0 mode _ nrf measure.jpg

I misunderstood what I was measuring: using E5V/GND pins on CN7 allows to record data on current consumption for the whole board (NUCLEO-WL55JC),
whereas using PIN1/2 on jumper JP1 measure the current consumption for the MCU only (STM32WL55JCx).
Below is how I set up my PPK2 (along with the software) to measure the current consumption:

draft-brouillon.jpg

3 replies

ST Employee
May 29, 2025

Hello @MadANDT, Thank you for detailed description! 

You should be using WFE Exit so that it detects the EXTI Line (Internal or External). 

You can also check the FW examples provided in STM32CubeWL/Projects/NUCLEO-WL55JC/Examples/PWR at main · STMicroelectronics/STM32CubeWL · GitHub

MadANDT
MadANDTAuthor
Associate
June 2, 2025

Hello @Sarra.S!
Thank you for your attention to my problem.

I apologize for answering late, lab was closed since Thursday and I only got back today...

I tried what you suggested as my eighth test: a simple test of the HAL function HAL_PWREx_EnterSTOP0Mode(PWR_STOPENTRY_WFE) .

I configured the PA0 pin (user button 1) first as an external interrupt mode and in a second time as an external event mode (both times waiting on falling edge).

 /* USER CODE BEGIN WHILE */
 while (1)
 {
	 HAL_SuspendTick();

	 HAL_PWREx_EnterSTOP0Mode(PWR_STOPENTRY_WFE);

	 HAL_ResumeTick();
 /* USER CODE END WHILE */

 /* USER CODE BEGIN 3 */
 }
 /* USER CODE END 3 */
}

I also followed what was already done in the examples from the repository on GitHub.

Unfortunately, it turns out no matter what entry mode (WFI/WFE) I choose, the result is still the same, see screen capture below:

measuringCurrent2.png

• In green is the current consumption I am aiming for (which I obtained through an error on my wiring: the ST-LINK was still plugged on the board, resulting in a short-circuit).

• In blue is the simplest example (PA0 as an External event, falling edge) with the stop mode entry as WFE.

• In orange is what I got from following the example on GitHub (the dual core one, even though I want a single core version, I tried it anyway).

 

I don't know if I'm supposed to wait for a special flag to be raised/cleared, or if the problem is from elsewhere. Maybe the clock configuration (?), I used the same for every test, see screen capture.

clock_Conf.png

 

If any idea crosses your mind, I'm still looking for help.
Many thanks in advance!

 

M.A.

 

 

MadANDT
MadANDTAuthorBest answer
Associate
June 10, 2025

Hello again!

After changing some of the equipment: Otii3 / Otii Arc Pro → nRF Connect for Desktop / PPK2)
and configuration: measuring using E5V / GND pins on CN7 → PIN1/2 on jumper JP1,
at last, I finally managed to get the hundredths of µA in current consumption during STOP0 mode.

WL55-STOP0 mode _ nrf measure.jpg

I misunderstood what I was measuring: using E5V/GND pins on CN7 allows to record data on current consumption for the whole board (NUCLEO-WL55JC),
whereas using PIN1/2 on jumper JP1 measure the current consumption for the MCU only (STM32WL55JCx).
Below is how I set up my PPK2 (along with the software) to measure the current consumption:

draft-brouillon.jpg