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

Minimising power consumption when using mynewt on the nRF52 DK

Hello,

I've using mynewt to develop an application using the nRF52 DK (PCA10040 1.2.1, IC marking: N52832 QFAAB0 1701FH). I've been using their basic hello world application in order to understand the base current consumption of the system and try to minimse it. As described in section 6.7.1 in the nRF52 DK User Guide, I'm powering the board externally (3V) and have cut jumper SB9 to measure current (I haven't soldered SB11 or SB12 as I'm not too bothered about the effects of the protection diode right now). mynewt uses a tickelss OS that calls WFI in the idle task.

By default, when running the hello_world app, the nRF52 consumes around 1.5mA. Disabling the UART (by settings UART_0: 0 and CONSOLE_UART: 0) reduces this current significantly to around 460uA. I've since been unable to significantly reduce this current even further. Disabling TIMER_0 causes a further reduction of about 15uA, but that's about it. Going through the nRF52832 product spec, pretty much all the peripherals are turned off by default. The only one that appears to be on is the radio, but setting NRF_RADIO->POWER to 0 doesn't seem to decrease the current consumption.

According to the product spec, in System ON mode with all RAM retained, the nRF52 should consume around 1.5uA, so 460uA is quite a big difference. I can't think of what other peripherals could possibly be on that would consume all that current. As far as I can tell, the only peripherals turned on by the hello world app are the following:
* A timer
* Uart
* Watchdog (turning that off didn't make a measurable difference,which makes sense considering it's meant to consume 300nA)

There is the possibility that the high current is due to the OS running, but is there any other hardware reason that could possibly account for the high current?

Thanks

Amr

Related