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

Sleep current with NRF_LOG_ENABLED or without NRF_LOG_ENABLED

Hi,

I am measuring the current during sleep, after the sequence, __WFE();__SEV();__WFE();.

With NRF_LOG_ENABLED set to 1, the current is about 486 uA. With NRF_LOG_ENABLED set to 0, the current is about 14 uA. What is consuming the current during sleep when log is enabled? The UART in the data sheet says 55 uA, what else is drawing the current?

Is it possible to temporarily suspend the "logging" capability during sleep in order to reduce the idle current, since there is no activity anyway.

Thanks.

Parents
  • Joe,

    Without knowing exactly how you have sdk_config.h setup my guess is the additional sleep current is due to the UART quiescent current. In our tests it adds ~400uA static quiescent current. If you have a Segger debugger you can switch to RTT logging which is a lot faster than using the UART and it frees up your UART for other tasks.

    Darren

  • Joe, the UART it's self takes 55uA but it turns on the peripheral clock which is where the majority of the current is coming from. You should be able to un-init the UART using the SDK. You will likely have to dig through the logging library to find out which UART calls a being made and then use them. If you want to quickly check then you may want to try RTT based logging as I highlighted above. We switched to it and haven't looked back.

    Darren

Reply
  • Joe, the UART it's self takes 55uA but it turns on the peripheral clock which is where the majority of the current is coming from. You should be able to un-init the UART using the SDK. You will likely have to dig through the logging library to find out which UART calls a being made and then use them. If you want to quickly check then you may want to try RTT based logging as I highlighted above. We switched to it and haven't looked back.

    Darren

Children
No Data
Related