Introduction: How to Create Custom Character for LCD

Hello there, fellow electronic enthusiasts, ever wanted to create your own custom characters for your boring L.C.D. display and spice things up a little in display aspects of your project? If yes, then this Instructable is for you, let’s get started.

Step 1: Watch the Video

Step 2: Gather the Requirements

Step 3: Learn Basics

if you are new to I2C LCD, watch this video

Written Instructable

here is the link to Written Instructable

Step 4: Understand the Concept

A L.C.D display is made up of blocks, which are fundamentally 5 dots in a row and 8 dots in a column, which are lighted up according to the code or predefined characters inside the LCD Control ic, there are 32 such blocks in a 16 x 2 LCD display.


there are a few hardware limitations because of these inbuilt characters, which leave us space for only 8 custom characters in total.

Step 5: Create and Learn

To create a Custom Character, we need to define which dot out of that 5 x 8 block has to be lighted up, which can be done by writing the binary equivalent of each row and column,using this web tool by IOXhop.

So for an example, we let's create a heart symbol.

1.Click on the dot that you want to light up, until you see a character that you want to achieve.

2.Copy the variable byte.

3.Include the library,

4.Setup the LCD and initialize it.

5.Paste the variable below the LCD setup syntax and also rename as per your choice.

6.Define custom character and allocate a location to it using the syntax

lcd.createChar(location, name);

7.Write lcd.home();

8.Set cursor and print custom character using the syntax


9.upload the code.

Step 6: Be Creative!

We can create large text, interesting emoticons, gun, robot, or anything you wish.

try your Creativity and Share it With The Community!

share your work, i would love to see your creativity in custom characters.