Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs
This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nrf52832 idle current is not 2uA

I have programmed my device with ble_app_rscs available on nRF5_SDK_15.3.0_59ac345. I was expecting it the main loop 

for (;;)
    {
        idle_state_handle();
    }

the device will only consume 2 uA however it is consuming  8 uA. Can you assist me on why is that the case? is there something I am not switching off?

Parents Reply Children
  • Hei, 

    I am testing it directly from the SDK with these changes in the main 

    int main(void)
    {
        bool erase_bonds;
    
        // Initialize.
        //log_init();
        timers_init();
        //buttons_leds_init(&erase_bonds);
        power_management_init();
        ble_stack_init();
        gap_params_init();
        advertising_init();
        services_init();
        peer_manager_init();
        lpcomp_init();
        saadc_init();
        PWMinit();
    
        // Start execution.
        application_timers_start();
        advertising_start(erase_bonds);
    
    
        // Enter main loop.
        for (;;)
        {
            idle_state_handle();
        }
    }
    

    In addition the Bluetooth connection on the central device was set this way 

    static const struct bt_le_conn_param cp = {
    		.interval_min = 100,
    		.interval_max = 128,
    		.latency = 98,
    		.timeout = 3200,
    	};

    so that the connection interval will be around 16s. Do I need to disable NRF_LOG module or not initializing it is enough? If yes tell me where should I disable it. 

    I have looked into https://devzone.nordicsemi.com/nordic/power/w/opp/2/online-power-profiler-for-ble and the ideal current is supposed to be 2 uA, mine is around 8 uA. Can you suggest what else I am forgetting to switch off?

  • Have you checked that these parameters are actually accepted by the peripheral? I tested this with the ble_app_rscs_c example in SDK 15.3.0, and I'm seeing ~11uA average current, but also BLE events occur every 1 second. This would explain the increased current consumption.

Related