I set up my nrf52 self board with internal LDO using reference schematics with internal LDO setup.
Im entering the power safe mode using __WFE instruction
if(lpm_flag)
{
nrf_gpio_pin_clear(LED_0);
retry_cnt = 0;
nrf_esb_disable(); // останавливаем
while(!nrf_esb_is_idle());
NRF_RADIO->POWER = RADIO_POWER_POWER_Disabled << RADIO_POWER_POWER_Pos;
// Уходим в спящий режим если ничего не приняли
clocks_set(XTAL_LF, true);
clocks_set(XTAL_HF, false);
// разрешаем прерывания от кнопки и геркона
NVIC_EnableIRQ(GPIOTE_IRQn);
//NRF_POWER->TASKS_LOWPWR = 1UL;
// #ifdef NRF52
// NRF_POWER->RAM[0].POWER = RAM_RETENTION_OFF;
// NRF_POWER->RAM[1].POWER = RAM_RETENTION_OFF;
// NRF_POWER->RAM[2].POWER = RAM_RETENTION_OFF;
// NRF_POWER->RAM[3].POWER = RAM_RETENTION_OFF;
// NRF_POWER->RAM[4].POWER = RAM_RETENTION_OFF;
// NRF_POWER->RAM[5].POWER = RAM_RETENTION_OFF;
// NRF_POWER->RAM[6].POWER = RAM_RETENTION_OFF;
// NRF_POWER->RAM[7].POWER = RAM_RETENTION_OFF;
// #endif //NRF52
// NRF_POWER->SYSTEMOFF = 0x1;
// (void) NRF_POWER->SYSTEMOFF;
// while (true);
// ждем события
__WFE();
__SEV();
__WFE();
}
Also i did the same with nrf51 but it has DC/DC converter mode. In nrf51 case current consumtion is 1.5 - 2 uA, in nrf52 case 10 - 14 uA. Is it influence of LDO ?
