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 a Pictiva 96x36x1 OLED display 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
Pictiva 96x36x1:
description
Osram Pictiva 96x36x1 is a monochrome OLED display with 1" screen diagonal.
specifications | |
---|---|
resolution | 96x36 |
colours | monochrome |
controller | SSD0303 |
backlight | not needed (OLED -> self emitting) |
adjustable contrast | yes |
dimensions | module size: 28.6 x 17.26 mm; display area: 21.1 x 8.0 mm (datasheet) |
name in serdisplib |
"OLED96X36X1" (example: serdisp_init(sdcd, "OLED96X36X1", ""); ) |
some images
output generated by testserdisp |
another output by testserdisp |
output generated by graphlcd |
output generated by a skinable beta version of graphlcd |
remarkdisplay content looks much better in reality. it is not easy to photograph an OLED because of its high contrast. thus the images shown here are far away from the real impression. |
top ^
connecting a Pictiva 96x36x1 OLED display to the parallel port:
pinout
1 (nc) not connected 2 VSS GND 3 (nc) not connected 4 VDDB power supply for the GDR pin buffer 5 (nc) not connected 6 (nc) not connected 7 (nc) not connected 8 (nc) not connected 9 (nc) not connected 10 (nc) not connected 11 VDD logic supply voltage 12 BS1 interface selection pin 1 (see table below) 13 BS2 interface selection pin 2 14 (nc) not connected 15 /CS active low chip select 16 /RES active low reset 17 D/C HIGH: data / LOW: command 18 /RD 8080 mode: RD strobe / 6800 mode: E clock 19 /WR 8080 mode: write strobe / 6800 mode: read/write 20 D0 parallel data 0 / serial mode: SCLK 21 D1 parallel data 1 / serial mode: SDA 22 D2 parallel data 2 / serial mode: nc 23 D3 parallel data 3 / serial mode: nc 24 D4 parallel data 4 / serial mode: nc 25 D5 parallel data 5 / serial mode: nc 26 D6 parallel data 6 / serial mode: nc 27 D7 parallel data 7 / serial mode: nc 28 IREF segment (column) current reference 29 VCOMH common (row) high voltage 30 VCC OLED power supply 31 (nc) not connected 6800 parallel 8080 parallel SPI serial I2C --- ------------- ------------- ---------- ----- BS1 0 1 0 1 BS2 1 1 0 0 (i2c is not yet supported) |
leftmost: pin 1, rightmost: pin 31 |
wiring
circuit:
connecting a Pictiva 96x36x1 OLED display to the parallel port
part list:
Part# Type Value Annotation --------------------------------------------------------------------------------------- R1-R12 Resistor 1 kOhm R13 Resistor 820 kOhm R14 Resistor 10 kOhm C1 Capacitor 10 uF C2 Capacitor 4.7 uF C3 Capacitor 1 uF C4 Capacitor 10 uF
annotations:
- according to the datasheet, VCC (OLED power supply) should be around 12.5V, but 12V seems to be fine, too
- VDD (logic power) needs to be 2.4V - 3.5V. thus 3.3V is fine because it can be gained directly from the ATX power supply
- the circuit is hard-wired to parallel bus data-transer
- interface mode: 8080 (BS1 and BS2 wired to VDD)
- hardware reset is used
- LCD/D0 (pin 20) must be connected to PARPORT/D0 (pin 2), LCD/D1 (pin 21) must be connected to PARPORT/D1 (pin 3), and so on
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, "OLED96X36X1", "CONTRAST=5;INVERT=YES"); serdisp_init(sdcd, "OLED96X36X1", "ROTATE=YES;INTERFACE=6800");
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 | 0 | |
CONTRAST | set display contrast | 5 | |
INTERFACE | MODE | interface mode (0 .. 8080, 1 .. 6800, 2 .. SPI) | 0 |
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] | |
INTERFACE | 0, 1, 2 | 8080=0,6800=1,SPI=2,SERIAL=2 |
pre-defined wiring definitions
identifier | numeric id | protocol | description |
---|---|---|---|
Original | 0 | PAR | Original wiring |
OriginalSWRes | 1 | PAR | Original wiring w/ software reset |
SPI | 3 | PAR | simple SPI wiring |
display signals
identifier | description | mandatory |
---|---|---|
parallel modes (8080, 6800) | ||
D0 - D7 | 8 bit wide data bus | * |
CS | chip select input, active low | * |
DC | data or command | * |
WR | write signal, active low | * |
RD | read signal, active low | |
RESET | reset signal, active low; optional if wired to a hardware reset circuit | |
serial mode (SPI) | ||
SDA | serial data | * |
SCLK | serial clock | * |
CS | chip select input, active low | * |
DC | data or command | * |
RESET | reset signal, active low; optional |
top ^
links:
data sheets, technical informations | |||
---|---|---|---|
display datasheet | local copy of Pictiva 96x36x1 display datasheet | (english) | OLED_96X36_Blau.pdf |
technical reference | local copy of SSD0303 controller technical reference | (english) | Treiber_IC-SSD0303_OLED_96x36.pdf |
top ^