Basic DS3231 RTC questions

bperrybap:
hd44780 provides for RAM, const, or progmem based data.
Also, keep in mind that all Arduino "LiquidCrystal" LCD libraries I've seen have what I'd call a bug in them.
They leave the LCD in CGRAM mode when createChar() returns.
That means that if you do something like lcd.print() after you call createChar() the characters you print go to CGRAM rather than to the display. (it will corrupt your custom characters).
To work around it you must do a clear(), home() or setCursor() before after calling createChar() before you print something.

In my project, I declared all my custom characters up front, in setup(). Then I used setCursor() to position the cursor before actually printing anything. I guess that explains why I didn't see any problems.
But then again, I could afford to do it that way, because I only needed three different custom characters, total.