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

sd_app_evt_wait() doesn't give microamps consumption

Okay, I know there's a lot of threads about the subject. I have tried to read them all, with no help. My device still consumes 1.4 mA. Resetting does not help, so I assume it's not the debug-mode issue.

There's a lot of mentions that I should put all the peripherals I don't need into off state, before entering sd_app_evt_wait(). However, I cannot find any examples how to do that. That is, a piece of C-code how all those peripherals (UART, TWI etc.) can be configured into off state? Of course, such codes must exist somewhere, but why you cannot include them into all those answers? Links?

(If I put the whole system into off state using sd_power_system_off() I can reach 48 uA, which is quite reasonable due to other external peripherals we have on the board.)

Please help, I am quite frustrated... :(

  • Thanks for that update! Yes, I know there's leakages in the external circuitry, at some point we have to study the reasons. I looked your guide and it looks good :) However, could you quickly answer how do I need to re-enable UART after getting back from sd_app_evt_wait()? I mean that if I do as follows:

    NRF_UART0->TASKS_STOPTX = 1; NRF_UART0->TASKS_STOPRX = 1; NRF_UART0->ENABLE = 0; sd_app_evt_wait(); NRF_UART0->ENABLE = 1;

    Is that enough to continue operating with UART, e.g. using your simple_uart_put() example code? Yes, no doubt this is a trivial question and there's comprehensive documentation, but just to save a bit of my time... :)

    In my case I want to have debug access from UART (+FTDI/USB) but still want to minimize current consumption, of course.

  • Hi Jarmo

    I have updated the current consumption guide, UART section, in order to better address your concerns.

    I assume that current consumption is not important for you when you are debugging. Therefore, you can just make a condition to have the UART enabled constantly when debugging.

Related