cancel
Showing results for 
Search instead for 
Did you mean: 

STM32WB Low power manager

CMiqu.1
Associate II

Hi everybody,

I'm a student in a French engineering school currently working on a project including the STM32WB wireless CPU series. For the sake of simplicity, I'm just going to say that my project basically consist in establishing a BLE connection using a 1000 µF capacitor as my only energy source.

 

Here comes my question : I've tried using the "Low power manager" that comes with the sequencer when generating the code trough CubeMx : I've enabled it in app_conf.h aswell as disabled all debugging options and made sure it was configured for the StopMode2. My understanding is that my STM32WB should enter StopMode between 2 advertising packets, so if I monitor the consumption , I should be able to see it drop to a couple µA when in StopMode and rising back up for a very short time everytime a packet is sent.

 

However, when configuring the advertising to send a packet every 5 secondes, my energy comsumption do not drop to a couple µA after sending the first packet. My guess is that i'm not actually entering StopMode but I can't figure out why.

 

Any help is greatly appreciated, sorry for my bad english.

5 REPLIES 5
CMiqu.1
Associate II

.

Christophe Arnal
ST Employee

Hello,

I would recommend to start from the BLE_HearRate which is the only BLE application which is by default setup to achieve the lowest power consumption.

This should allow you to check your setup used to measure power consumption.

If the measurement are confirmed to be fine, I would compare the two app_conf.h. The over consumption may come from the debugger which is still enabled or some UART enabled for the traces.

Regards.

CMiqu.1
Associate II

Hi,

Thanks you very much for your help and sorry for my late answer. We went trough the BLE_HeartRate application : our tools aren't precise enough to measure the consumption jumps between the StopMode and the TX but we're able to get an average over a "large" period of time. We've managed to lower our consumption to about 300 µA ( at 3.3 V) and established a connection with a 1000 µF capacitor ; realising our previous goal. We're still testing some parameters ( DBm, Advertising intervals ... ) to improve it even further but we've made great progress.

On a side note, do you reckon it would be possible to "prevent" the STM32WB from starting if the power voltage is below 3.3V using the power voltage detector (PVD) or is there maybe easier solutions ?

Thanks again for your help

Scott Löhr
Senior II

Ok, I withdraw my feedback as I obviously have no clue what is your problem.

Hi, thanks for your answer.

I'll confess our work is a little "messier" than what I would like it to be and we might have not gone trough every steps you explained; however I don't think you understood what the current measurement I gave above is refering to. Those 300 µA are my "global" consumption (StopMode + Advertising) across JP2 while advertising ( measured with a basic ammeter ) and that actually matches the consumption from the HeartRate example. When it comes to STOP2 on its own, we've already measured its consumption and we've indeed found the 2 to 4 µA that are mentionned by the datasheetof the STM32WB55. Sorry if I wasn't clear enough.

As for the side note : you need to imagine that our vdd is a capacitor that is (very slowly) getting charged up to 3.3V. So the idea would be that instead of entering STOP2 when it gets too low, entering STOP2 (or standby) as soon as possible after wake up and starting the BLE loop once the 3.3V is reached.