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

Enter in SYSTEM ON doest not work

Hello everyone,

I'm using the nrf52840 Dev Kit (PCA10056 1.1.0 2019.19 683465548)

SDK version: 15.3

OS: Fedora

I work on a custom board and try to put it in SYSTEM ON mode like so:

int main(void)
{
    log_init();
    NRF_LOG_INFO("App start\n");
    NRF_LOG_FLUSH();

    power_management_init();
    for (;;) {
        nrf_pwr_mgmt_run();
    }
}

When I measure my consommation with OTII I get 4 mA instead of 1.5 uA according to this link (Debugging: Section 4).

Any ideas?

Regards,

Louis

  • Hi Louis

    The culprits of current consumption in the pwr_mgmt example are these functions:

    APP_ERROR_CHECK(NRF_LOG_INIT(NULL));
    NRF_LOG_DEFAULT_BACKENDS_INIT();

    NRF_LOG_INFO("Power Management example");

    Logging does use power, as it initializes a few peripherals, I.E. UART or RTT depending on which one you use for logging. You can check by "un-commenting" these three lines from your main, and you'll see the 570uA draw again.

    Best regards,

    Simon

  • Hey Simonr,

    Thanks for your help

    We have switched back to the NRF52 DK to reproduce your test and we had 4µA with RTT logging only. It's still not the 2.3µA you have, but it's good enough for us. 
    From this solid base, we have tried to gradually re-implement our project in this template to see what draws current. 

    When using the UART Driver (APP_UART_FIFO_INIT) followed by app_uart_close to the peripheral, we have about 890µA when we expect to have the 4µA measured just before. 

    We have found many post on this subject, but none answered....

    How to correctly use the UART Driver for low power consumption ?

    Thanks

  • Are you struggling to disable the UART properly, because you won't be able to transmit over UART and keep a current consumption below 10uA?

    What UART do you have enabled? Erratum 89 describes a problem where you have to power cycle some of the peripherals using EasyDMA in order to disable them properly, please see this post for instructions on that with UARTE or UARTE1. Keep in mind that you have to reinitialize the UARTE peripheral again in order to turn it back on.

    You could also use UART without EasyDMA in order to avoid this altogether.

    Best regards,

    Simon

  • Hi Simon

    Your post resolved my issue. I have now 6µA consumption in SYSTEM ON mode on my main project.

    Thanks for your help!

Related