This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Sleep current with GPIOTE enabled

This test program is modified from examples\pin_change_int\main.c, I add the instructions to put the cpu to sleep. And I add nrf_gpio_input_disconnect() for all the pins except BSP_BUTTON_0 and BSP_LED_0. Everything else remains as original example.

int main(void)
{
    gpio_init();

    while (true)
    {
        // Enter System ON sleep mode
        __WFE();
        __SEV();
        __WFE();
    }
}

By using a DMM to measure the current, I get about 8 uA (I use external power, not USB). When I use the Nordic Power Profiler Kit, I also get similar average current. I notice the graph shows a peak about every 5.2 msec. image description

Is there some timer left running by default? Does the GPIOTE require some clock running during sleep?

I saw this thread, devzone.nordicsemi.com/.../ I ran the "System On" example, I get about 12 uA during sleep, but 2.6 uA was expected.

Related