ble_app_uart example - how to get the lowest current comsumption NRF52832

Hello, I'm working with an example of ble_app_uart with SofDev132. I have modified the code a bit but I still use the nrf_pwr_mgmt_run function. The power consumption is 2.18mA for disabled BLE broadcasting and I do not turn on broadcasting for power consumption tests (tested on hardware and nRF52 DevKit) I need to have RTC turned on so I can not use low-power system-off. How to minimize power consumption using nrf_pwr_mgmt_run function to get more or less 10uA of power consumption? (For low-power system-off the current consumption is 2.5uA so the hardware is ok). 
int main(void)
{
    bool erase_bonds;

    // Initialize.
    uart_init();
    log_init();
    timers_init();
    buttons_leds_init(&erase_bonds);
    power_management_init();
    rtc2_init(0xFFF);//prescaler 12bit, max value 0xFFF
    rtc2_start();
    flash_init();
    ble_stack_init();
    gap_params_init();
    gatt_init();
    services_init();
    advertising_init();
    conn_params_init();


    // Start execution.
    NRF_LOG_INFO("Debug logging for UART over RTT started.");
    // Enter main loop.
     
    for (;;)
    {

          if(state==START_ADV))
        { 
            state= ADV_IS_RUNNING;
                advertising_start();
        }
  
        idle_state_handle();


    }
}
Parents
  • Try adding this at the start of main:

       // DC-DC power supply enable, saves about 100mA at 2.7 volts over using internal LDO regulator
       nrf_power_dcdcen_set(true);

    Try closing the UART (before sleep) in particular; it can always be started again when needed while awake:

       // Terminate UART transfers serial port - saved about 1mA
       app_uart_close();
    

Reply Children
No Data