Inkplate RTC does not persist time after reboot

Customer:

I’ve installed a brand new CR2032 battery with correct polarity. I have a script that sets the date and time, and it prints correctly immediately afterwards. If I run the script again several minutes later, it still shows the correct time. However, when I reboot using the I/O button next to the USB-C port, the time is lost and prints 0:0.

I’ve tried this with both init and setdatetime with the same result. The RTC appears to be working while powered, but doesn’t maintain the time across reboots.

Originally submitted via email support on 6 January 2024. Migrated to the forum for community visibility.

Soldered Support:

The issue is that the MicroPython library uses the ESP32’s internal RTC, which doesn’t retain time across reboots without power. The Inkplate board has an external RTC powered by the CR2032 battery, but this external RTC has not yet been implemented in the MicroPython library.

The external RTC is implemented in the Arduino version of the library if you need this functionality immediately.

To get this feature added to the MicroPython library, please open a GitHub issue on the MicroPython library repository describing the problem and requesting implementation of the external RTC. This will help track progress on the feature.

Attachment omitted in migration: image.png