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

Excessive current draw in sleep mode

We are seeing about 500 uA in sleep mode and we expect to see under 2 uA. We are using an nRF52810 on a BMD-330 module on SDK 16.0.0.

Here's the relevant code...

static void power_management_init(void)
{
    ret_code_t err_code;
    err_code = nrf_pwr_mgmt_init();
    APP_ERROR_CHECK(err_code);
}

/**@brief Function for handling the idle state (main loop).
 *
 * @details If there is no pending log operation, then sleep until next the next event occurs.
 */
static void idle_state_handle(void)
{
  nrf_pwr_mgmt_run();
}

int main(void)  
{

    SEGGER_RTT_Init();
    log_init();
    initIOS();

    power_management_init();
    ble_stack_init();

    sd_ble_gap_addr_get(&mac);
    saadc_init();
    saadc_sampling_event_init();

    debugPrint("IoTTemp started.\n");
 //   setOutput("LED", 1);

    sampleADCAndAdvertise();

    for (;;)
    {
       idle_state_handle();
    }
}
 

nrf_pwr_mgmt_run is a built-in Nordic function. Is there anything else I need to do to put it in low power mode?

Related