nokia 7110

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.

nokia 7110 displays:

description

nokia 7110 displays are controlled using an on-glass controller sed1565. with some technical skills, an independant, small display with background light can be gained out of these phones at hardly any costs.
specifications
resolution 96x65
colours monochrome
controller sed1565
backlight yes (4 LEDs, green, included in display module)
adjustable contrast yes, programmable
dimensions module: 48 x 63 mm, display area: 34 x 29 mm (measured)
name in serdisplib NOKIA7110       (example: serdisp_init(sdcd, "NOKIA7110", ""); )

pinout, assembling

[nokia 7110 display: pinout]

pinout for nokia 7110 display

   1            temp sensor 47k (at 25C)
   2     /CS    chip select (low active)
   3            speaker +
   4     D/_C   command/data switch
   5     SCLK   serial clock line of LCD
   6            speaker -
   7            on/off switch
   8     LED-   LED cathode
   9     LED+   LED anode
  10     GND    ground for printer port and VDD 
  11     GND    == pin 10
  12     VDD    +V (Chip power supply, some value around 3V)
  13     SDATA  serial data input of LCD
  14     /RES   low active Reset input
            

annotations

  • speaker + and speaker - lead to two contact areas at the front side of the module (no speaker is actually built-in in the module!)
  • signal on/off switch is set when pressing the button at the front side of the display
  • temp sensor is a temperature sensitive resistor
[nokia 7110 display: assembly step] at first i wanted to solder flexcables directly onto the pins, but this didn't work as expected, so i decided to build 'contact pads' which also did a good job in my pcd8544-project:
  • from an old circuit board i cut out a small piece [1] and drilled three holes into it so that it could be screwed with the display module (the third hole is for the plastic nose of the display module).
  • i found some nuts that fit exactly into the holes of the display module and some matching screws [2].
  • one end of the flex cable was unisolated and assembled such that it suited exactly for the display's contact pins [3]. the other end was already ready for insertion into a ZIF-socket (i found this cable in an old apple powerbook)
  • at last i screwed the plate together with the flex cable onto the display module
[nokia 7110 display: assembled]
front and back view of ready assembled nokia 7110 display

some images

[nokia example 1] [nokia example 2]
nokia 7110 display showing a test image nokia 7110 display with output generated by graphlcd
[nokia display w/ red background light]  
nokia 7110 display in red (replaced green leds with red ones)
warning: readability suffers when using red backlight
 
top ^

connecting a nokia 7110 display to the parallel port:

intro

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

wiring

signals:


                       +------------------+
                      |    7           1   |
                     |     # # # # # # #    |
                    |    # # # # # # #       |
                   |     8           14       |
                   +--======================--+
                   |   ==    ==    ==    ==   |   <-- background LEDs
                   |      ##############      |   <-- on-glass controller
                   +--======================--+
                   |                          |
                   |                          |
                   |        rear view         |
                   |   connector is visible   |
                   |                          |
                   |        nokia 7110        |
                   |                          |
                   +--------------------------+



   Signal name  PC            LCD     Signal name
   ---------------------------------------------------------
   Data 0       2             13      SDATA (SI) serial data input of LCD
   Data 1       3              5      SCLK  serial clock line of LCD
   Data 2       4              4      D/_C  command/data switch
   Data 4       6              2      /CS   chip select (low active)
   Data 5       7             14      /RES  low active Reset input
   Data 7       9           8, 9            backlight (switched using a transistor)
   Ground      18          10,11      GND   ground for printer port and VDD
               --             12      VDD   +V (Chip power supply, some value around 3V)


    

circuit:

[sed1565: circuit]

part list:


    Part#   Type                Value                  Annotation
    ---------------------------------------------------------------------------------------
    R1-R6   Resistor            1 kOhm       
    R7      Var.Resistor        eg. 100 Ohm            or higher value if needed;
                                                       or simply a resistor with fixed value
    T1      Transistor          eg. BC547    
    D1      Diode               eg. 1N4148   
    IC1     Var. Voltage Reg.   LM317 (or similar)     Vout should result in some value at 3V
    R8      Resistor            eg. 220 Ohm  
    R9      Resistor            eg. 330 Ohm
    C1, C2  Capacitor           some uF                not mandatory, for smoothing input voltage

    

remarks:

R6, R7, T1, D1 are needed in combination with LED background light only!
R8 and R9 affect Vout of IC1 and are calculated using the following formula:
Vout = 1.25 * (1 + (R9 / R8))
usually (according to the data sheet of LM317) R8 should be 240 Ohm. i chose 220 Ohm.
together with R9 = 330 Ohm i get Vout = 3.15 V.
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!

addressing

[addressing]

anomaly of nokia 7110

sed1565 supports a max. resolution of 132x65, but nokia 7110 displays only use 96x65. unlike one might expect, the first column is not 0, but 18. so every column address has to be shifted by 18.

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.

as sed1565 supports 65 lines, 9 pages are used. but only the first bit row is used from the last page.

top ^

passing options through serdisp_init():

intro

using the third parameter of serdisp_init(), driver specific options and custom wiring can be set.
common information about passing options and customisable wiring can be found in a separate document.
    examples:
    
      serdisp_init(sdcd, "NOKIA7110", "ROTATE=90;INVERT=YES;BACKLIGH=OFF");
    

options

identifiershortremarkdefault
ROTATEROTrotate display (1 == 180 degrees)0
INVERTINVinvert display0
DELAY delay after each write/read operation.
  0 .. no delay
  1 .. one call of gettimeofday()
 >1 .. delay at least x nanoseconds
     
0
CONTRAST set display contrast5
BACKLIGHTBGswitch background light on or off1
WIRINGWIREpre-defined or customisable wiring0

ranges, aliases

identifierrangealiases
ROTATE0, 1, 90, 180, 270YES=180, NO=0, TRUE=180, FALSE=0
INVERT0, 1YES=1, NO=0, TRUE=1, FALSE=0
DELAY>= 0NONE=0
CONTRAST[0, 10] 
BACKLIGHT0, 1YES=1, NO=0, TRUE=1, FALSE=0, ON=1, OFF=0

pre-defined wiring definitions

identifiernumeric idprotocoldescription
SerDTSerdisp0PARSerDisp wiring, serial data transfer

display signals

identifierdescriptionmandatory
SIserial data input*
SCLserial clock*
DCdata or command*
ICSchip select input, active low*
RESETreset signal, active low; optional if wired to a hardware reset circuit 
BACKLIGHTbacklight, optional 

annotations

top ^

links:

data sheets
sed1565 controller data sheet for SED 1565 (english) sed1565.pdf
links to other projects
Berty's Home Page pinouts, projects, ... for different LCDs. important source for my project (english) http://sandiding.tripod.com/Bertys.html
Nokia 7110 nokia 7110 pinouts (at berty's page) (english) http://sandiding.tripod.com/nokialcd7110.html
driving library for Nokia 7110 How to interface a Nokia 7110 lcd with a PIC16F84A microcontroller (english) http://sandiding.tripod.com/n7110.html
top ^

thanks:

special thanks go to
donating a nokia 7110 phone  * Renè Hofer
 * Andreas Fierlinger
 * Christian Pühringer
top ^

history:

2005-05-08 adapted page for new css
added section 'passing options'
2004-08-29 added picture of nokia 7110 display hack using red background light
2004-04-03 added dimensions for display module and display area
2004-03-28 first final release
2004-03-25 first pre release
top ^

design by wolfgang astleitner, (C) 1998 - 2005