ericsson r520/t65 (i2c-based)

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.

ericsson r520 / t65 displays:

description

ericsson r520/t65 displays are controlled using an i2c-based on-glass controller (model name unknown).
[ericsson r520 front view] [ericsson t65 front view]
frontview of an ericsson r520 display frontview of an ericsson t65 display
specifications
resolution 101 x 67
colours 4 greylevels
controller i2c-based, model name unknown
backlight no
adjustable contrast no
dimensions module: about 45 x 45 mm (without speaker), display area: 30 x 24 mm (measured)
name in serdisplib ERICSSONR520 or E///R520 or R520       (example: serdisp_init(sdcd, "ERICSSONR520", ""); )

pinout

[ericsson r520 displays: pinout]

pinout for ericsson r520/t65 displays

   1   VLCD     +10V  (lcd power supply, 10V +/-1V (measured))
   2   VLOGIC   +2.7V (logic power supply, measured)
   3   SDA      i2c-SDA
   4   GND      GND
   5   SCLK     i2c-SCLK
   6   /RES     active low reset
            

annotations

  • the model name of the controller is unknown
  • exact voltage ranges are unknown to me. i used a working cell phone to measure them
  • display contrast may be changed by varying VLCD (about +/- 1V)

addressing

pages vs. rows:

the display is organised in columns and pages: 4 pixel-rows are combined to a so called page (one pixel requires 2 bit).
as only whole bytes can be transferred to the display, a single pixel cannot be changed without knowing its 3 'neighbour' pixels.
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.

some images

[ericsson r520 testserdisp output] [ericsson r520 graphlcd output]
ericsson r520 display showing a test image ericsson r520 display with output generated by graphlcd
[ericsson r520 multidisplay shadoman] [ericsson r520 multidisplay eyeface]
shadow man ( © by redhat) rendered by multidisplay another image rendered by multidisplay
top ^

connecting an ericsson r520 or t65 display to the parallel port:

intro

i2c-displays only require two signal lines, SDA (data) and SCLK (clock).
furthermore ericsson r520/t65 displays have a RESET (/RES) signal line - but this one can be connected to a hardware reset circuit.

i used D0 and D1 to connect the display to the parallel port. if a hardware reset circuit was not used, /RES was connected to D5.

wiring

signals:



                      +----------------------------+
                      |         1 2 3 4 5 6        |
                      |         # # # # # #        |
                      +------================------+
                      |                            |
                      |                            |
                      |                            |
                      |          rear view         |
                      |    connector is visible    |
                      |                            |
                      |           ??n/a??          |
                      |                            |
                      |                            |
                      |                            |
                      +----------------------------+


   Signal name  PC            LCD     Signal name
   ----------------------------------------------------------
   Data 0       2              3      SDATA  i2c-SDA
   Data 1       3              5      SCLK   i2c-SCLK
   Data 5       7              6      /RES   active low reset (or via using a hardware reset circuit)
   Ground      18              4      GND    Ground
               --              1      VLCD   +10 V (lcd power supply, some value around 10V)
               --              2      VLOGIC +2.7V (logic power supply, some value around 2.7)


  Source: user "z01" from forum.lcdinfo.com; voltages measured by Wolfgang Astleitner

    

circuit:

with hardware reset circuit:
[ericsson r520: circuit for parallel port]
part list:

    Part#   Type                Value                  Annotation
    ---------------------------------------------------------------------------------------
    R1-R2   Resistor            1 kOhm       
    R3      Resistor            10 kOhm            
    C1      Capacitor           10 uF
    
with software reset:
[ericsson r520: circuit for parallel port]
part list:

    Part#   Type                Value                  Annotation
    ---------------------------------------------------------------------------------------
    R1-R3   Resistor            1 kOhm       
    

remarks:

  • VLOG needs to be about 2.7V
  • changing VLCD influences the contrast
    (possible values from +9V to +11V ==> low to high contrast; best readable when using +10V; all values measured using trial&error)
  • default wiring in serdisplib is: DO = SDA, D1 = SCLK, and a hardware reset circuit is used for /RES.
top ^

connecting an ericsson r520 or t65 display to the serial port:

intro

as i2c-displays only need two signal lines, it may be driven using the serial port. also the power can be gained through it (so no extra power supply is needed!)

wiring

signals:


                      +----------------------------+
                      |         1 2 3 4 5 6        |
                      |         # # # # # #        |
                      +------================------+
                      |                            |
                      |                            |
                      |                            |
                      |          rear view         |
                      |    connector is visible    |
                      |                            |
                      |           ??n/a??          |
                      |                            |
                      |                            |
                      |                            |
                      +----------------------------+


    Signal name  PC            LCD     Signal name
    ----------------------------------------------------------
    TxD          3              1      VLCD   +10V (lcd power supply)
    TxD          3              2      VLOGIC +2.7V (logic power supply)
    DTR          4              3      SDATA  i2c-SDA
    GND          5              4      GND    Ground 
    RTS          7              5      SCLK   i2c-SCLK
    ---          -              6      /RES   active low reset, controlled using a hardware reset circuit


    
circuit, part list will follow ...
top ^

passing options through serdisp_init():

intro

using the third parameter of 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, "ERICSSONR520", "INVERT=YES");
      serdisp_init(sdcd, "R520", "WIRING=SDA:D6,SCLK:D7");
    

options

identifiershortremarkdefault
ROTATEROTrotate display (1 == 180 degrees)0
INVERTINVinvert display0
DELAY delay after each write/read operation.
  0 .. no delay
  1 .. one call of gettimeofday()
 >1 .. delay at least x nanoseconds
     
0
WIRINGWIREpre-defined or customisable wiring (only when protocol=PAR, no customisable wiring when protocol=SERRAW)0

ranges, aliases

identifierrangealiases
ROTATE0, 1, 90, 180, 270YES=180, NO=0, TRUE=180, FALSE=0
INVERT0, 1YES=1, NO=0, TRUE=1, FALSE=0
DELAY>= 0NONE=0

pre-defined wiring definitions

identifiernumeric idprotocoldescription
Original0PARparallel port wiring using hardware reset
Rifer1PARRifer wiring (SDA -> pin 2, SCLK -> pin 16)
OrigReset2PARparallel port wiring using software reset

display signals

identifierdescriptionmandatory
SDAserial data input*
SCLKserial clock*
RESETreset, optional if hardware reset circuit is used 
BACKLIGHTbacklight, optional 

annotations

top ^

links:

i2c
Philips - I2C-bus i2c-bus is a protocol created by philips. they provide useful information about it here (english) http://www.semiconductors.philips.com/buses/i2c/
top ^

thanks:

special thanks go to
sniffing the i2c-traffic user "z01" from forum.lcdinfo.com
top ^

history:

2008-07-29 added ericsson t65 displays which are pinout compliant and seem to have the same controller
2007-03-31 first release
top ^

design by wolfgang astleitner, (C) 1998 - 2008