UARTE power consumption

When I enable and disable UARTE RX my chip consumes nearly 500 uA.

I assume the most of it comes from the "disabled" UARTE RX. Either im not disabling it correctly or thats just the power consumption it takes.

Should I try Libuarte for better low power performance? Does it make a difference? Is libuarte better for low power?

  • Solved. 

    nrf_uarte_task_trigger(peripheral, NRF_UARTE_TASK_STOPRX);
    wait_us(50);
    nrf_uarte_disable(peripheral);
    didnt end the RX UARTE peripheral properly. Only a 
    nrf_uarte_task_trigger(peripheral, NRF_UARTE_TASK_STOPRX);
    
    let the nRF run at 25uA. Dunno

  • Thanks for the update. As you mentioned, to get the lowest power consumption, you must disable the peripheral. However, before disabling it you should wait for the receiver timeout as noted in the UARTE chapter here: Low power, and I'm not sure if your 50 us delay will be sufficient to cover all scenarios. It would be safer if you waited for the EVENTS_RXTO event to be raised before you triggered the disable task.    

    E.g.

    nrf_uarte_event_clear(peripheral, NRF_UARTE_EVENT_RXTO);
    nrf_uarte_task_trigger(peripheral, NRF_UARTE_TASK_STOPRX);
    
    while (!nrf_uarte_event_check(peripheral, NRF_UARTE_EVENT_RXTO))
    {}
    
    nrf_uarte_disable(peripheral);

Related