Member Since: June 18, 2009

Country: United States

  • Yes you can, but you are limited to only 8 custom characters. First define 8 bytes that will hold your custom character, one byte per line (obviously only the lower 5 bits can be used since this is a 5x8 display). Then decide which character (from 0-7) you want to set. Call this "x". Then do this pseudocode:
    for(i = 0; i < 8; i++)
    lcd.print(0xFE, BYTE); // Send command
    lcd.print(0x40 | (x << 3) | i, BYTE); // Set the CGRAM address
    lcd.print(character_data[i], BYTE); // Set the character
    lcd.print(0x80, BYTE); // Set the cursor back to DDRAM
    To use your custom character, use:
    lcd.print(x, BYTE);

No public wish lists :(