Nokia 3310 LCD Driver JAL PIC Library

[An old project I moved from my previous website, you can still find display modules using the PCD8544 controller, like this 5110 LCD Module]

This JAL library includes functions for controlling the Nokia 3310 LCD (PCD8544 controller) and also a 5×7 font.

Currently the table used only works on 16F, but should not take much to modify it to work with 18F PICs.

It only uses 5 IO pins, so a smaller PIC could be used. The font however takes up a lot of ROM (the example program’s code size is 1305). If the text print functions (and the font) is not used it is of course much smaller, but also much less useful ;-).

Download: Nokia 3310 LCD JAL Driver - A JAL Library to drive the Nokia 3310 LCD with a PIC. * example_lcd.jal - An example program, the output of which you can see in the photo below * nokia_lcd_p.jal - Include this first, and modify it with the pins you are using to connect * nokia_lcd.jal - The main jal library * font_5x7.jal - The 5x7 font, include after nokia_lcd.jal since it uses functions in there

Sorry for the quality of these photos. I’m blaming my digital camera, but it is most likely due to a bad photographer.

LCD connected to an 16F877 PIC
LCD connected to an 16F877 PIC

On the right is my DIY Wisp628. The interface board between the LCD and the PIC consists of two caps (required for the LCD controller), a few 1K resistors in series with the datalines, and a LM317 to regulate the 5V down to 3V which the LCD requires.

Closeup view of the font
Closeup view of the font

Both normal and ‘inverted’ printing functions are available. The clips and tape holds all the pieces of the LCD together. In my haste to see how the connections are made I broke all the plastic holding pins.

For further reading about the display and microcontrollers, please visit the following sites:

6 thoughts on “Nokia 3310 LCD Driver JAL PIC Library”

  1. hi… i m doing my project on nokia 3310 lcd drivers.
    i want to know , how to do font programming for pcd8544 lcd in c.

Leave a Reply