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

The Idle Current is Different Before and After a Debug Operation

Hello,

  I'm measuring the idle current using a PCA10040 DK, SDK v16.

  Finding that the idle current is about 3uA (which I think is correct)  after any debug operation like programming or RTT connection, but it is about 12uA when power on.

  A resetting from RESET button or NVIC_SystemReset() maintains the same current.

  Where does the current come from?

Wish you a nice day.

  • Hello,

    I just built an example again using ble_app_uart with following modifications.

    <1> skd_config.h

    NRF_FPRINTF_ENABLED 0
    NRF_LOG_BACKEND_RTT_ENABLED 0
    NRF_LOG_ENABLED 0
    RETARGET_ENABLED 0

    <2> main.c

    APP_ADV_INTERVAL 6400
    
    int main(void)
    {
        bool erase_bonds;
        *(uint32_t *)(0x40000000 + 0x578) = 0x01;
        // Initialize.
        //uart_init();
        //log_init();
        timers_init();
        //buttons_leds_init(&erase_bonds);
        power_management_init();
        ble_stack_init();
        gap_params_init();
        gatt_init();
        services_init();
        advertising_init();
        conn_params_init();
    
        // Start execution.
        //printf("\r\nUART started.\r\n");
        NRF_LOG_INFO("Debug logging for UART over RTT started.");
        advertising_start();
    
        // Enter main loop.
        for (;;)
        {
            idle_state_handle();
        }
    }

    After power on, the current is about 12uA.

    Connect with nRF Connect, the current is about 70uA.

    Disconnect the connection, the current is back to 12uA.

    When RTT is connected, the current is about 3.1mA.

    And disconnect RTT, the current is about 3uA.

    Connect with nRF Connect again, the current is about 61uA.

    Disconnect the connection, the current is back to 3uA.

    Wish you a nice day.

  • OK, it seems to be the Interface MCU that caused the current.

    The debugger chip should be reset before measurement.

Related