pcd8544

disclaimer / info:

DISCLAIMER:
THIS IS EXPERIMENTAL SOFTWARE AND HARDWARE. USE AT YOUR OWN RISK.
THE MAINTAINER(S) OF THESE PAGES AND THE DEVELOPER(S) OF SOFTWARE AND HARDWARE PRESENTED
ON THESE PAGES CAN NOT BE HELD LIABLE UNDER ANY CIRCUMSTANCES FOR DAMAGE TO HARDWARE OR SOFTWARE,
LOST DATA, OR OTHER DIRECT OR INDIRECT DAMAGE RESULTING FROM THE USE OF THIS SOFTWARE OR HARDWARE.
IF YOU DO NOT AGREE TO THESE CONDITIONS, YOU ARE NOT PERMITTED TO USE OR FURTHER DISTRIBUTE THIS
SOFTWARE OR TO USE ANY TEMPLATES FOR BUILDING HARDWARE PRESENTED HERE.

this page deals with connecting an pcd8544-based display to a parallel port and drive it using serdisplib

i'm not responsible for the content of external web pages

external web pages will generally open in separate browser windows or tabs

english is not my native language. please keep that in mind
(corrections of english grammar and formulations are very welcome!)

pcd8544-based displays (+ compliant ones):

description

pcd8544-based displays can be found in some monochrome nokia-cellphones.
with some technical skills, an independant, small display with background light can be gained out of these phones at hardly any costs.

specifications

resolution

84x48

colours

monochrome

controller

pcd8544

backlight

no, but with some skills the background light
(4 to 6 LEDs, green) laying on the cellphone board can be used

different display connector and board types

at least two different types of displays and circuit boards exist
(i called them "type 1" and "type 2", maybe there are even more).

different display models

model name (of display)

type

nokia cellphones

LPH 7366

2

Nokia 5110, 5120, 5130, 5160, 6110, 6150

LPH 7677

1

Nokia 3210

LPH 7779

1

Nokia 3310, 3315, 3330, 3350, 3410

LPH 7690

1

Nokia 6210

further ones (list will be updated) ...

(digits in brackets show the marks in the following pictures)

type 1:

the display is connected to the circuit board [2] using metallic pins [1]

leds are soldered on the other side of the circuit board [3]

they enlight the display through holes in the circuit board [3]

the display has 8 pins

pin #1 is rightmost (rear view of display, connectors at the bottom line)

tiny cables could be soldered directly onto the metallic pins

recommentation: design a circuit board for leds and display connector on your own because the circuit board can hardly be recycled

update: some displays use a different method to connect the display module to the circuit board: contact pads and a separate "transmitter". it should be possible to solder wires directly onto the contact pads or to use an elastomer

type 2:

the display is connected to the circuit board [2] using an elastomer ('lcd-connector' or 'rubber pad with conducting joints') [1]

leds are soldered on the same side of the circuit board [3] underneath the position of the display

on the other side of the circuit board there are no electronic parts

the display itself is "clipped" [4] onto the circuit board

the display has 9 pins (additional possibility to connect an external oscillator)

pin #1 is rightmost (rear view of display, elastomer at the bottom line)

the circuit board of the cellphone can be 'recycled' by simply cutting out the interesting part (see picture below)

different display types in bigger view + pin 1 positions

ad type 2: recycling the circuit board using a 'dremel' (or similar). red lines indicate where to cut through

ad type 2: i used a flex cable because i damaged the connector pad.
as all leds are wired together, you only have to find two positions where to solder the wires so that the leds can be connected.
i drilled two tiny holes through the circuit board (red arrows) and soldered a wire directly to a cathode and the other wire to an anode

some images

connecting a pcd8544-based display to the parallel port:

intro

the initial wiring is based on the wiring of an optrex 323 to the parallel port.
as i didn't know of any other projects like this (with pcd8544-displays connected
to the parallel port) i had to chose a wiring-'standard' for myself.

updates

2004-04-29

a severe mistake is now corrected: the pin-order was swapped in the photos
(and at two positions in the description)!
when you look at the display in rear view with connectors at the bottom-line,
pin 1 is rightmost (not leftmost)!

but: ascii arts in the source code of the library (serdisp_specific_pcd8544.h)
did not contain this mistake!

2004-11-28

when reviewing the source code i noticed that signal 'CS' is never used and may be safely
connected to GND. i updated circuits and descriptions to reflect this (CS slipped in from optrex323
when i adapted it's driver for pcd8544).

note: the functionality of serdisplib is NOT affected through this update
(because CS wasn't used anyway)

2005-02-12

some pcd8544-based displays (especially newer ones) run unstable if Vout is not connected. inserting
a capacitor avoids this. thanks to Michael Bülte for explaining this problem to me

remarks:

R7, R8, T1, D1 are needed in combination with LED background light only!

C1 and C2 are not mandatory, but at least C1 is recommended for smooth power supply.

C3 is only needed if the display runs unstable (possible erraneous effect: only every 2nd row is shown). thanks to Michael Bülte for this hint

R1 and R2 affect Vout of IC1 and are calculated using the following formula:

Vout = 1.25 * (1 + (R2 / R1))

usually (according to the data sheet of LM317) R1 should be 240 Ohm. i did not have such a resistor so i chose 270 Ohm.
together with R2 = 330 Ohm i get Vout = 2.7777777 V.
that is at the lower limit of the specification of pcd8544. so maybe you should chose better values for R1 and R2.

i also tested a PJ 1084 (smd lowdrop adj. voltage reg.) as a replacement for the LM317 and it worked fine.attention: different order of pins!

hardware reset vs. software reset:

to save one wire it is possible to replace the /RES-wire through a R/C-circuit.

addressing

pages vs. rows:

the display is organised in colums and pages: 8 pixel-rows are combined to a
so called page.as only whole bytes can be transferred to the display, a single pixel
cannot be changed without knowing its 7 'neighbour' pixels.
so a display buffer was introduced in the library. pixel changes are all done in this buffer
and in a separate step only changed 'page bytes' are transferred (using an optimising algorithm) to
the display.