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

nrf52832 ble_app_uart current consumption

I am using nRF5_SDK_12.2.0, S132-SD-v3, nrf52832 pca10040 board, ble_app_uart When measuring current consumption using ble_app_uart -> 0.6~0.8mA(advertising) I want to reduce current consumption more than now. Please show me how.

ps : source -> uart_init(), printf(), buttons_leds_init() delete

Parents
  • It is the uart that consume that much current. Disable it while it is not connected will drop the current down to around 20 uA depending on the ADV_INTERVAL. Enable the UART will bring it up to around 0.6-0.8 mA.

  • I removed the uart part from the ble_app_uart example below and did a test. If I misunderstood the uart enable part, Instruct the example source or the wrong part


    int main(void) { uint32_t err_code; bool erase_bonds;

    // Initialize.
    APP_TIMER_INIT(APP_TIMER_PRESCALER, APP_TIMER_OP_QUEUE_SIZE, false);
    

    // uart_init();

    // buttons_leds_init(&erase_bonds);

    ble_stack_init();
    gap_params_init();
    services_init();
    advertising_init();
    conn_params_init();
    

    // printf("\r\nUART Start!\r\n");

    err_code = ble_advertising_start(BLE_ADV_MODE_FAST);
    APP_ERROR_CHECK(err_code);
    
    // Enter main loop.
    for (;;)
    {
        power_manage();
    }
    

    }

Reply
  • I removed the uart part from the ble_app_uart example below and did a test. If I misunderstood the uart enable part, Instruct the example source or the wrong part


    int main(void) { uint32_t err_code; bool erase_bonds;

    // Initialize.
    APP_TIMER_INIT(APP_TIMER_PRESCALER, APP_TIMER_OP_QUEUE_SIZE, false);
    

    // uart_init();

    // buttons_leds_init(&erase_bonds);

    ble_stack_init();
    gap_params_init();
    services_init();
    advertising_init();
    conn_params_init();
    

    // printf("\r\nUART Start!\r\n");

    err_code = ble_advertising_start(BLE_ADV_MODE_FAST);
    APP_ERROR_CHECK(err_code);
    
    // Enter main loop.
    for (;;)
    {
        power_manage();
    }
    

    }

Children
No Data
Related