Skip to content

Latest commit

 

History

History
58 lines (41 loc) · 2.46 KB

PCD8544.md

File metadata and controls

58 lines (41 loc) · 2.46 KB

PCD8544 LCD driver (Nokia 5110)

  • KEYWORDS: Module,SPI,PCD8544,Graphics,Graphics Driver,Nokia,5110,Nokia 5110,LCD,Monochrome,LPH7366,LPH7366-1,LPH7677,LPH7779,LPH7690

Nokia 5110 Front

Nokia 5110 Back

This is a monochome LCD display driver typically used in the Nokia 5110 LCD display (84x48), but also the 5120, 5130, 5160, 6110, 6150, 3210, 3310, 3315, 3330, 3350, 3410 and 6210. The LCDs are available (pre-mounted on PCBs) cheaply from via various suppliers online.

They draw very small amounts of power - around 200uA - making them extremely good for use in battery powered devices.

Support is included in the [[PCD8544.js]] module, using the [[Graphics]] library.

Just wire up as follows:

LCD pin Pin type Example pin on Espruino Board
GND GND GND
LIGHT Any GND (backlight on)
VCC 3.3v 3.3
CLK SPI SCK B3
DIN SPI MOSI B5
DC Any B6
CE Any B7
RST Any B8
SPI1.setup({ sck:B3, mosi:B5 });
var g = require("PCD8544").connect(SPI1, B6 /*DC*/, B7 /*CE*/, B8 /*RST*/, function() {
  g.clear();
  g.drawString("Hello",0,0);
  g.drawLine(0,10,84,10);
  g.flip();
});

Note:

  • The display needs initialising each time the power is applied - so if you're planning on saving your code, put .connect in the onInit() function.
  • The display takes around 100ms to initialise after calling 'connect'. There's an optional callback that is called after this time (shown in the example). Sending data to it before initialisation may cause it not to initialise correctly.
  • This module uses a double buffer, which means you need to call g.flip() before any changes take effect.
  • The display seems picky about lower SPI baud rates - try and keep above 1Mhz in SPI.setup
  • You can use g.setContrast(0.45) to set the contrast of the LCD display. It takes a value between 0 and 1 - 0.5 is the default.

Using

  • APPEND_USES: PCD8544

Buying