Strange problem with double pixels on CFAG240128LYYHTZ

mare

New member
Hello,

I have recently purchased CFAG240128LYYHTZ. Display powers up, I can put pixels/text on the screen... But there's a strange problem with pixels. If I set the pixel at 50, 50 (x,y), pixel is also set on ~55, 50 (~5px offset, same happens with text. If I write a string, characters are duplicated with ~5px offset). I searched the web but didnt find anything useful on the subject. Is this software or hardware problem? Voltage seems to be stable, wiring is correct, I tried different delays and nothing changed. Still getting the same problem. What should I do?

Thank you!
Looking for additional LCD resources? Check out our LCD blog for the latest developments in LCD technology.
 

CF Tech

Administrator
My first guess would be that there are two data lines shorted. Is that possible with your wiring setup?

Please try writing a "walking 1" (0000 0001,0000 00010, 0000 0100, etc) pattern to the display, and see if the ghost moves with it, or stays in the same place.
 

mare

New member
Hello, thanks for replying.

I re-checked all my wiring and it should be fine. What exactly do you mean by two lines are short? I tested all of the outputs on the data lines, they were ok. If they weren't would anything work? (Commands are also sent over those lines and a command wouldnt get through if they were short or wired incorrectly). Still havent found any solution for this. Are there any other "quick tests" that I can run over?

Thank you.
 

mare

New member
I tried another lcd from already running application and had the exact problem! So I'm guessing there's something wrong with the software...

Thanks!
 

CF Tech

Administrator
Thanks for the pictures. I was looking for pictures of the LCD itself, not the wires, but they do lend some insight.

The length of the wires and a couple of breadboard connections (these are typically not very reliable) in series might degrade the power supply to the LCD. You might try putting a 0.1uF decoupling capacitor across Vdd and Ground at the display.
 

mare

New member
Hello. This is the picture of the screen. You can see that there's identical picture on the right. (I sent "pixel on" command only from 100,0 - 100,127, second (right) line are "ghost" pixels and they're 8px away (depends on the font, with 6x8 there's 6px offset). Same happens if I send character "A" to the lcd. In that case "AA" is written on the LCD.



EDIT: tried with 1uF on the LCD. Didn't change anything.
 

Attachments

Last edited:

CF Tech

Administrator
That could be a "bounce" on the "E" line. Try putting a 100 ohm in series with the E line at the micro's pin. Shorter cables, better connections would also help.
 

mare

New member
I tried another lcd from already running application and had the exact problem! So I'm guessing there's something wrong with the software...

Thanks!
This isnt entirely true. There was indeed some software bug that produced output that appeared as this one but in fact it wasn't. When I fixed the software it worked. I also tried with old toshiba TLC 1091 display and the example below (the vertial line) works fine, without the double pixels. I tried the 100ohm resistor on the mic, hooked up the oscilloscope to see if the E line bounces but it does not. I also added some extra delay when switching the E on/off. After that period, E didnt bounce or change. Is it possible for the LCD to be damaged and work this way? I find this very strange? I must state that there was never any incorrect voltage on any of the pins.

Thanks!
 

mare

New member
Hi. I still haven't found the solution for double pixels. Is it possible for the display to be damaged and behave this way?

Thank you.
 

CF Tech

Administrator
Can you do the "walking 1" test?

It is just like your vertical line, except move the line to the right by one pixel for every 8 pixels you go down. I think that this test would lend some insight.

I guess it could be the display, but I think it is more likely that the breadboard or new software is the culprit.

If you want to pursue a new display, please write support@crystalfontz.com and refer them to this thread.
 

mare

New member
Hello, it's been a while ;) I was busy on other projects..

The problem is still there, I did the walking 1 test, just like you suggested. I dont know if this is the one you described, just threw this 4 lines together in 5 seconds:
Code:
x=0;
y=0;
while (y < 110)
{
	GLCD_Line(x, y, x, y+8);
	x++;
	y+=8;
}


Pretty weird if you ask me.. I have no idea what to do. I can go and make a PCB out of this but I don't think that it will change anything, as I said, two other displays I tried worked! I also emailed the support and I'll see how it goes.

Thanks!

Marko
 

Attachments

CF Tech

Administrator
I was thinking you might be writing directly to the display. Then you just write 0x01, 0x02, 0x04 . . to do the walking 1.

But we should be able to do it with the library.

Please try this code:
Code:
int
  x;
for(x=0;x<=14;x++)
  GLCD_Line(x*17, 10, x*17, 110);
This should result in a bunch of single vertical lines, spaced 17 horizontal pixels apart.
 

mare

New member
Hi!

Oh, you mean writing walking 1 directly to lcd's data lines?

I'm attaching the output of:
Code:
int
  x;
for(x=0;x<=14;x++)
  GLCD_Line(x*17, 10, x*17, 110);
 

Attachments

CF Tech

Administrator
Ahhh, can you zoom in on a small section of that? Preferably the upper left section.

Also, can you somehow get the focus right? Maybe peel back the film, or use "macro" (usually a little flower) mode of the camera?

Basically there should be a line every 17 pixels. If there are double lines, it might indicate a short.
 

mare

New member
This is the best I can do with this cheap phone of mine. Short where? None of the lines is short (breadboard wise), I must have checked this at least 10 times.
 

Attachments

CF Tech

Administrator
For that test code, there should only be one vertical column every 17 pixels.

The display is set up with 8 pixels grouped into one byte horizontally:

1111111122222222333333334444444455555555

Can you tell if every 8th pixel is lit? (stuck bit)

Do the double lines happen when one of two pixels should be lit? (2 data lines shorted together) I think the first two double lines might indicate that lines d4 and d5 are stuck.
 

mare

New member
Hello.

Writing 0x01 to data lines lits 8th and 16th pixel, writing 0x02 7th and 15th, writing 0x80 (10000000) lits 1st and 9th. Writing 0xFF lits all of 16 pixels. About stuck lines.. correct me if I'm wrong, but how would any of the commands (set home address, clear, initialize display, ..) work if two lines were short?
 

CF Tech

Administrator
Ok, if writing 0x01 lights the 8th and 16th pixel, it pretty much has to be a "double clocking" of the E signal.

This is almost certainly a grounding or signal integrity problem.

Might go away if you move away from the bread board.
 
Top