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 s1d 15g14-based display (found in nokia 3510i/3530 cellphones) 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
s1d 15g14:
nota bene
colour-mode displays require a rather high throughput which isn't provided by parallel ports. because of this the update speed is not very fast!
description
s1d15g14-based displays used in nokia 3510i / 3530 cellphones.
specifications | |
---|---|
resolution | 97x65 |
colours | 256, 4096 |
controller | S1D15G14 |
adjustable contrast | yes |
name in serdisplib |
"N3510I " , "N3530 " (example: serdisp_init(sdcd, "N3510I", ""); ) |
some images
output generated by graphlcd (standard settings: white background, black drawing colour) |
output generated by graphlcd (inverted, drawing colour yellow results in light blue when inverted) |
shadow man (© by redhat) rendered by multidisplay |
daggett from angry beavers (© by nickelodeon), rendered using multidisplay |
image (gwen stefani) displayed using multidisplay |
test output generated by multidisplay on a solaris 10 box |
top ^
connecting a nokia 3510i / 3530 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 3510i/3530 displays connected to the parallel port) i had to chose a wiring-'standard' for myself.
wiring
signals:
+------------------------+ | 1 2 3 4 5 6 7 8 | | # # # # # # # # | 1 .. /RES | ===#=#=#=#=#=#=#=#== | 2 .. /CS +--====================--+ 3 .. GND | | 4 .. SI (SDATA) | | 5 .. SCLK | rear view | 6 .. Vio | connector is visible | 7 .. Vflash | | 8 .. Vout | N3510i | | | +------------------------+ Signal name PC LCD Signal name --------------------------------------------------------- Data 0 2 4 SI serial data input of LCD Data 1 3 5 SCLK serial clock line of LCD Data 2 4 2 /CS chip select Data 5 7 1 /RES active low reset Data 7 9 - Backlight (optional, not on display) Ground 18 3 GND Ground for printer port and display voltages -- 6 Vio 1.8V chip power -- 7 Vflash 2.8V display power -- 8 Vout output of display-internal dc/dc converter (Vout -> capacitor -> GND to avoid noise)
circuits:
connecting n3510i/3530 displays to the parallel port
part list:
Part# Type Value Annotation --------------------------------------------------------------------------------------- R1-R5 Resistor 1 kOhm R6 Var.Resistor eg. 100 Ohm or higher value if needed; or simply a resistor with fixed value C1 Capacitor eg. 0.1 uF for stabilisation of display (0.22 uF or other values are fine just as well) T1 Transistor eg. BC547 D1 Diode eg. 1N4148
remarks:
R5, R6, T1, D1 are needed in combination with LED background light only!
be warned: without background light the display is hardly readable!
Vio ought to be connected to 1.8V but I did quite well without even connecting it.
as always: just because it worked for me doesn't mean that it will work for you!
i used the original SMD-leds from the Nokia 3510i cellphone. they needed some value around 3.1V.
as i didn't like to generate two voltages, i also connected Vflash to 3.1V (rather than connecting it to the recommended 2.8V)
and one again: just because it worked for me doesn't mean that it will work for you!
if your display dies in flames don't blame me.
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 --------------------------------------------------------------------------------------- R4 Resistor 10 kOhm C2 Capacitor 10 uF
connecting n3510i/3530 displays using hardware reset
- pro
- one wire less
- contra
- display can no longer be reset by software
top ^
passing options through serdisp_init():
intro
using the third parameter of
common information about passing options and customisable wiring can be found in a separate document.
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, "N3510I", "DEPTH=8;CONTRAST=5"); serdisp_init(sdcd, "N3510I", "COLOURS=4k;BACKLIGHT=YES");
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 | 180 | |
CONTRAST | set display contrast | 5 | |
DEPTH | COLS, COLOURS | colour depth | 12 |
WIRING | WIRE | pre-defined or customisable wiring | 0 |
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 | 65536=16,64k=16,4096=12,4k=12,256=8 |
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 |
---|---|---|
SDATA | SPI serial data input | * |
SCLK | SPI serial clock | * |
CS | SPI chip select | * |
RESET | reset signal, active low; optional if wired to a hardware reset circuit | |
BACKLIGHT | backlight, optional |
annotations
- as the throuput of a standard parallel port is not high the update speed of the display is not fast. a display buffer is used which only sends changed data to the display controller (using an optimising algorithm) to gain some speed-up.
top ^
links:
data sheets | |||
---|---|---|---|
technical reference | local copy of S1D15G14 series technical reference | (english) | D15G14E.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 3510, 3510i | Nokia 3510, 3510i LCD Pinouts (at berty's page) | (english) | http://sandiding.tripod.com/ni3510.html |
top ^
history:
2006-01-29 | added circuit section |
2006-01-11 | added some images |
2006-01-02 | first release |
top ^