Repair Nokia 3210

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!)
  • email: mrwastl at users.sourceforge.net

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
adjustable contrast yes, programmable
dimensions LPH7366: module: 38.4 x 33 mm, display area: 29 x 19.5 mm (datasheet)
LPH7779: module: 38.5 x 35 mm, display area: 30 x 22 mm (measured)
names in serdisplib PCD8544 ... generic for LPH7366, LPH7677, and LPH7779; no backlight ("WIRING=1")
LPH7366 ... LPH7366 only, with backlight support ("WIRING=0")

examples:

serdisp_init(sdcd, "PCD8544", "");
serdisp_init(sdcd, "LPH7366", "");
specifications LPH7690
resolution 90x60
colours monochrome
controller pcd8544 compliant commands
backlight no
adjustable contrast yes, programmable
dimensions
name in serdisplib LPH7690 (example: serdisp_init(sdcd, "LPH7690", ""); )

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) ...
[pcd8544: display + board types] (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)
[pcd8544: different display types]
different display types in bigger view + pin 1 positions
[pcd8544: where to cut the circuit board]
ad type 2: recycling the circuit board using a 'dremel' (or similar). red lines indicate where to cut through
[pcd8544: board, leds]
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

[pcd8544] [optrex323]
type 2 display finished and working output generated by graphlcd
top ^

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

added circuits using hardware reset (R/C-circuit) instead of /RES-wire

wiring

signals:

    Type 1 displays

+-------------------------+
| 1 2 3 4 5 6 7 8 |
| # # # # # # # # |
| ===#=#=#=#=#=#=#=#=== | 1 .. VDD
+--=====================--+ 2 .. SCLK
| | 3 .. SI
| | 4 .. D/C
| rear view | 5 .. /CS
| connector is visible | 6 .. GND
| | 7 .. Vout
| LPH7779 | 8 .. /RES
| |
+-------------------------+


Signal name PC LCD Signal name
---------------------------------------------------------
Data 0 2 3 SI serial data input of LCD
Data 1 3 2 SCLK serial clock line of LCD
Data 2 4 4 D/C (or sometimes named A0) command/data switch
Data 5 7 8 /RES active low reset
Data 7 9 - Backlight (optional, not on display)
Ground 18 6 GND Ground for printer port and VDD
-- 1 VDD +V (? mA) Chip power supply
-- 5 /CS active low chip select (connected to GND)
-- 7 Vout output of display-internal dc/dc converter


Type 2 displays


+--------------------------+
| 1 2 3 4 5 6 7 8 9 |
| # # # # # # # # # | 1 .. VDD
| ===#=#=#=#=#=#=#=#=#== | 2 .. SCLK
+--======================--+ 3 .. SI
| | 4 .. D/C
| | 5 .. /CS
| rear view | 6 .. Osc
| connector is visible | 7 .. GND
| | 8 .. Vout
| LPH7366 | 9 .. /RES
| |
+--------------------------+


Signal name PC LCD Signal name
---------------------------------------------------------
Data 0 2 3 SI serial data input of LCD
Data 1 3 2 SCLK serial clock line of LCD
Data 2 4 4 D/C (or sometimes labelled A0) command/data switch
Data 5 7 9 /RES active low reset
Data 7 9 - Backlight (optional, not on display)
Ground 18 7 GND Ground for printer port and VDD
-- 1 VDD +V (up to 7.4 mA) Chip power supply
-- 5 /CS active low chip select (connected to GND)
-- 6 Osc external clock (connected to VDD)
-- 8 Vout output of display-internal dc/dc converter


circuits:

[pcd8544: circuit power supply]

power supply for generating V+ needed by the following circuits


[pcd8544: circuit 8-pin displays]

connecting 8-pin displays ('type 1') to the parallel port


[pcd8544: circuit 9-pin displays]

connecting 9-pin displays ('type 2') to the parallel port

part list:

    Part#   Type                Value                  Annotation
---------------------------------------------------------------------------------------
R1 Resistor eg. 270 Ohm
R2 Resistor eg. 330 Ohm
C1, C2 Capacitor some uF not mandatory, for smoothing input voltage
IC1 Var. Voltage Reg. LM317 (or similar) Vout should result in > 2.7V and <>

remarks:

type 2 displays (lph 7366) have 9 pins, type 1 displays (lph 7677, 7779) only have 8 pins. both circuits are illustrated above.
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.

part-list is the same as above with the following exceptions:

    Part#   Type                Value                  Annotation
---------------------------------------------------------------------------------------
R3-R6 Resistor 1 kOhm
R7 Resistor 10 kOhm
C4 Capacitor 10 uF

[pcd8544: circuit 8-pin displays with hardware reset]

8-pin displays ('type 1') with hardware reset


[pcd8544: circuit 9-pin displays with hardware reset]

9-pin displays ('type 2') with hardware reset


pro
one wire less
contra
display can no longer be reset by software

addressing

[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.

1 comments:

  1. Unknown said...:

    Excellent post..it's really very informative.
    Ecommerce Web Development Company

Post a Comment

 
Mobile Phones Blog | Features,Concepts,Applications and Prices © 2012 | Designed by Cheap TVS, in collaboration with Vegan Breakfast, Royalty Free Images and Live Cricket Score