RAK12002 RTC power consumption

I spent the day chasing uA for a current project. The project is RAK4631 deep sleep base.

In my project, i am using the 12002 rtc, to wakeup the 4631 from deep sleep via an interrupt and awake the rtc provides timestamps for my stored measurements.

Using a RAK4631/19007 the lowest current i can get is around 13.5uA. This matches other post in this forum.

Based on my testing, adding the RAK12002 rtc (slotD) consumptions is approximately 45uA.

The RAK12002 is consuming 32uA, just being connected, with no activity, and with the CLK/INT lines configured as INPUT (no pullups).

FYI, I am open to suggestions, if you think the 12002 current can be reduced.

Otherwise, i hope this helps anybody considering the RAK12002 for low power apps.

Datasheet says 45nA consumption, but it is not clear when this is valid.

I can confirm your findings when powering with 3.3V that the consumption is in the uA area. But I see lower values when I switch off all features of the RTC like the clock-out pin.

Custom Base Board with single 3.3V supply gives me ~7uA consumption for the RTC, LoRaWAN class A, connected to server, 10 minutes send interval.

~30.8uA with RTC

and ~23.8uA without the RTC.

Initialization of the RTC:


	// Direct Switching Mode (DSM): when VDD < VBACKUP, switchover occurs from VDD to VBACKUP
	rtc.writeToRegister(0x35, 0x00);
	rtc.writeToRegister(0x37, 0xB4); 

	// Disable timers
	rtc.writeToRegister(0x0A, 0x00);
	rtc.writeToRegister(0x0B, 0x00);

	// Disable clock output
	uint8_t reg_value = rtc.readFromRegister(0x0F);
	reg_value = reg_value & 0b11111011;
	rtc.writeToRegister(0x0F, reg_value);

	// Disable interrupts
	reg_value = rtc.readFromRegister(0x10);
	reg_value = reg_value & 0b00000010;
	rtc.writeToRegister(0x10, reg_value);

	// Disable Clock Interrupts
	reg_value = rtc.readFromRegister(0x12);
	reg_value = reg_value & 0b00000000;
	rtc.writeToRegister(0x12, reg_value);

And, as I guess the question will come up, the Base Board I use is from our RAK10702 Indoor Comfort.