Hi everyone! I’m having a problem with the RV3028 board (I’m using it connected to a Raspberry Pi Pico with MicroPython). Basically, when I remove power (I checked and the supercap is charged — I left it charging for weeks), I lose the set date/time after just a few hours. In the product description you write: “When connected to power, the RTC trickle-charges the supercap in just a few minutes - enough to keep the clock going for a couple of weeks once power is removed”, but unfortunately after a few hours I lose the date/time I set. It’s as if the switch-over to the supercap isn’t happening. Do I need to set something at the RV3028 EEPROM level? What am I doing wrong?
Hi Fred,
Welcome to the forum!
Sorry to hear the RTC is losing time.
Could you please send through a photo of your setup? And the code you are using?
The switchover ought to be set up in the driver codes init.
I cant imagine you have done anything wrong, maybe just skipped a step in the setup - regardless, we’ll figure out whats wrong and solve the issue!
Liam
Hi Liam! Thank you for the warm welcome!
After some debugging, this seems related to how the EE_BACKUP configuration is written and committed to EEPROM. The library updates the EE_BACKUP register (BSM, TCE, DIODE, etc.), the configuration can look correct right after boot, but is not actually persisted, and gets lost after VDD is removed for some time.
After rewriting the EEPROM handling strictly according to the datasheet (EERD=1 → write mirror → commit → wait EEbusy=0 → EERD=0, plus readback check), the problem disappeared.
So this appears to be a software/library issue rather than a hardware one
Hi Fred,
Thanks for taking a dive into this!
To confirm, the registers that clear and cause your RTC to lose time are only the Backup registers?
If you have updated code and would like to make a pull request on the Repo, the open source community and everyone here at Core would thank you dearly.
Thanks again for diving deep into this Fred! Much appreciated!
Liam