I am evaluating the NRF52810 (using the PCA10040 dev kit), and I am having a hard time getting down to the described power consumption of the chips. I am using the power profiler to measure the current on the DK module).
For this post I used the beacon BLE app, and was measuring my idle current , and it significantly above what I would expect it to be.
When running the full application, my power consumption is around 780uA on my idle state.
I then started moving the idle state earlier on the code to try to understand what the discrepancy was.
When moving idle_state_handle(); as the first thing after main
int main(void)
{
while(1) {
idle_state_handle();
}
}
The measured current is around 2uA, which is close to what I would expect.
As I move the while loop beyond each line, the power consumption slowly starts to rise, eg
{
log_init();
while(1) {
idle_state_handle();
}
After initializing the logs, the power consumption rises to 11.6uA
If the loop comes after the timer_init(), the idle consumption jumps to 450uA.
Looks to me that as peripherals get enabled, they are not sleeping as expected and they are consuming significant power even though the system is in an idle state with no events to wake it up.
Thanks