OLED Pictiva 256x64x4

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.

Pictiva 256x64x4:

description

Osram Pictiva 256x64x4 is an OLED display with 16 yellow or green-levels. its screen diagonal is 3.2".
specifications
resolution 256x64
colours 16 greyscale levels
controller STV8105
backlight not needed (OLED -> self emitting)
adjustable contrast yes
dimensions module size: 91.04 x 55.44 mm; display area: 79.33 x 19.81 mm (datasheet)
name in serdisplib "OLED25664X4"       (example: serdisp_init(sdcd, "OLED256X64X4", ""); )

some images

[pictiva 256x64x4: testserdisp dimension pattern] [pictiva 256x64x4: graphlcd]
output generated by testserdisp output generated by graphlcd
[pictiva 256x64x4: test pattern] [pictiva 256x64x4: multidisplay]
test pattern with numbers floyd steinberg dithered image generated by multidisplay
top ^

configuration notes

configuration notes for graphlcd

the default colour in graphlcd is set to black. current versions of graphlcd only draw information (when background and foreground colour are set to default) when using the foreground colour.
when using OLEDs (and depth > 1) the problem now is that information is only visible if the drawing colour is NOT black (because the background of the whole display is black). because of this the foreground colour has to be set to something else (usually white (0xFFFFFF)).
example configuration in graphlcd
 [serdisp]
 Driver=serdisp
 Device=/dev/parport0
 Controller=OLED256X64X4
 FGColour=0xFFFFFF
top ^

connecting a Pictiva 256x64x4 OLED display to the parallel port:

wiring

[pictiva 256x64x4: setup on a breading board]

quick and dirty setup on a breading board

see 'Application notes' (links section) for instructions.
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, "OLED256X64X4", "CONTRAST=5");
      serdisp_init(sdcd, "OLED256X64X4", "INVERT=YES;INTERFACE=6800");
    

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
CONTRAST set display contrast5
INTERFACEMODEinterface mode (0 .. Parallel (8080), 1 .. SPI)0
OPTION 
Option #VDDVPPVCOLVROWcd/m2
(yellow)
cd/m2
(green)
13 V12 V10 V7 V75100
23 V15 V12 V9 V100150

the value for OPTION needs to be set according to the voltages used for VPP, VCOL, and VROW.
cd/m2 means candela per square metre.
1
DEPTHCOLS, COLOURSgrey level depth4
WIRINGWIREpre-defined or customisable wiring0

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
CONTRAST[0, 10] 
INTERFACE0, 1PAR=0,PARALLEL=0,SERIAL=1,SPI=1
OPTION[1, 2] 
DEPTH1, 2, 4MONOCHROME=1,MONO=1

pre-defined wiring definitions

identifiernumeric idprotocoldescription
Original0PAROriginal wiring
OriginalSWRes1PAROriginal wiring w/ software reset
SPI2PARsimple SPI wiring
 
  • "WIRING=Original"
           DATA8 .. D0 to D7 -> pin 2 (D0) to pin 9 (D7)
           CS    .. pin 17 (nSELIN)
           DC    .. pin 16 (INIT)
           WR    .. pin 14 (nAUTO)
          
  • "WIRING=OriginalSWRes"
           DATA8 .. D0 to D7 -> pin 2 (D0) to pin 9 (D7)
           CS    .. pin 17 (nSELIN)
           DC    .. pin 16 (INIT)
           RESET .. pin 14 (nAUTO)
           WR    .. pin  1 (nSTRB)
          
  • "WIRING=SPI"
           SCLK  .. pin 2 (D0)
           SDA   .. pin 3 (D1)
           CS    .. pin 4 (D2)
           DC    .. pin 5 (D3)

display signals

identifierdescriptionmandatory
parallel mode (8080)
D0 - D78 bit wide data bus*
CSchip select input, active low*
DCdata or command*
WRwrite signal, active low*
RDread signal, active low 
RESETreset signal, active low; optional if wired to a hardware reset circuit 
serial mode (SPI)
SDAserial data*
SCLKserial clock*
CSchip select input, active low*
DCdata or command*
RESETreset signal, active low; optional 
top ^

links:

data sheets, technical informations
display datasheet local copy of Pictiva 256x64x4 display datasheet (english) OLED_256X64_Gelb.pdf
technical reference local copy of STV8105 controller technical reference (english) STV8105.pdf
Application notes local copy of application notes for the OLED module (english) AN016_Rio_OLED_Module_Application_Instruction.pdf
top ^

history:

2008-07-31 first release
top ^

design by wolfgang astleitner, (C) 1998 - 2008