Arm Mbed OS support forum

NRF52 doesn't go to sleep (current over 2mA)

Hi all

I am using mbed os5 (in mbed studio) and I was testing the heartrate example - https://os.mbed.com/docs/mbed-os/v5.15/apis/heartrateservice.html#heartrateservice-example

I tested it both in the NRF52-DK and a custom board with the nrf52832 and I always get a current consumption of ~2mA in both.

I am measuring the current trough a 10ohm resistor in series with the battery and an oscilloscope.

help would be apreciated

this is not good :frowning:

Hi guys,

I believe this is a known issue and discussions are ongoing as to what the cause / solution may be.

Regards
Anna

@mreiscarneiro, if you are using the sample as is the current draw would be high. The print statements would enable the uart and that draws almost 1ma or more atleast that is what I have seen during my testing. So I conditionally print based on the log level. I am currently using NRF52840 BLE Module and I have the following settings in my mbed_app.json, which can possibly help lower the current draw and also turn off the uart. I get a current draw of approximately 190 uamps.
{
“target_overrides”: {
“NRF52840_DK”: {
“target.features_add”: [“BLE”],
“target.extra_labels_add”: [“CORDIO”, “CORDIO_LL”, “SOFTDEVICE_NONE”, “NORDIC_CORDIO”],
“target.features_remove”: [“CRYPTOCELL310”],
“target.macros_remove”: [“MBEDTLS_CONFIG_HW_SUPPORT”],
“target.extra_labels_remove”: [“SOFTDEVICE_COMMON”, “SOFTDEVICE_S140_FULL”, “NORDIC_SOFTDEVICE”],
“target.console-uart”: false,
“target.console-uart-flow-control”: null,
“platform.stdio-baud-rate”: 115200,
“platform.default-serial-baud-rate”: 115200
}
}
}

Also enable DC2DC regulator and also disable the NFC Pins if you are not using them. for ex:

//enable to dc2dc
NRF_POWER->DCDCEN = 1;
logInfo("Enabled DC2DC regulator!");

NRF_UICR->NFCPINS = 0x00000000;

Thanks,
Ajay

Hello!
I tried to replicate your results and only got to about 500µA@3V.
Did you change anything else and at what supply voltage did you operate it?
Thanks,
Benni