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

Trying to reduce power consumption

I have a small project on a custom board using an nRF51824 processor. 

The code basically initializes the BLE stack timer and GPIO and then falls into a loop

while (true) sd_app_evt_wait(); 

The timer (using RTC) fires every 5 seconds to kick the watchdog and check for a connect timeout condition (15 minutes). 

When I connect I'm responding to one of a half dozen commands.

While advertising for a connection I see the board draw 0.92 - 0.97 milliamps. When connected I draw 1.01 - 1.10 milliamps. 

Whether connected or not, 99.99% of the time my application is not doing anything other than sleeping. 

What I'd like to do is reduce the power draw when advertising and connected as much as possible. 

My advertising interval is 250ms.

Thoughts where I should look? 

Parents Reply
  • Thanks.

    I implemented the following:

    int main(void)
    {
       NRF_POWER->SYSTEMOFF = 1;

       while (true)
       {
          __WFI();
       }
    }

    And I'm pulling 0.84 mA

    The hardware engineer checked and the 1K resistor is on the SWDCLK line. There is no debugger attached, as I program the code and then move the device from the debugger socket. 

    I will let him know definitively that there are other things on the board that are drawing power. 

    Thanks for your help. I'm going to leave this open until the hardware engineer either changes the hardware or tells me that he won't be doing so. 

Children
Related