Unfortunately, I was not able to slow down the clock more using the functions mentioned above. Even with the highest value (63ppm) is still 2s/week “faster”. Increasing the value has no further effect.
In datasheet, I noticed two ways for calibration of the STM32 MCU - “Coarse calibration” and “Fine calibration”, I dont know how is the RTC_CoarseCalibConfig function implemented, maybe there is still option to slow down the clock even more.
As for the calibration itself - my plan was to implement function which would run on the background for couple of days, compare the internal clock with time from cloud and would adjust the calibration value according to the result. It is necessary to run the process for days (at least) to get reasonable time window for comparison. The time synced from cloud is limited to 1s resolution - too coarse. And you never know if the actual time was synced on the beginning of actual second or on the end - up to 1s offset.
Our application will run in a room temp all the time, I dont expect significant drifting caused by temperature.
If you find some solution for this, please let us know, thank you!