Displaying Custom Characters on Alphanumeric LCDs

You can use this LCD Custom Char Builder Software to quickly and easily build custom characters for alphanumeric LCD modules.

lcd custom character builder

LCD Custom Char Maker

A standard alphanumeric LCD module supports eight custom characters. So our software has view for all eight custom chars named from Char 0 to Char7. You can select any char to edit at a time.

edit a custom char

Select a char to edit …

You can use your mouse to draw the character in the large green area as shown above. Holding right mouse button erases the pixel. In the example below we have drawn a "Heart" symbol for custom Char 1.

drawing a custom char on lcd

Draw the char using mouse.

Now we have completed drawing all the eight custom characters.

Draw all 8 characters.

Finally HIT Save code to get a custom_char.h file. This header file is compatible with our popular LCD interface library. You just need to copy/paste this header file in your lcd project folder. Then edit the lcd.c (part of our library) to include this file.

Outputting a custom char on LCD is fairly easy! Say for example if you need to write.

"I ♥ AVR"

write the code like this :-

LCDWriteString("I %2 AVR"); The %2 will be replaced by the custom Custom Char 2 which is defined as a heart symbol in our header file generated above.

For more details on the above function i.e. LCDWriteString refer to the Tutorial given below.




Avinash Gupta

My Facebook Profile.

JLCPCB Prototype: $2 for 10 pcs PCBs, 48 Hours Quick Turn

China’s Largest PCB Prototype Enterprise, 300,000+ Customers & 10,000+ Online Orders Per Day

Get quote online easily: https://jlcpcb.com/ quote

Facing problem with your embedded, electronics or robotics project? We are here to help!
Post a help request.


Avinash Gupta is solely focused on free and high quality tutorial to make learning embedded system fun !

More Posts - Website

Follow Me:
FacebookLinkedInGoogle Plus


25 thoughts on “Displaying Custom Characters on Alphanumeric LCDs

  • Pingback: Using LCD Module with AVRs | eXtreme Electronics

  • By Pranav - Reply

    Good idea! Nice piece of software.. Works well on Win 7. Small and light.. 🙂
    Well done

  • By George Francis - Reply

    Very interesting information. I have several alphanumerical single displays I would like to use individually. I need a simple circuit to display characters on a single display to familiarize myself to the process. The display I want to use is DLO 7135 a 5 x 7 14 pin display. Thanks for any suggestions. Regards, George

  • By Mexikan - Reply

    Great Idea !

    Is it possible to make more than 8 characters?

    Create 2 files a and make from them only one file with 16 characters….

    Or is it restricted by LCD driver ?

    • By Mexikan - Reply

      I have tried it, but my idea was wrong.
      It´s not working.

  • By sherif abbas - Reply

    nice software i useed the generated code and modified it to be used for avr codevisinon compiler in the following link


  • By Sagar - Reply

    I have a problem with it. when i write code for 8th character in custom_char.h file it gives error in output means 8th character is not displaying as i developed it.

  • By pradip m. - Reply

    Can we use your lcd library for lcd interfacing with pic16f72…..?????????? If yes what are the changes in header file or how to use it?????? If possible please upload lcd liabrary for pic16f72…….
    Thank you.:)

    • By Avinash - Reply


      Please behave like an educated guy ! Putting ten question marks after a question only indicates that we need to attend grammar classed first!

      No this library does NOT work for PIC16F72

      • By Pradip M. -

        Extremely sorry sir for my mistake.Any solution for this? because this is a good library for programming LCDs.

  • By Jitesh - Reply

    The LCD Custom Character Builder software is very useful. Can u please tell which language you have used to write this software/GUI. Thanks

    • By Mandeep - Reply

      c language

      • By Jitesh -

        Hello Mandeep,

        Thanks for the answer. Can you please tell how do we create a GUI as shown in the app.

  • By somu - Reply

    really good work sir.

  • By Mayur - Reply

    after generating the header file custom_char.h
    and including it in the main project file what changes i have to do in lcd.h and lcd.c?
    can anyone plzzz help me out with all the steps …!!
    and i m new in this field of microcontrollers.

    • By Avinash - Reply

      Please correct the spelling of “please” in above comment or will be deleted by next day … 🙁

      • By Mayur -

        i m really sorry about that sir.

    • By Avinash - Reply


      Everything is written in the above tutorial? Do you think anything is omitted ?

  • By Mayur - Reply

    after generating the header file custom_char.h
    and including it in the main project file what changes i have to do in lcd.h and lcd.c?
    can anyone plzzz help me out with all the steps …!!

  • By sahib - Reply

    i like ur work..
    Can you tell me how to show battery level on lcd??

    • By Avinash - Reply


      how do you think it should be done?

  • By Debasish - Reply

    I did all the steps. After writing ,still in output %2 only showing no any custom character. Please help me.
    after writing this LCDWriteString(“I %1 AVR”);
    Even showing %1 for above statement.

    • By Avinash - Reply

      You are using old version of the LCD library.

  • By Debasish - Reply

    Can you please give me new version lcd header file. And how do we know custom character value,
    Like ? =%2. Please help me.

  • By Ehsan Habib - Reply


Leave a Reply

Your email address will not be published. Required fields are marked *

five − 3 =

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>