serdisplib

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.
ATTENTION:
please provide a correct and verified reply-address (especially when sending email requests via users.sourceforge.net)!
if i get a 'mail delivery failed' i am not able to send a reply.

I do not use social media services like Facebook, Twitter, LinkedIn and the like. If you want to contact me, I'd kindly ask you to send an email.

library serdisplib:

description

serdisplib started as a library to drive serial displays with built-in controllers.
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

version 1.97.9

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)
  • support for output via libSDL (since version 1.97.9)

supported at the moment (serdisplib version 1.97.9)

displays:

controller display 1) resolution colours 2) protocol 3) 4) remarks devices using this display supp. since
monochrome and greyscale displays
PCD8544
&
compliant
or
similar
LPH 736684 x 48monochr.* ser.3Pbacklight from PCB Nokia 5110, 5120, 5130, 5160, 6110, 6150 < 1.92
LPH 7677 - Nokia 3210
LPH 7779 Nokia 3310, 3315, 3330, 3350, 3410
LPH 769096 x 60- Nokia 6210 1.95
PCF851196 x 64- Nokia 5310, 6310 1.97.6
SED 153x
series
Alps LSU7S1011A96 x 32monochr.* ser.6P-- 1.94
Optrex 323 117 x 62 ser.6backlight built-in- < 1.92
Epson E0855-2 96 x 32 par.8+4backlight built-indisplay kit sold by pollin 1.97.5
SED 156x
series
Nokia 711096 x 65monochr.* ser.5Pbacklight built-inNokia 7110 1.92
NEC 21a132 x 32 par.8+4 -NEC 21a pager (skyper) 1.95
LPH7508100 x 64 par.8+4 -display kit sold by pollin 1.96
Hyundai HP12542R128 x 64 par.8+4 -display kit sold by pollin 1.96
?Ericsson T2x101 x 33monochr.  i2cP, S-Ericsson A1018, T20, T28, T29 1.93
?Ericsson R520
Ericsson T65
101 x 674 (grey)  i2cP, S-Ericsson R520, Ericsson T65 1.97
T6963all T6963-basedvar.monochr.  par.8+4
ser.3
P-generic display controller 1.95
SED 133x,
S1D13700
series
all SED 133x-basedvar.monochr.  par.8+4P-generic display controller 1.95
all S1D13700-basedmonochr. 1.97.8
KS0108
series
all Samsung KS0108-based64/128/192/256 x 64monochr.  par.8+4P-generic display controller 1.97
LH 155
series
Sharp M078CKA240 x 64monochr.  par.8+4P-only 8080-mode supported in 1.97.x 1.97.5
generic Sharp LH155-basedvar. 1.97.5
LC7981DG-16080 display family180 x 60monochr.  par.8+4P--1.97.9
USB display-modules (monochrome)
-c't includ ('maeusekino') USB-display128 x 64monochr.  USBUSB-www.ct-maeusekino.de 1.97
-linux4media E-5i-USB128 x 64monochr.  USBUSBIR-sensor, interfaces for keyb.+mousewww.digitaldevices.de 1.97.7
-alphacool 200x64200 x 64monochr.  USBUSB-www.alphacool.de 1.97.7
alphacool 240x128240 x 128
-SDC Megtron240 x 128monochr.  USBUSBsoftware adjustable backlightSmart Display Company 1.97.9
-USB13700 usb controllervarmonochr.  USBUSBadd. SPI interfacewww.lcdinfo.com 1.97.9
colour displays
S1D15G10Nokia 6100 et al, green connector130 x 130256, 4096  SPIP-Nokia 2600, 3100, 3200, 6100, 6610, 7210, 7250 (and maybe some more) 1.97.6
S1D15G14Nokia 3510i/353097 x 65256, 4096* SPIP-Nokia 3510i, 3530 1.96
-linux4media L4M132C128 x 64
132 x 65
monochr., 64k  USBUSBIR-sensor, interfaces for keyb.+mousewww.digitaldevices.de 1.97.8
OLED displays
SSD0303Osram Pictiva 96X36 1bit96 x 36monochr.* par.8+4
ser.4
P-display size: 1" 1.97.6
SSD0323Osram Pictiva 128X64 4bit128 x 6416 levels* par.8+4
ser.4
P-display size: 2.7" 1.97.6
SSD1332Osram Pictiva 96X64 16bit96 x 6464k* par.8+4
ser.4
P-display size: 1" 1.97.6
STV8105Osram Pictiva 256X64 4bit256 x 6416 levels* par.8+4
ser.4
P-display size: 3.2" 1.97.8
Goldelox MD1Goldelox MD1 based display modulesvar.256, 64k* RS232USB, S-generic interface module
(LCD and OLED display modules)
1.97.8
SSD1353Bolymin BL160128A160 x 128256, 64k, 256k* par.8+4P-display size: 1.8" 1.97.9
SSD13394DOLED-282815128 x 128256, 64k, 256k* par.8+4
ser.4
P-display size: 1.5" 1.97.9
other
libSDLSDL outputvar.var.  -SDLoutput via libSDL- 1.97.9
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
  • RS232

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 like ppdev (linux) or ppi (freebsd)
    (some minor changes and adaptions will be necessary though)

todo

  • other interfacing methods (USB, PIC/ATMEL, ...)
  • further displays, controllers, ...

call for pictures

if you have pictures showing your displays built using my pages i would be pleased if you could send me some so that i may put them onto the contribution pages
top ^

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/
SVN development informations about SVN development (trac-based) http://apps.sourceforge.net/trac/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/
top ^

news:

2013-10-21 added note concerning soc. media services
2010-02-21 release serdisplib 1.97.9
2009-02-21 added link to SVN development informations (trac-based)
2009-01-28 added a link to tobias stoeber's hardware page describing e08552 displays
2008-07-31 release serdisplib 1.97.8
2008-07-29 added ericsson t65 in display overview
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 it seems that all nokia 51XX are using the same display -> replaced 5110 through 51XX in navigation bar (proven to be wrong)
2004-03-17 enhanced navigation bar (now all supported controllers / displays (including nokia model name) are shown)
2004-01-13 first alpha release
top ^

design by wolfgang astleitner, (C) 1998 - 2010