128x64 glcd problem

ive got a 128x64 glcd that i am having problems getting to work with my uno board am not sure how to define the extra chip select ? i have attached the pinout for the glcd


Do you have the rest of the datasheet?
I looks like it might be ks0108 display.

I would bet the data sheet is wrong - which is not uncommon.
typically a 128x64 glcd is composed of two 64x64 sections so there is chip select
for each section. There would be no need for 3 chip selects on a 128x64 ks0108 module.
Also, the backlight usually has its own power pins.

If you look at this pinout, there is no pin for the cathode of the backlight.
I'm guessing that the Vee signal is actually on pin 18 (which is where most ks0108 displays have it)
and then pin 19 is the backlight anode.

Since hooking things up incorrectly can smoke the glcd or the arduino, here is what I'd do.
First make sure you have the correct datasheet.
Do you see the part number that is on the back of you glcd somewhere on the datasheet?
If not, go look for the correct datasheet.
Even if it does match the datasheet you have, I'd still recommend going
and looking for another datasheet as this one looks like it has errors on it.

Once you find the correct datasheet hook up only
power and ground to the glcd power and ground pins
(pins 1 & 2 in this image)
Then check the glcd pins for the Vee voltage. It will be around -8 to -10 volts.
Most ks0108 displays have Vee on pin 18.
As you check this, be very careful not to short any of the signals as can damage
the glcd.
When you see the negative voltage you can verify that you have the correct pin for Vee.

But most importantly make sure the datasheet is for you display as even
the main power pins are not in the same location or order on different modules.

--- bill

Thanks for your reply ive attached a copy of the datasheet that was sent to me by the seller. the pinout on the silkscreen on the modjule matches that in the data sheet


YAOXY19264A.pdf (145 KB)

But the datasheet says it is 192x64 not 128x64.
What geometry is your display?
If it is 192 pixels across then there are some displays out there that use 3 chip selects.

Can you post some clear photos of the front & back of the glcd?

--- bill

i think i need to learn to read again it is a 192x64 display and i never noticed :blush: i have attached the photos of the display i am hoping i can still use it

Attachments_201445.zip (1.67 MB)

Nice display. You definitely will be able to use it.
It is great that the pins are labeled, that is not that common but will make
things much easier.

There are a several libraries out there that can be used.
I think these 3 are some of the most feature rich:

I was the co-author of GLCDv3 but I no longer support it.
I now actively support openGLCD.
openGLCD is a superset of GLCDv3 with bug fixes and many new features/capabilities
and examples.

From what I can tell from the datasheet, your display seems to be compatible with
a config file that is included with openGLCD.

I'd recommend using openGLCD.
There is LOTs of documentation for the library and you probably want to
start by reading what is on the bitbucket site.
If you like the library and its licensing terms (GPL)
you can download the library and its full HTML documentation and read through
the information to learn more about its capabilities, features, and how
to install and configure it as well as how to wire up the panel.

The currently released openGLCD documentation doesn't show which pin to use for CSEL3 or CSC in your case.
(I'm actually updating it right now for this - so it will be in the next release).
The pin varies depending on which Arduino board you are using.
If you look at the pin config file for your board you can see the pin used.
The m328 based boards like UNO along with Leonardo, Bobuino, and chipkit boards will use pin 3
and the AVR Mega will be pin 32.
For teensy boards you will have to modify the pin config file to select the desired pin.

If you decide to use openGLCD You will probably have additional questions.
Just post them here and I'll reply.

For connecting the wires, I solder a 20 pin header to the glcd panel.
This allows plugging the glcd into a breadboard which makes it easy
to connect the glcd pins to the Arduino board pins.
If using a Teensy or some of the other breadboard friendly
boards like Modern Devices BBB or RBBB, etc... then everything plugs into the breadboard
and you can use pin wires for all the connections.

The latest openGLCD download images now include HTML documentation with
wiring information about the pins used for ks0108 CSEL3 signals.

--- bill

thanks bill i've just downloaded openglcd I will wire my screen up and report back


I have got it to partly work but the right hand side of the display does not seem to be working ? I have attach a picture


I assume you are using openGLCD?
It looks like some pixels from the diag sketch.

It looks like there are some chip select issues.
It could be wiring or config file issues.

You have modified the config file to use the HJ19264A config file right?

Can you post the output from the serial port?
That will help diagnosing what the issue is.

Also, tell me which Arduino pins you have hooked up to the glcd chip select pins.

— bill

It looks like it is working now i had uncommented the wrong display in the config file D’ho!! here is the output from it

Serial initialized

Reported Arduino Revision: 1.0.5
F_CPU: 16000000

Lib Configuration: openGLCD ver: 0.8a-27 build: v0.8a-27-g62cf169
Panel Configuration:ks0108-HJ19264A
Pin Configuration:ks0108-Uno

GLCD:ks0108 DisplayWidth:192 DisplayHeight:64
Chips:3 ChipWidth:64 ChipHeight:64
D0:8(PIN_B0) D1:9(PIN_B1) D2:10(PIN_B2) D3:11(PIN_B3)
D4:4(PIN_D4) D5:5(PIN_D5) D6:6(PIN_D6) D7:7(PIN_D7)
Delays: tDDR:320 tAS:140 tDSW:200 tWH:450 tWL:450
ChipSelects: CHIP0:(A0,0x0, A1,0x1, 3,0x1) CHIP1:(A0,0x1, A1,0x0, 3,0x1) CHIP2:( A0,0x1, A1,0x1, 3,0x0)
Data mode:
d0-d3:nibble mode-Non-Atomic
d4-d7:nibble mode-Non-Atomic

Diag Loop: 1
Initializing openGLCD
Displaying Library version Screen
Turning display & backlight on/off
Displaying ChipSelect Screens
Walking 1s data test
Wr/Rd Chip Select Test
Testing GLCD memory pages
Horizontal Page Test Chip: 0 Pixels 0-63
Vertical Page Test Chip: 0 Pixels 0-63
Horizontal Page Test Chip: 1 Pixels 64-127
Vertical Page Test Chip: 1 Pixels 64-127
Horizontal Page Test Chip: 2 Pixels 128-191
Vertical Page Test Chip: 2 Pixels 128-191
Full Module Horizontal Page Test:Pixels 0-191
Full Module Vertical Page Test:Pixels 0-191
GLCD.SetDot() speed (K ops/sec): 16.23

It looks like it is working now i had uncommented the wrong display in the config file D'ho!! here is the output from it

There are examples for all the API calls.
Have you seen the video of the graphic API demo?
Let me know if you have any other issues and
it would be nice to get your feedback and comments on the library and documentation.

--- bill

I've not seen the api video. But the library and the documents are very complete and easy to understand even for myself who is new to Arduino

Thank you !!

There is a link to it on the bitbucket features page: