Startup Problems at Low Battery Voltage with nRF52811

Hello,

I am using the nRF52811 on a keyfob that transmits short packets when a button is pressed. The button directly connects power to the MCU, and the firmware immediately enters the main thread's infinite loop to start transmitting periodically. However, I have noticed an issue with program startup when the battery is slightly depleted (around 2.85V). According to the manual, the MCU should operate down to 1.7V. We have also implemented the DCDC option in the hardware, which I enable at the beginning of the main function using: nrf_power_dcdcen_set(NRF_POWER, true);

  1. I am unsure if enabling the DCDC converter affects the minimum voltage at which the MCU operates. I enable the DCDC only at the first line in the main function. Additionally, I am using Zephyr, so the main is not exactly "main," and it takes a while after a reset for the program to reach the point where it turns on the DCDC. The problem is that around batt voltage = 2V, the device often fails to start up or does not complete the esbInit() or buttonInit()  initialization. However, at 3V, there are no issues
  2. I am also unsure how to set the Brown-Out Reset (BOR) or something similar that the nRF52811 has in these cases (Power-fail comparator?).
Could you advise on the proper setup or modifications to ensure reliable operation at lower voltages?

void main(void)
{
	dataQueue rxd;
	tMainData glData;
	uint32_t txDoneCnt=0;

	nrf_power_dcdcen_set(NRF_POWER, true);

	if(ledInit() != true)	LogError(1);	

	if(esbInit())	LogError(2);
	
	if(btnsInit() != true)	LogError(4);

Related