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 Epson S1D15G10-based displays to a parallel port and drive it using
serdisplib
- initial code for this display was contributed by Abhishek Dutta, 4096 colour mode and enhancements have been added by me.
- 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!)
S1D15G10:
description
NOTA BENE:
two different types of displays (with different controllers) are used in these cellphones: Epson S1D15G10 (usually with a green connector) and Philips or compliant (PCF8833 or LDS176) (usually with a brown connector).a detailed description of how to distinguish between the different displays can be found at Mike's Electric Stuff / Nokia colour LCD driver identifier.
the following nokia-cellphones are known to have one of above-named displays: Nokia 2600, 3100, 3200, 6100, 6610, 7210, 7250 (and maybe some more).
this page is about S1D15G10-based displays!
specifications | |
---|---|
resolution | 130x130 |
colours | 256, 4096 (4096 colours supported since v 1.97.8) |
controller | Epson S1D15G10 |
backlight | yes |
adjustable contrast | yes |
dimensions | display area: 27 x 27 mm (measured) |
name in serdisplib |
"S1D15G10" , "N6100" (example: serdisp_init(sdcd, "S1D15G10", ""); ) |
some images
pictures © 2007 by Abhishek Dutta: | |
output generated by testserdisp |
TLM-logo (Abhishek's homepage) |
grid pattern | number pattern generated by testserdisp |
pictures by Wolfgang Astleitner: | |
test output by testserdisp |
RGB / CMYK testpattern |
connecting a S1D15G10-display (green connector) to the parallel port:
pin numbering confusion
pin numbering used by nokia and some lcd projects - brown and green connectors (picture taken from thomaspfeifer.net) | pin numbering used by Abhishek - because it was printed like this on the connector of his display! (picture by Abhishek Dutta) |
important:
as shown in the pictures above, different pin numberings can be found (because green displays with a reverse numbering printed on the connector are available). Abhishek burned two displays because of this fact!only the numbering is different, the signals and voltages are always the same (VDD is always bottom/left, /CS is always top/left).
this page will use the left pin numbering (VDD = pin 1)
wiring
signals:
| connector from front view, pins visible | | display module: rear view is visible | | ------------------------------------------------------- | | | | -- -- 5 | = = | 6 | | 4 | = GREEN = | 7 | | 3 | = CONN- = | 8 | ECTOR | 2 | = = | 9 | | 1 | = = | 10 -------------------- Pin Signal name Description ---------------------------------------------------------- 1 VDD 3.3V logic power 2 /RES active low reset 3 SDATA serial data input of LCD 4 SCLK serial clock line of LCD 5 /CS chip select 6 VLCD 3.3V display power (Abhishek uses 2.8V and it works fine) 7 NC (not connected) 8 GND GND (ground) 9 LED- LED ground 10 LED+ VLED 6 - 7 V
annotations:
- pin 1 and 6 can either be both connected to the same power source or pin 1 can be left open (according to Abhishek)
circuits:
connecting an S1D15G10-display to the parallel port
part list:
Part# Type Value Annotation --------------------------------------------------------------------------------------- R1-R4 Resistor 1 kOhm
hardware reset vs. software reset:
to save one wire it is possible to replace the /RES-wire through a R/C-circuit.
connecting display using hardware reset
modified part-list:Part# Type Value Annotation --------------------------------------------------------------------------------------- R1-R3 Resistor 1 kOhm R4 Resistor 10 kOhm C1 Capacitor 10 uF
- pro
- one wire less
- contra
- display can no longer be reset by software
passing options through serdisp_init():
intro
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, "N6100", "DEPTH=8;CONTRAST=5"); serdisp_init(sdcd, "S1D15G10", "INVERT=YES;BACKLIGHT=YES");
shifted display
default offset settings: OFFSETX=1, OFFSETY=1 (Abhiskek uses OFFSETX=0, OFFSETY=2).
options
identifier | short | remark | default |
---|---|---|---|
ROTATE | ROT | rotate display (1 == 180 degrees) | 0 |
INVERT | INV | invert display | 0 |
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 contrast 3) | 5 | |
BACKLIGHT | BG | switch background light on or off | 0 |
DEPTH | COLS, COLOURS | colour depth 2) | 12 |
OFFSETX | x-offset in display RAM 1) | 1 | |
OFFSETY | y-offset in display RAM 1) | 1 | |
WIRING | WIRE | pre-defined or customisable wiring | 0 |
2) 4096 colour mode supported since v.1.97.8 (versions <= v.1.97.7 only support 256 colour mode)
3) setting of contrast broken in <= v.1.97.7
ranges, aliases
identifier | range | aliases |
---|---|---|
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 |
DELAY | >= 0 | NONE=0 |
CONTRAST | [0, 10] | |
DEPTH | 8,12 | 4096=12,4k=12,256=8 |
OFFSETX | 0,1,2 | |
OFFSETY | 0,1,2 | |
BACKLIGHT | 0, 1 | YES=1, NO=0, TRUE=1, FALSE=0, ON=1, OFF=0 |
pre-defined wiring definitions
identifier | numeric id | protocol | description |
---|---|---|---|
SerDispBG | 0 | PAR | SerDisp wiring, w/ backlight |
SerDisp | 1 | PAR | SerDisp wiring, w/o backlight |
SerDispBGHWRes | 2 | PAR | SerDisp wiring, w/ hardware reset, w/ backlight |
SerDispHWRes | 3 | PAR | SerDisp wiring, w/ hardware reset, w/o backlight |
display signals
identifier | description | mandatory |
---|---|---|
SI | serial data input | * |
SCL | serial clock | * |
DC | data or command | * |
RESET | reset signal, active low; optional if wired to a hardware reset circuit | |
BACKLIGHT | backlight, optional |
links:
data sheets, technical informations | |||
---|---|---|---|
technical reference | local copy of Epson S1D15G10 series technical reference | (english) | S1D15G00_REV1_0.pdf |
Nokia colour LCD driver identifier | How to differ between Epson and Philips n6100&co displays | (english) | http://www.electricstuff.co.uk/noklcd.html |
links to other projects | |||
---|---|---|---|
Abhishek's Page | LCD Stuffs - Abhishek's project page (the author of the contributed code) | (english) | adutta.np.googlepages.com/interfacingmobilephonelcd reverse pin numbering used! |
Epson S1D15G10 and ATMega32L | Controlling a color graphic LCD, Epson S1D15G10 Controller, with an ATMEL AVR ATMega32L | (english) | -> www.e-dsp.com |
Sparkfun | Color LCD 128x128 Nokia (data sheets, examples, a.s.o.) | (english) | www.sparkfun.com -> product_id: 569 |
martin-k | Pinouts and ATMega code for some displays (Nokia 3510i, Nokia 6100, Siemens S65) | (german) | www.xmail.net/martin-k/display.htm |
history:
2008-07-31 | added changes introduced in v.1.97.8 |
2007-10-13 | added notes about the different displays that are existing |
2007-08-21 | added circuits for connecting display to the parallel port |
2007-08-19 | pin numbering problem |
2007-08-14 | first release |