Using PICO 2W (RP2350) having a battery powered PoC device (Waveshare PICO UPS) I'm trying to get some resonable low power consumption.
Under normal run I see consumptions ~ 22mA (as mentioned in the documentation, it looks ok).
When using the hardware_sleep module from pico-extras, I get around 3.5mA (sleep) or 2.5mA (dormant). My target is to get the consumption around 100uA (0.1 mA) if possible.
RP2350 can use powman to disable the memory modules (getting 1.6 mA). I tried using directly disabling memory (XIP, SRAM0, SRAM1), yet after the timeout the processor is reset (the main method executes from the start), I believe I'm doing something wrong and still not sure what.
Under normal run I see consumptions ~ 22mA (as mentioned in the documentation, it looks ok).
When using the hardware_sleep module from pico-extras, I get around 3.5mA (sleep) or 2.5mA (dormant). My target is to get the consumption around 100uA (0.1 mA) if possible.
Code:
void go_to_sleep() { uart_default_tx_wait_blocking(); aon_timer_get_time(&aon_time); // Get the current AON time sleep_run_from_lposc(); aon_timer_set_time(&aon_time); // Set the AON timer to the current time aon_time.tv_sec += 120; // Add 2 minites to the current time deep_sleep(); // Enter deep sleep mode}void __no_inline_not_in_flash_func(deep_sleep)(){ wake_up = false; // Reset the wake up flag sleep_goto_dormant_until(&aon_time, aon_timer_callback); // Dormant sleep until the AON timer alarm goes off sleep_power_up(); }void __no_inline_not_in_flash_func(aon_timer_callback)(void) { wake_up = true; // Set the wake up flag}RP2350 can use powman to disable the memory modules (getting 1.6 mA). I tried using directly disabling memory (XIP, SRAM0, SRAM1), yet after the timeout the processor is reset (the main method executes from the start), I believe I'm doing something wrong and still not sure what.
Statistics: Posted by gusto2 — Tue Jul 22, 2025 7:22 pm