cancel
Showing results for 
Search instead for 
Did you mean: 

Problems with Shutdown on STM32WB10

Ugilten
Associate III

Hi,

I am creating a battery operated device using the STM32WB10 and I need to figure out how to make use of the claimed 30nA shutdown current consumption. (I realize this is at certain voltage and temperature ranges).

The best I have been able to achieve is 140µA with an absolute basic program like this

void main()
{
   HAL_Init();
   SystemClock_Configure();
   HAL_Delay(1500); //to verifiy the current decreases
   HAL_PWREx_EnterSHUTDOWNMode();
   while(1);
}

If I create a more productive application using the CPU2 and BLE, then I am not able to enter shutdown mode, and it seems the stop0/1 modes are also non functional.

My guess is that I need to stop the CPU2 or reset somehow in order to halt the BLE stack (running the full BLE stack from ST).

But how do I do that???

In essens I need to know the correct way to turn the BLE stack on and off so I am able to use the shutdown feature.

As a side note, all the documentation online states that there are 5 external wakeup pins on these devices (as on slide 23 on this

6 REPLIES 6
Ugilten
Associate III

Continued...

but only 2 are available... What is this about?

Ugilten
Associate III

This link I wanted to add in the first post is this (and then slide 23)

Hi I have just tried this, but with no success.

I decided to try the PWR_EnterStandbyMode example on the Nucleo-WB15CC dev board.

Measuring the current on JP2 I am able to get 580µA in both standby and shutdown mode.

I would think the ST example would be able to showcase the specifications from the datasheet...

My guess is that the CPU2 on the WB15/WB15 needs to get a command to go into sleepmode aswell, But I can't find the register or bits to do this...

The CPU2 most likely needs some additional management, but other than that the only thing the HAL/Cube team can showcase is how incompetent they are. The reason why I wrote that article is that all of ST's examples are broken and they don't care.

Ugilten
Associate III

I have successfully made it enter the Shutdown mode, without starting CPU2.

At least now I know it is possible.

One thing I found was, I had to disable the Internal Wakeup Line for CPU1 before entering Shutdown. Otherwise it would just restart the processor again.

The next issue will be to start and stop the BLE Stack (CPU2) correctly.

Onward and upward 8)

@Piranha​ I can only agree with your last comment :pensive_face: