cancel
Showing results for 
Search instead for 
Did you mean: 

STM32WL5MOC Custom Board Power Consumption Too High

JHCarter
Associate II

I have tested the LoRaWAN_End_Node example on a B-WL5M-SUBG1 board and I measure power consumption of 1.7uA when the processor is in STOP mode between transmissions.  This is exactly what I expected to see.

I designed a very simple custom board based on the B-WL5M-SUBG1 design, downloaded the same .elf file to it, and it communicates with my LoRaWAN gateway as I expect.  However I measure ~300uA current draw while it is in STOP mode.  I have compared my custom board schematic to that of the B-WL5M-SUBG1 several times looking for a difference that would account for that much extra power consumption and I just have not found it.

I am using STM32CubeMX v6.16.0, STM32Cube FW_WL V1.4.0, and the part is STM32WL5MOCH6TR.  I have attached the schematic of my custom board.

I am hopeful that someone can see what I have missed.

3 REPLIES 3
JHCarter
Associate II

After reviewing DS13293 and AN4899 with regards to unconnected pins I tried defining all unused pins to analog input with a pulldown in STM32CubeMX.  It made no difference in my current draw.

I am still searching for answers on this.  Any suggestions will be appreciated.

clintonkoepp
Associate
300 µA in STOP screams “something is still drawing 1 mW somewhere.”
90 % of the time it’s a pin that isn’t hard-defined.
  1. CubeMX → GPIO → every un-used pin → Analog, no pull.
  2. PB0 (TCXO_EN) → GPIO_output_low before HAL_PWREx_EnterSTOPMode().
  3. RF-CTRL1/2 → low; SUBGHZ → RadioSleep() then LL_RCC_RF_DISABLE().
  4. SWD pins (PA13/14) → analog; remove debugger completely for the test.
  5. If you fitted an external TCXO, make sure its VDD is off in STOP (PB0 low kills it).
  6. Any I²C/SPI pull-ups? Measure voltage across them – 3 V ÷ 10 kΩ = 300 µA per resistor.
  7. Still high? Probe VDDSMPS: if you see ripple the SMPS is awake; call HAL_PWREx_SMPS_DisableBypass() or force bypass and shut it down.
Do those seven and you’ll be back to the DK’s 1-2 µA.

Thanks for the help.  It turns out that "remove the debugger completely for the test" and configuring pullups on PA2 and PA3 (UART pins) did the trick.  It draws about 1.2uA in STOP mode now.