cancel
Showing results for 
Search instead for 
Did you mean: 

STM32WB5M sleepy end device low power issues - Revision X / Y as cause?

TThan
Associate III

Hi all,

some time ago I successfully developed a firmware for a ZigBee sleepy end device running on a STM32WB5MMG module. I could manage the module to draw only about 3µA in low power mode while still being able to communicate a button press over the ZigBee network.

Now we started production of this device, but the newly assembly parts draw about 160µA instead of the expected 3µA. Even when running exactly the same firmware.

The prototypes (3µA) and the production boards (160µA) are almost identical, just a different form factor of the PCB. But same parts on it.

The only difference I could find was the revision of the STM32WB5M module. The prototypes used parts with marking "Y" (device ID 0x494 0x2001) and the production parts use parts with marking "X" (device ID 0x494 0x2003).

My assumption is that the prototypes did works with low power by chance only. I assume I missed something when entering STOP2 mode?

My firmware is based on the "Sleepy End Device" example from Wireless SDK version 1.18.

Both devices use the ZigBee_RFD_1.18 wireless stack.

My tests are:

DeviceFirmwareCompile DateLow Power Current
PrototypePrototypeFeb 20243µA
ProductionPrototypeFeb 2024160µA
PrototypeRecompiled for new device stringsJune 2024160µA
ProductionRecompiled for new device stringsJune 2024160µA

I did always use the latest GCC suite available from ST at the compile date.

I did nothing special but set "CFG_FULL_LOW_POWER=1" in app_conf.h to achive low power modes when idle. Everything else is handled by the tiny_lpm and the Sequencer.

Any help on this topic is more than appreciated. Thank you very much!

Best Regards

  Thomas

 

0 REPLIES 0