GLCD problem with WG12864A

i hope i can get some help.
I ve got my WG12864A from Sure electronic(eBay), and i hooked it up to my Arduino standard board Duemilanove according to the wiring that explained in GLCD topic for beta version 3. note that for type B panel the drawing is not match with table(analog 0,1) for same type need to be correct.
and i ran all example include the library. there is problem !

the LCD is squished in such way that shows only bottom half with ugly font on top of each other.
after i ran GLCDdiags it found error but i do not know how to fix it.
i will appreciate any help.

Show us some pics and your code.

the code file is GLCDdiags that is included in example of GLCD ver3.0

OK, how are the soldered-on pin headers? Anything touching anything else?

What happens if you sweep the trimpot?

oh i checked every single wire and for extra percussion i move the lcd to different holes set .
when i sweeping the pot the brightness of screen changes .
i need somebody confirm the glcd wiring chart is correct.? :-[

I could not figure out what was the problem so I replace Arduino board with Mega and it works perfectly. :slight_smile:
if anybody find the problem please drop a note for me

Hi LogiXcraft,
I'm the co-author of the GLCD V3 library and the author of the diag sketch.
In looking at your pictures and the diagnostic output it looks like you
have an issue with some stuck data bits or data bits not being driven

Sometimes these types of errors are bit tricky to track down
but this looks like a wiring or connection issue.

At first glance it looks like a data bus issue but it could also be
a chip select issue.

The first thing to do is look at the diag output and verify that
each pin on the Arduino is connected the GLCD pin fuction as shown
in diagnostic output.
This output is what matters as it is what the glcd library is really using based on what it was told in the pin configuration file.
Don't go back to any GLCD "type" wiring table for this verification.
(trust nothing but the real GLCD data sheet and the GLCD diag output)
Simply look at the diag output and then verify which Arduino pin
is connected to which glcd function pin based on the GLCD data sheet.
For example, in your output you can see that
Arduino pin 14 should be connected to GLCD chip select 1
Arduino pin 15 should be connected to GLCD chip select 2
etc... for all pins.

If there are mismatches, you can either correct the wiring or
correct it by altering the pin configuration file.

The walking 1's test is attempting to write and read a single memory
location in GLCD memory. It is writing the memory with each bit
set: by writing the values: 1, 2, 4, 8, 16, 32, 64, 128.

The compare is failing indicating an issue with the data bus.
Since the display is kind of sort of working, some of the bits are working
or at least working intermittently.

This can be caused by either incorrect wiring, broken wires, wires not making proper connection in the sockets/connectors.

Floating (un connected wires) will usually show up as 1's vs 0's.

In seeing that only the lower portion of the display is working plus
a walking ones error on Data bit 3 (the 1 != 2 error message).

I would look very carefully at the data bit 3 connection which
is Arduino pin 11 or AVR pin B3.

Also, if the chip select wires are not making proper contact, there can be
very strange behavior as the code will be inadvertently selecting more than 1 chip at a time. This can cause things like graphics mirrored
left & right, bit corruption on the screen and other strange effects.

So look very closely at both chip select wires.
A broken wire here or a poor connection on one or both of the chip
select lines can cause very strange things including things like what you are seeing.

--- bill