ST7565R LCD controller with SPI serial interface with AVR8 implementation. This is used in Newhaven Display model NHD-C12864WC-FSW-FBW-3V3-M (the device tested on). It should also be compatible with many of the DOG series of COG LCDs by Electronic Assembly, with many of them using the same chip.

NT75451 LCD controller with parallel interface with LPC11UXX implementation. This LCD is used in on NGX BlueBoard LPC11U37, and many of their other boards. Thanks to NGX for supplying a sample of their product.

Update: I’ve been working on a little Qt based tool called glcd-utils which does makes creating fonts and bitmaps on GLCDs a lot easier than the process below. It is open source, but no binaries available or even much documentation. You can visit the Github page here. Otherwise, back to the tutorial below.

Here’s a quick guide on how to make your own custom fonts for my GLCD library, using the free MikroElectronika GLCD Font Creator. You can download this tool here and install it to your computer. You can download this software here:

This free tool was designed for use with MikroElektronika’s line of compilers, but it also works well with my library.

Install the software and start it up

Go to File -> New Font -> Important an Existing System Font

Select a font you would like to convert.

Choose the range of characters you would like converted. e.g just numbers, or alpha numeric numbers, etc. 32 to 127 covers most characters everyone needs to use. Refer to an ASCII table if you need to find out what number refers to which character.

Now click OK and the font should start to get imported in the program. A screen like below should show. You can click on each character see what the character is and how the pixelation will be set. You can also edit the fonts as well if needed to.

Go to File -> Export for GLCD

You should now see a screen like below. Change your font name to something descriptive. I like to put the start and end characters in it, and also the font size which may already pre filled for you. The font size is the dimensions in pixels of the generated font. In this example it is 31 by 27.