disclaimer / info:
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 a nokia 7110 display (or generally: sed1565-based display) to a parallel port and drive it using
- 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
nokia 7110 displays:
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.
|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 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
- 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
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  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 .
- one end of the flex cable was unisolated and assembled such that it suited exactly for the display's contact pins . 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
|front and back view of ready assembled nokia 7110 display
|nokia 7110 display showing a test image
||nokia 7110 display with output generated by graphlcd
|nokia 7110 display in red (replaced green leds with red ones)
warning: readability suffers when using red backlight
connecting a nokia 7110 display to the parallel port:
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.
| 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)
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
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!
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'
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.
passing options through serdisp_init():
using the third parameter
, driver specific options and custom wiring can be set.
common information about passing options
can be found in a
serdisp_init(sdcd, "NOKIA7110", "ROTATE=90;INVERT=YES;BACKLIGH=OFF");
|ROTATE||ROT||rotate display (1 == 180 degrees)||0|
|DELAY|| ||delay after each write/read operation.|
0 .. no delay
1 .. one call of gettimeofday()
>1 .. delay at least x nanoseconds
|CONTRAST|| ||set display contrast||5|
|BACKLIGHT||BG||switch background light on or off||1|
|WIRING||WIRE||pre-defined or customisable wiring||0|
|ROTATE||0, 1, 90, 180, 270||YES=180, NO=0, TRUE=180, FALSE=0|
|INVERT||0, 1||YES=1, NO=0, TRUE=1, FALSE=0|
|CONTRAST||[0, 10]|| |
|BACKLIGHT||0, 1||YES=1, NO=0, TRUE=1, FALSE=0, ON=1, OFF=0|
pre-defined wiring definitions
|SerDTSerdisp||0||PAR||SerDisp wiring, serial data transfer|
|SI||serial data input||*|
|DC||data or command||*|
|ICS||chip select input, active low||*|
|RESET||reset signal, active low; optional if wired to a hardware reset circuit|| |
|BACKLIGHT||backlight, optional|| |
- serdisplib driver sed156x supports two different types of displays:
- nokia 7110 uses serial data transfer in opposite to nec 21a display module which uses parallel data transfer. nec 21a uses
WIRING=1 which is NOT applicable for nokia 7110 displays!
||data sheet for SED 1565
|special thanks go to
|donating a nokia 7110 phone
* Renè Hofer
* Andreas Fierlinger
* Christian Pühringer
|| adapted page for new css
added section 'passing options'
||added picture of nokia 7110 display hack using red background light
||added dimensions for display module and display area
||first final release
||first pre release