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 displays with built-in on-glass / on-board controllers
- 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
- forum: serdisplib forum
library serdisplib:
description
beginning with version 1.95 support was added for parallel driven displays. anyhow: the name 'serdisplib' will not change.
at the beginning it was only planned to add support for optrex 323 displays using some patches
to graphlcd, but soon i decided to create a separate library which can be used independently.
an interface-module and some patches are now the glue between graphlcd and the library.
the serial in "serial display" characterises the way of how the data is transferred to the display controller: data is sent bit by bit using a single input line. several (few) other lines are controlling things like timing (clock), data or command, ...
parallel driven displays transfer data using a data-bus (eg. 4, 8, 16-bit wide data-bus) and some signal wires.
version 1.97 introduces support for an USB driven display, version 1.97.6 introduces support for OLED displays
latest version
features
- coding language: c
- header files compliant for c++-code
- accessing the output device (parallel, serial port, ...) using
ioctl-calls or direct-IO - each pixel can be set or cleared separately
- optimised data-flow between library and display
- abstract software layer for certain display functions (eg: setting contrast)
- support for colour displays (since version 1.96)
- support for usb-based displays (since version 1.97)
- support for OLED displays (since version 1.97.6)
supported at the moment (serdisplib version 1.97.7)
displays:
| controller | display 1) | resolution | colours | C 2) | protocol 3) | I 4) | remarks | devices using this display | supp. since |
|---|---|---|---|---|---|---|---|---|---|
| monochrome and greyscale displays | |||||||||
| PCD8544 & compliant or similar |
LPH 7366 | 84 x 48 | monochr. | * | ser.3 | P | backlight from PCB | Nokia 5110, 5120, 5130, 5160, 6110, 6150 | < 1.92 |
| LPH 7677 | - | Nokia 3210 | |||||||
| LPH 7779 | Nokia 3310, 3315, 3330, 3350, 3410 | ||||||||
| LPH 7690 | 96 x 60 | - | Nokia 6210 | 1.95 | |||||
| PCF8511 | 96 x 64 | - | Nokia 5310, 6310 | 1.97.6 | |||||
| SED 153x series |
Alps LSU7S1011A | 96 x 32 | monochr. | * | ser.6 | P | - | - | 1.94 |
| Optrex 323 | 117 x 62 | ser.6 | backlight built-in | - | < 1.92 | ||||
| Epson E0855-2 | 96 x 32 | par.8+4 | backlight built-in | display kit sold by pollin | 1.97.5 | ||||
| SED 156x series |
Nokia 7110 | 96 x 65 | monochr. | * | ser.5 | P | backlight built-in | Nokia 7110 | 1.92 |
| NEC 21a | 132 x 32 | par.8+4 | - | NEC 21a pager (skyper) | 1.95 | ||||
| LPH7508 | 100 x 64 | par.8+4 | - | display kit sold by pollin | 1.96 | ||||
| Hyundai HP12542R | 128 x 64 | par.8+4 | - | display kit sold by pollin | 1.96 | ||||
| ? | Ericsson T2x | 101 x 33 | monochr. | i2c | P, S | - | Ericsson A1018, T20, T28, T29 | 1.93 | |
| ? | Ericsson R520 | 101 x 67 | 4 (grey) | i2c | P, S | - | Ericsson R520 | 1.97 | |
| T6963 | all T6963-based | var. | monochr. | par.8+4 ser.3 | P | - | generic display controller | 1.95 | |
| SED 133x series | all SED 133x-based | var. | monochr. | par.8+4 | P | - | generic display controller NOTA BENE: dual-panel displays are not supported yet! |
1.95 | |
| KS0108 series | all Samsung KS0108-based | 64/128/192/256 x 64 | monochr. | par.8+4 | P | - | generic display controller | 1.97 | |
| LH 155 series | Sharp M078CKA | 240 x 64 | monochr. | par.8+4 | P | - | only 8080-mode supported in 1.97.x | 1.97.5 | |
| generic Sharp LH155-based | var. | 1.97.5 | |||||||
| USB display-modules (monochrome) | |||||||||
| - | c't includ ('maeusekino') USB-display | 128 x 64 | monochr. | USB | USB | - | http://www.ct-maeusekino.de | 1.97 | |
| - | linux4media E-5i-USB | 128 x 64 | monochr. | USB | USB | IR-sensor, interfaces for keyb.+mouse | http://www.digitaldevices.de | 1.97.7 | |
| - | alphacool 200x64 | 200 x 64 | monochr. | USB | USB | - | http://www.alphacool.de | 1.97.7 | |
| alphacool 240x128 | 240 x 128 | ||||||||
| colour displays | |||||||||
| S1D15G10 | Nokia 6100 et al, green connector | 130 x 130 | 256, (4096) | SPI | P | - | Nokia 2600, 3100, 3200, 6100, 6610, 7210, 7250 (and maybe some more) | 1.97.6 | |
| S1D15G14 | Nokia 3510i/3530 | 97 x 65 | 256, 4096 | * | SPI | P | - | Nokia 3510i, 3530 | 1.96 |
| OLED displays | |||||||||
| SSD0303 | Osram Pictiva 96X36 1bit | 96 x 36 | monochr. | * | par.8+4 ser.4 | P | - | display size: 1" | 1.97.6 |
| SSD0323 | Osram Pictiva 128X64 4bit | 128 x 64 | 16 levels | * | par.8+4 ser.4 | P | - | display size: 2.7" | 1.97.6 |
| SSD1332 | Osram Pictiva 96X64 16bit | 96 x 64 | 64k | * | par.8+4 ser.4 | P | - | display size: 1" | 1.97.6 |
legend:
1) ... model name of display or, if not known, name of mobile phone or device where built-in
2) ... C: programmable contrast (* = yes)
3) ... proprietary serial protocol (ser., digit = amount of req. control lines) or industry standard protocol (eg.: i2c, SPI, ...)
4) ... I: supported interfaces (P = parallel port; S = serial port; I = i2c
protocols:
- serial data-bus
- i2c
- parallel data-bus
interfaces:
- parallel port
- serial port (i2c-displays only)
- USB to serial adapters (i2c-displays only)
- USB (libusb, ioctl)
operating systems (tested):
- linux / x86 (ioctl and directIO)
- linux / mips, arm (libusb)
- solaris 10 / x86
- freebsd / x86 (only parport tested)
operating systems (untested):
- linux / non-x86
- solaris 10 / non-x86
- freebsd /non-86
- openbsd (compiles)
- any other unix-os supporting
ioctl-calls and devices likeppdev(linux) orppi(freebsd)
(some minor changes and adaptions will be necessary though)
todo
- other interfacing methods (USB, PIC/ATMEL, ...)
- further displays, controllers, ...
call for pictures
links:
| serdisplib at sourceforge | ||
|---|---|---|
| serdisplib | main page on sourceforge | http://sourceforge.net/projects/serdisplib/ |
| forums | public forums for serdisplib | http://sourceforge.net/forum/?group_id=98249 |
| svn browse | svn repository of serdisplib development | http://serdisplib.svn.sourceforge.net/viewvc/serdisplib/ |
| accessing serdisplib from other languages than c/c++ | ||
|---|---|---|
| Device::Serdisp | perl module wrapping serdisplib | search.cpan.org/~fuzz/Device-Serdisp |
| Ruby interface | ruby interface to serdisplib | serdisplib-ruby.rubyforge.org |
| lcd projects with support for serdisplib | ||
|---|---|---|
| graphlcd | vdr plugin for displaying channel info a.s.o. on a display and standalone tools | http://graphlcd.berlios.de |
| lcd4linux | program for grabbing information from the kernel (and some subsystems) and displaying it on LCDs | https://ssl.bulix.org/projects/lcd4linux |
| openslug | linux distribution running on linksys NSLU2 network storage link (bitbake-file for cross-compiling serdisplib included since library version 1.97.2) | http://www.nslu2-linux.org |
| freewrt | fork of openwrt - linux distribution running on wireless routers (support for serdisplib included in snapshots) | http://freewrt.org |
| openwrt | linux distribution running on wireless routers (support for serdisplib currently in CVS) | http://openwrt.org |
| lcdbuilder | QT4-based program to display various informations on LC-displays, support for serdisplib (and thus all displays supported by this library) included (german) | http://lcdbuilder.sourceforge.net |
| other lcd projects / lcd infos | ||
|---|---|---|
| berty | Berty's Home Page | http://sandiding.tripod.com/Bertys.html |
| rifer | Rifer's homepage (russian, but schematics are mostly in english) | http://rifer.narod.ru/ |
news:
| 2008-07-24 | added hardware page for KS0108-based displays |
| 2008-06-22 | added url to serdisplib-ruby - a ruby interface to serdisplib created by david muir |
| 2007-12-23 | added hardware page for OLED Pictiva 96x36x1 displays |
| 2007-11-14 | link to SVN repository added |
| 2007-10-11 | added hardware pages for linux4media E-5i and alphacool USB display modules |
| 2007-10-08 | release serdisplib 1.97.7 |
| 2007-08-26 | added hardware page for OLED Pictiva 96x64x16 full-colour displays |
| 2007-08-25 | added hardware page for OLED Pictiva 128x64x4 displays |
| 2007-08-14 | added hardware page for S1D15G10-displays (nokia 2600, 3200, 6100, and some more; green connector) |
| 2007-08-12 | added hardware page for pcf8511 displays (nokia 5310/6310) |
| 2007-07-31 | 2nd driver backport release serdisplib 1.97.6 |
| added url to contrib. patch for alphacool displays | |
| 2007-03-31 | removed display list from navigation bar (too big in the meantime). follow 'supported displays' to see overview |
| 2007-03-31 | added hardware page for ericsson r520 displays (i2c) |
| 2007-03-22 | fixed erraneous link to LH155/generic |
| 2007-03-18 | added hardware page for LH155-based displays (e.g.: sharp m078cka-a3qkla0057) |
| 2007-03-09 | driver backport release serdisplib 1.97.5 |
| 2007-02-21 | interim bugfix release serdisplib 1.97.4 |
| 2006-07-15 | added url to project 'freewrt' |
| 2006-06-29 | added url to Device::Serdisp - a perl wrapper module for serdisplib created by erik wasser |
| 2006-04-28 | serdisplib support in lcdbuilder (see section 'links') |
| 2006-04-12 | added hardware page for c't includ usb display |
| 2006-01-29 | serdisplib support in openwrt (see section 'links') |
| added circuits + descriptions to nokia 3510i/3530 page | |
| 2006-01-02 | added (preliminary) hardware pages for nokia 3510i/3530 cellphone displays (s1d15g14 based) |
| 2005-10-30 | added hardware pages for lph7508 and hyundai hp12542r display module kits |
| 2005-10-19 | new serdisplib version (v1.96), new displays added, API extended, colour support |
| 2005-06-17 | serdisplib successfully tested on FreeBSD (no changes were needed!) |
| 2005-05-11 | serdisplib support in lcd4linux (see section 'links') |
| 2005-05-09 | new serdisplib version (v1.95), new displays added |
| pages revamped for much better css-support (3 different font styles, separate printing style, ...) | |
| enhanced menu, many smaller enhancements | |
| 2004-11-28 | pcd8544-page updated (unused signal removed, circuits and descriptions updated to reflect this) |
| 2004-08-29 | picture added on sed1565-page with nokia 7110 display hack using red background light |
| 2004-08-12 | ericsson t2x hardware page finished |
| 2004-08-11 | global css-file instead of css-section in each html-file |
| pages should look a little bit better in internet explo*er now ... | |
| 2004-07-23 | new serdisplib version: v1.94 |
| additional displays supported: ALPS LSU7S1011A | |
| 2004-07-18 | new serdisplib version: v1.93 |
| additional displays supported: ericsson t2x displays (i2c) | |
| web pages updated and enhanced | |
| 2004-05-28 | replaced 'history'-section on this page through 'news'. i think this reflects better what this section is for: a global info-section reflecting the progress of the library and all sub-pages (hardware, contributions, a.s.o.) |
| new images on contribution page | |
| work goes on for version 1.93. it will contain support for i2c-displays (at least for ericsson t2x displays). because of planned support for accessing the i2c-displays through serial port also, a little API change will be necessary. | |
| 2004-04-05 | new categorie: contributions. contains (or will contain) hardware implementations and additional software by other people |
| 2004-03-22 | new hardware page: nokia 7110 displays and generic sed1565-based displays |
| enhancement of other hardware pages | |
| 2004-03-22 | new serdisplib version: v1.92. additional display/controller supported: nokia7110/sed1565 |
| fixed some severe html typos in navigation bar | |
| 2004-03-18 | |
| 2004-03-17 | enhanced navigation bar (now all supported controllers / displays (including nokia model name) are shown) |
| 2004-01-13 | first alpha release |