Displaying a custom character on 2x16 LCD
The following line adds a custom character to a CGRAM location 1.

createCharacter(1, myCustomCharacter);


The problem with your code was that you told the controller to write a custom character stored at location 8. The writing code should instead look like this.

writeCharacter(0x01)