Wio E5 mini ultra low power mode?
Does anyone know if it's possible to get Seeed Studio's Wio E5 mini dev board close to the documented 2.1uA power draw in sleep mode?
I'm running custom firmware but I can't get it below 0.5mA which just isn't good enough for a battery operated sensor that should be able to operate out in the field without having to change the battery every couple of months. (I'm aiming for 1 year at least)
This is just a hobby project so I'm using the mini dev board.
So is it possible to get somewhere near that number using that board or is that just completely off the table?
In case anyone is interested, this is my current test code:
#include <Arduino.h>
void disableFrameworkLowPowerHoldouts() {
HAL_DBGMCU_DisableDBGSleepMode();
HAL_DBGMCU_DisableDBGStopMode();
HAL_DBGMCU_DisableDBGStandbyMode();
if (LL_RCC_HSE_IsEnabledTcxo() != 0U) {
LL_RCC_HSE_DisableTcxo();
}
}
void configureAllPinsAnalog() {
GPIO_InitTypeDef gpioInit = {};
gpioInit.Mode = GPIO_MODE_ANALOG;
gpioInit.Pull = GPIO_NOPULL;
gpioInit.Pin = GPIO_PIN_All;
__HAL_RCC_GPIOA_CLK_ENABLE();
__HAL_RCC_GPIOB_CLK_ENABLE();
__HAL_RCC_GPIOC_CLK_ENABLE();
__HAL_RCC_GPIOH_CLK_ENABLE();
HAL_GPIO_Init(GPIOA, &gpioInit);
HAL_GPIO_Init(GPIOB, &gpioInit);
HAL_GPIO_Init(GPIOC, &gpioInit);
HAL_GPIO_Init(GPIOH, &gpioInit);
__HAL_RCC_GPIOA_CLK_DISABLE();
__HAL_RCC_GPIOB_CLK_DISABLE();
__HAL_RCC_GPIOC_CLK_DISABLE();
__HAL_RCC_GPIOH_CLK_DISABLE();
}
void enterLowestPowerMode() {
HAL_SuspendTick();
disableFrameworkLowPowerHoldouts();
HAL_PWR_DisablePVD();
HAL_PWREx_DisablePullUpPullDownConfig();
HAL_PWREx_DisableInternalWakeUpLine();
HAL_PWR_DisableWakeUpPin(PWR_WAKEUP_PIN1);
HAL_PWR_DisableWakeUpPin(PWR_WAKEUP_PIN2);
HAL_PWR_DisableWakeUpPin(PWR_WAKEUP_PIN3);
configureAllPinsAnalog();
__HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU);
HAL_PWREx_EnterSHUTDOWNMode();
}
void setup() {
enterLowestPowerMode();
}
void loop() {
}
Posted Jul 8, 2026, 11:57 AM UTC
12