cancel
Showing results for 
Search instead for 
Did you mean: 

High Peak Current (17-18mA) in Active Mode on STM32WB55RG After RTC Wake-Up from Shutdown – Expected During Zigbee RF Activity?

prashantranpura
Visitor

Hello STM32 Community,

I'm working on a project using the STM32WB55RG microcontroller (specifically the P-NUCLEO-WB55 evaluation board) to implement a sleepy end device in a Zigbee network. The goal is to transmit data over Zigbee periodically and then enter shutdown mode, with the RTC serving as the wake-up source to minimize power consumption during sleep periods.

Setup and Configuration:

  • Hardware: P-NUCLEO-WB55 EVM based on STM32WB55RG.
  • Functionality: The device wakes up from shutdown mode via RTC, enters active mode to perform Zigbee transmission, and then returns to shutdown.
  • Clock Settings:
    • Cortex-M4 core clock set to 32 MHz (default).
    • Cortex-M0+ core clock also set to 32 MHz (matching the M4 frequency).
  • Note on M0+ Clock: We attempted to reduce the M0+ clock frequency for potential power savings, but the IOC (STM32CubeMX configuration tool) does not allow this adjustment – it enforces the same frequency as the M4.

Issue Observed:

When the device wakes up from RTC-triggered shutdown and enters active mode (including M0+ boot-up and initial RF activity for Zigbee), we're measuring a peak current consumption of 17-18 mA. This is observed consistently using a TBS 2000B series digital storage oscilloscope (DSO) connected to monitor the power draw.

This peak occurs right after exiting shutdown mode, during the active state when the system is initializing and preparing for Zigbee transmission. In shutdown mode itself, we are able to achieve expected current consumption mentioned in datasheet around 300-400nA.

Optimization Attempts:

We've tried several power-saving techniques to reduce this active-mode current, but none have made a noticeable difference:

  1. Unused Pins Configuration: In the STM32CubeMX IOC file, under the Code Generator tab, we enabled "Set Analog State" for all unused GPIO pins to minimize leakage.
  2. Reduced M4 Clock Frequency: We lowered the Cortex-M4 clock to 4 MHz (while keeping M0+ at the enforced frequency), but the DSO still shows the same 17-18 mA peak pattern during active mode.
  3. Default Configuration Testing: All tests were done with the reference low power example projects available in stm32wb55 package(STM32Cube_FW_WB_V1.23.0) without custom optimizations beyond the above.
  4. Varied TX RF Power: We tested with different TX RF power levels set from -20 dBm to +6 dBm (as mentioned in the datasheet) using the ZbNwkIfSetTxPower function. Despite these changes, we observed the same peak current of 17-18 mA on the DSO.

Despite these efforts, the current consumption remains unchanged at 17-18 mA during the active phase.

Questions:

  1. Is this 17-18 mA peak current expected behavior for the STM32WB55RG in active mode, particularly during M0+ boot-up and RF initialization or RF operations for Zigbee activity?
  2. Given that the IOC prevents reducing the M0+ clock frequency independently, are there any other ways to optimize power consumption in this wake-up/active scenario? For example:
    • Specific register configurations or firmware tweaks to lower current during boot/RF setup?
    • Any known errata, application notes, or examples for ultra-low-power Zigbee end devices on this MCU?
    • Recommendations for measurement setup to ensure accuracy (e.g., bypassing certain components on the EVM)?
  3. Could this be related to the dual-core architecture or Zigbee stack overhead, and is there a way to confirm or mitigate it without hardware modifications?
  4. Based on your experience, what could be the expected active current consumption with Zigbee RF activity? In the datasheet, we have not found any instances where current consumption is specified for different RF TX power levels in 802.15.4/Zigbee mode. For example, at lower powers like -20 dBm or up to +6 dBm, should we expect significantly lower currents (e.g., 5-10 mA including CPU), or is the peak possibly from initialization phases independent of TX power?

I've reviewed the STM32WB55 datasheet and reference manual, but the power consumption figures for active modes seem lower under ideal conditions (e.g., around 5-10 mA depending on peripherals). Any insights, similar experiences, or suggestions from the community would be greatly appreciated to help us achieve better battery life.

If needed, I can provide more details such as the IOC file, code snippets, or DSO screenshots.

Thank you in advance for your help!

Best regards,

0 REPLIES 0