I have some custom hardware that uses an nRF52832 interfaced to a PCF85063A RTC. I'm using I2C0 to communicate with the RTC, and am coding with v2.2.0 of NCS.
My MCU spends most of its time in deep sleep, occasionally exiting when triggered by a GPIO. It then grabs the date and time from the RTC, logs some info, and then goes back into deep sleep.
Problem I am seeing is that at this point, the VDD rail seems to mysteriously "charge" up from 3.0V to around 6V, where it will remain until I trigger the MCU out of deep sleep again.
I've tracked this issue down to the RTC itself - I have a bunch of other GPIO that I disconnected, but this didn't change the situation. Things only improved when I disconnected the two 4K7 pull up resistors on the SCL (P0.27) and SDA (P0.26) lines.
This is how things are configured in hardware:

And this is what I am seeing if I monitor VDD on my scope. VDD is charging up from 3V to 6V over about 1 sec. I have about 10uF of capacitance in total across my VDD.

I can fix this issue by putting a 47K resistor across VDD, but that defeats the purpose of having the MCU in deep sleep, as it means I go from a ~ 500nA current to > 50uA sleep current.
Is there something I should be doing with the I2C0 port prior to going into deep sleep to prevent this from happening?
Cheers,
Mike


