Waking from deep sleep on the ESP8266 requires the chips reset pin to be pulsed low. I'm not sure if the alarm output of the DS3231 pulses the pin low or holds it low until the alarm is acknowledged. If it holds the pin low then the ESP would not wake up.Another option might be to connect GPIO16 of the ESP to it's own reset pin and then deep sleep the ESP for a period of time (max is about 70 minutes) and when it wakes up grab the time from the DS3231 and decide if it's time to perform some task. Waking from deep sleep on the ESP8266 requires the chips reset pin to be pulsed low. I'm not sure if the alarm output of the DS3231 pulses the pin low or holds it low until the alarm is acknowledged. If it holds the pin low then the ESP would not wake up.Another option might be to connect GPIO16 of the ESP to it's own reset pin and then deep sleep the ESP for a period of time (max is about 70 minutes) and when it wakes up grab the time from the DS3231 and decide if it's time to perform some task.
The issue with using GPIO16 is that the internal RTC of the ESP8266 is far from accurate.The DS3231 sets its INT/SQW output active low when an alarm clock matches its internal clock (which is accurate within one minute over one year) during one second ('When all the mask bits for each alarm are logic 0, an alarm only occurs when the values in the timekeeping registers match the corresponding values stored in the time-of-day/date alarm registers.' , page 12 of DS3231 datasheet). So If I understand correctly: when an alarm is programmed to trigger INT/SQW at hh:mm:ss, then during one second the INT/SQW output is driven low.So when this output is connected to the RST input of the ESP8266 this should wake him up from deep sleep?
An interrupt is an event that occurs randomly in the flow of continuity. It is just like a call you have when you are busy with some work.