ks0108 display stays empty


I bought a LCD display which is driven by the ks0108 library.
I wired everything to the arduino as described. I am using the Arduino Mega.

So I connected C1 and C2 to 33 and 34.
VCC is power I guess?
But what is V0?
RS aka D/I to 36, R/W to 35, Enable to 37
D0 through D7 to 22 through 29
Vee is contrast wiper? I connected it to a 10 kOhm potentiometer (works fine with the other LCD i have)
BK+ and BK- is backlight.

If I connect RST to the Reset pin, Arduino… resets.
And what is V0 for? Where to connect power? VCC, V0, VEE?

Don’T Know :frowning:

I just copied the example file and added

#include <ks0108_Mega.h> right after the ks0108 include, so it uses the Mega board pin set.

Even when using the GLCD Beta thing it does not work. The GLCDdiags test hangs at the beggining stating "Initializing GLCD" but then nothing happens anymore.

your sure this is a wide.hk diplay right?

Sel1 goes to pin 34
Sel2 -> 33
Gnd -> Gnd
reset leave open
trimpot +
lcd +5v
lcd -5v

according to my notes.

I think I've tracked down the problem to the missing pot at port 5. Stay tuned. Thanks man!

What kind of pot do I have to connect to Pin 5?


10k pot used for this project.

This was my thread when I built them.


on the back of the display what is written.

yhm1284c or GT-G12864A


Connecting enable 18 which doesn’t make sense did result in nothing as well.
So when I connected the Pin 5 (V0) to the same pot as the contrast, the screen gets all white. But I can’t get it to display text or graphics at all.
The GLCDdiag just says “Initializing” and nothing happens.

on the back of your display, what is written on it?

you did get these from wide?

yhm1284c or GT-G12864A

I have bought alot of displays from him.

let me look at my notes but the two displays are different in the way the backilight and the contrast work. They do work with the ks108 sketch and the new library being written.

Oh sorry, forgot to post you what's written:

Thiis is his data sheet for his display.


The latter does not have jumpers.

let me go and get a 6 pack and some flux.

we can start over from pin 1 of the display.

Connect one end of a 10K potentiometer to Vee and the other end to Gnd. Connect the wiper to Vo.


I wired according to the specification (everything was fine except for the contrast and negative voltage output). Now the library atleast initializes but hangs or gives lots of errors when displaying the chip select screen.
If I connect the negative voltage output to the contrast wiper pot the display displays a white line at the top and then nothing.

So it's not the contrast (I can deal or play with that setting later) but the library isn't speaking properly to the display. The display does not display anything, no examples work and not the GLCDdiags. Programs just hang, the error must be somewhere else. But I checked the wiring ten times and all is fine.
The display isn't cleared also, if I reload the sketch, the display stays all white (when high contrast setting)

GLCD Lib Configuration: glcd ver: 3 glcd_Device ver: 1 gText ver: 1
Panel Configuration:ks0108
Pin Configuration:ks0108-Mega
GLCD:ks0108 DisplayWidth:128 DisplayHeight:64
Chips:2 ChipWidth:64 ChipHeight:64
 CSEL1:33(PIN_C4) CSEL2:34(PIN_C3)
 RW:35(PIN_C2) DI:36(PIN_C1) EN:37(PIN_C0)
 D0:22(PIN_A0) D1:23(PIN_A1) D2:24(PIN_A2) D3:25(PIN_A3)
 D4:26(PIN_A4) D5:27(PIN_A5) D6:28(PIN_A6) D7:29(PIN_A7)
Delays: tDDR:320 tAS:140 tDSW:200 tWH:450 tWL:450
ChipSelects: CHIP0:(33,0x1, 34,0x0) CHIP1:(33,0x0, 34,0x1)
Data mode: byte
Diag Loop: 2
Initializing GLCD
Displaying ChipSelect Screens
Walking 1s data test
 Compare error: 0 != 1
 Compare error: 0 != 2
 Compare error: 0 != 4
 Compare error: 0 != 8
 Compare error: 0 != 10
 Compare error: 0 != 20
 Compare error: 0 != 40
 Compare error: 0 != 80

these are the pins we do konw right?

pin 1 cs1 > this may be backwards
pin 2 Cs2 > as above , reverse this with pin one to get propper display.
Pin 3 is 0 Vdc.
pin 4 > + 5 vdc
pin 5 > lets leave that one for now. I will trace it in a minute.CONTRAST ADJ.
pin 6 > D/I write > H:DATA, L:INSTRUCTION CODE
Pin 7 R/w Read/write > H:READ(LCD MPU) L:WRITE(MPU LCD)
pin 8 Enable
pin 9~16 are > data
pin 17 - leave disonected ( to test )
pin 18 Vee ( lets leave this one and let me trace it. )
19 lcd + 5v
20 lcd - 5V

pin 5 goes to the wiper

So, I swapped C1 and C2
Now the test results are a little different but still failed

Diag Loop: 1
Initializing GLCD
Displaying ChipSelect Screens
Walking 1s data test
 Compare error: FB != 1
 Compare error: 87 != 2
 Compare error: FF != 4
 Compare error: 82 != 8
 Compare error: FF != 10
 Compare error: 83 != 20
 Compare error: EB != 40
 Compare error: FF != 80

instead of 0 everytime

17 I have a resistor to limit current.

Resistor connected to what? Reset? No

this is with a standard the demo sketch on a mega?