PeterPan321:
I love the custom caharacters!
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.
hd44780 does not have this issue. And since hd44780 can also read data/characters from the LCD, it not only puts the display back into DDRAM mode after createChar() but also restores the cursor position to where it was prior to calling createChar().
Not other library does this.
--- bill