20x4 OLED I2C Display

Hi All,

I’m currently busy with a 20x4 I2C OLED Display with Volumio 1.55 on a RPI B
I’ve solderd the display to the GPIO Pins (VCC5+, GND, SDA, SCL)

Only I can’t get any visuals…

Before I Used a 16x2 LCD HD44780, which worked perfectly.

I’ve changed LCDd.conf to DEV/I2C-1, 0x20, Installed i2ctools.

This is the display i’m using

Does anybody has any suggestions getting this display operational?

Grt Arco

[code]## Hitachi HD44780 driver ##

Select what type of connection. See documentation for types.


Port where the LPT is. Usual value are: 0x278, 0x378 and 0x3BC


Device of the serial interface [default: /dev/lcd]


Bitrate of the serial port (0 for interface default)


If you have a keypad connected.

You may also need to configure the keypad layout further on in this file.


Set the initial contrast (bwctusb and lcd2usb) [default: 500; legal: 0 - 1000]


Set brightness of the backlight (lcd2usb only) [default: 0; legal: 0 - 1000]


If you have a switchable backlight.


If you have the additional output port (“bargraph”) and you want to

be able to control it with the lcdproc OUTPUT command


Specifies if the last line is pixel addressable (yes) or it controls an

underline effect (no). [default: yes; legal: yes, no]


Specifies the size of the LCD.

In case of multiple combined displays, this should be the total size.


For multiple combined displays: how many lines does each display have.

Vspan=2,2 means both displays have 2 lines.


If you have an HD66712, a KS0073 or another ‘almost HD44780-compatible’,

set this flag to get into extended mode (4-line linear).


In extended mode, on some controllers like the ST7036 (in 3 line mode)

the next line in DDRAM won’t start 0x20 higher. [default: 0x20]


Character map to to map ISO-8859-1 to the LCD’s character set

[default: hd44780_default; legal: hd44780_default, hd44780_euro, ea_ks0073,

sed1278f_0b, hd44780_koi8_r, hd44780_cp1251, hd44780_8859_5, upd16314 ]

(hd44780_koi8_r, hd44780_cp1251, hd44780_8859_5 and upd16314 are possible if

compiled with additional charmaps)


If your display is slow and cannot keep up with the flow of data from

LCDd, garbage can appear on the LCDd. Set this delay factor to 2 or 4

to increase the delays. Default: 1.


Some displays (e.g. vdr-wakeup) need a message from the driver to that it

is still alive. When set to a value bigger then null the character in the

upper left corner is updated every seconds. Default: 0.


If you experience occasional garbage on your display you can use this

option as workaround. If set to a value bigger than null it forces a

full screen refresh seconds. Default: 0.


You can reduce the inserted delays by setting this to false.

On fast PCs it is possible your LCD does not respond correctly.

Default: true.


If you have a keypad you can assign keystrings to the keys.

See documentation for used terms and how to wire it.

For example to give directly connected key 4 the string “Enter”, use:


For matrix keys use the X and Y coordinates of the key:




I’ve got the display working, only I get just the top two lines active…

LCDd.conf set to 20x4, ExtendeMode=Yes.

Can’t seem to find the problem…