How to minimize current consumption for BLE application on nRF51822
This is a great answer. But remember to vote on the question as well!
Takk Stefán! Could you clarify: When advertising, does the arm wake up from __WFE every advertisement interval?
Sæll Arnar! Yes, the nRF51 wakes up on every advertising interval. The way it works is that internally the softdevice uses RTC0 low power timer to keep track of time and to generate an interrupt periodically when it is time to advertise. When the softdevice is enabled, you should call sd_app_event_wait() instead of __WFE in order to enter System On low power mode. The chip wakes up from __WFE/sd_app_event_wait() on every interrupt, executes the interrupt handler (in the case of an advertising event, there is a high priority interrupt handler exectuted internally in the softdevice) and then execution continues in the main loop until __WFE/sd_app_event_wait() is called again.