6 years, 10 months ago.

nRF51822 power consumption in sleep when using an interrupt pin

Hi,

To demonstrate my question, if you compile the BLE-iBeacon example mbed program as-is, with no changes, and load onto a RedBear BLE Nano board (nRF51822), I have measure the baseline current consumption at about 10 micro-amps, with 1.2 mA spikes every second (representing the Bluetooth advertising packets being sent). So basically, in sleep, the board is consuming about 10 micro amps.

However as soon as I define an interrupt pin at the top of main.cpp, such as:

InterruptIn interruptPin(P0_5);

The current consumed during sleep jumps to 200 micro-amps.

My question is, what accounts for the extra 190 micro amps in sleep mode? I'm guessing that the microcontroller needs some additional peripherals to remain turned-on in sleep mode in order to monitor the interrupt pin for voltage changes, is that right? Why are they needed and is there any way to reduce the current consumption back down towards 10 micro amps when using an interrupt pin? All I want to do is wake up my microcontroller on a button press, do some stuff, and go back to sleep.

Thanks

James

Be the first to answer this question.