I've created a new ESP32 based version that syncs a DS2131 RTC with a GPS module to within a few microseconds. Its still very much a work in progress. It IS functional :-)
Syncing the DS3231 to the GPS is done with a small high level (level 5) interrupt handler in assembly. This generates a timestamp and offset in microseconds tracking the active edges of the GPS PPS and RTC SQW signals. This data is then fed in to a PID algorithm that will generate an offset value used to speed up and slow down the DS3231 RTC.
The GitHub repository for this version is here