Hookup Guide: 240x128 Graphic LCD Module Display T6963 ERM240128SYG-2

HI all, just want to make note of my success in hooking up one of these displays to a mega and how i did it,
not that its much difficulty, just to say i did...

I found and use u8glib library as it is most recent and far developed...
download: Google Code Archive - Long-term storage for Google Code Project Hosting.

open hello world example: uncomment

//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16

(and change pins if needed... i used the following)

U8GLIB_T6963_240X128 u8g(49, 48, 47, 46, 45, 44, 43, 42, 37, 36, 35, 34, 33); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16

also uncomment in setup() (if you have it up the way i do pictured)

u8g.setRot180();

here is the pin mapping on my unit off ebay,

LCD PIN LCD NAME u8glib 2560
1 FG GND
2 GND GND
3 VDD 5V
4 VO 50k POT WIPER (Leg 2)
5 /WR wr 35
6 /RD rd 34
7 /CE cs 37
8 C/D 36
9 RST reset 33
10 D0 D0 49
11 D1 D1 48
12 D2 D2 47
13 D3 D3 46
14 D4 D4 45
15 D5 D5 44
16 D6 D6 43
17 D7 D7 42
18 FS1 GND
19 VEE 50k POT LEG 1 (Leg 3 to 5v)
20 LEDA 3.3V (5V Too Bright)
21 LEDK GND

*50k Pot is your typical lcd contrast control

Thanks for reporting this.

Oliver

Hi haydent,

Do you know if these displays will run ok with 3.3V logic signals (but 5V power)?

PaulRB:
Hi haydent,

Do you know if these displays will run ok with 3.3V logic signals (but 5V power)?

how would i find this out for you ?

I thought you might possibly have come across that information while working with the display. Otherwise you would need to test by using it with a 3.3V uC like a Due, Teensy 3.0/3.1 or a 3.3V Pro Mini/Micro.

sorry no idea, and have neither of those device to test

Thanks anyway haydent. Are you still getting performance issues with that graphics library by the way? I wonder if the library is slow because it avoids keeping a bitmap of the screen in ram by reading back data from the display. A bitmap would take nearly 4K ram, almost half what a mega has and more than most arduinos have at all. A Due or Teensy would much better be able to spare that much ram, and are much faster, but it would be a pain to have to use level shifters.

i switched to this library Google Code Archive - Long-term storage for Google Code Project Hosting. for speed reasons, as i only really need text output

i think u8lib was so much slower because it was drawing a hole screen of graphic maybe... even if you just needed text, whereas with the library im using u can just print one line of text if thats all you need.

i have a due, but i dont believe it supports this screen with u8lib

as aside note , the model screen im dealing with has 256k of memory (i looked up the memory chip specs )

haydent:
the model screen im dealing with has 256k of memory (i looked up the memory chip specs )

No... that doesn't sound right, my friend! Even if that is kilo-bits, ie 32KB, that's still 8 times more than the display controller would need.

So what screen refresh rates are you getting? I have a ks108-based 128×64 display and have got it up to around 5 frames per second, redrawing evey pixel. I did not use a graphics library, I used only the digitalWriteFast library to drive the display directly. No point going much faster, because the individual lcd pixels are quite slow to change their appearance. (Can't remember the word for that - persistence?) Do you think a similar speed would be possible with your display? Assuming the Arduino was not the limiting factor.

yes, you are right... i overlooked that detail. its 256kbit so 32kB :

can you explain better how i would test it with ? are you suggesting writing to every pixel and timing it ?

currently i just use it in text mode and get 40 chars x 16 lines with 6x8 built in font.

Well, I don't want to take up too much of your time, but if you filled the entire screen with the same or random character, how many millis?

this takes 35 millis:

void loop(){

unsigned long time = millis();

LCD.TextGoTo(0,0);
LCD.writeString("sxpwokumoetuhxoetuzxowemuomkoenkmznqmkra");
LCD.writeString("sxpwokumoetuhxoetuzxowemuomkoenkmznqmkra");
LCD.writeString("sxpwokumoetuhxoetuzxowemuomkoenkmznqmkra");
LCD.writeString("sxpwokumoetuhxoetuzxowemuomkoenkmznqmkra");
LCD.writeString("sxpwokumoetuhxoetuzxowemuomkoenkmznqmkra");
LCD.writeString("sxpwokumoetuhxoetuzxowemuomkoenkmznqmkra");
LCD.writeString("sxpwokumoetuhxoetuzxowemuomkoenkmznqmkra");
LCD.writeString("sxpwokumoetuhxoetuzxowemuomkoenkmznqmkra");
LCD.writeString("sxpwokumoetuhxoetuzxowemuomkoenkmznqmkra");
LCD.writeString("sxpwokumoetuhxoetuzxowemuomkoenkmznqmkra");
LCD.writeString("sxpwokumoetuhxoetuzxowemuomkoenkmznqmkra");
LCD.writeString("sxpwokumoetuhxoetuzxowemuomkoenkmznqmkra");
LCD.writeString("sxpwokumoetuhxoetuzxowemuomkoenkmznqmkra");
LCD.writeString("sxpwokumoetuhxoetuzxowemuomkoenkmznqmkra");
LCD.writeString("sxpwokumoetuhxoetuzxowemuomkoenkmznqmkra");
LCD.writeString("sxpwokumoetuhxoetuzxowemuomkoenkmznqmkra");

Serial.println(millis() - time);
delay(1000);
}

Almost 30 frames per second, not bad. Thanks

So all that extra memory the display apparently has... have you found any way to access it?

i havent looked into it, but im guessing its or loading fonts and graphics into no ?

Thank you posting this! I am currently building my senior project. I wanted to incorporate my Hantronix HDM128GS24L-Z1AP 240 X 128 with the T6963C controlled by a Mega as I have never used an LCD screen before.

I ran into an issue with mine, but it may be due to using jumpers that are not soldered.

Also, my Vo on the datasheet says it needs to be -12.8V. Does this seem right?
http://www.datasheetlib.com/datasheet/1146872/hdm128gs24l-1_hantronix.html

With that said, everything else seems to be correct. thank you again and hopefully someone may know if this rating is correct and if the 50K pot will work, because as of now it does not.

UPDATE:
My pinout is also different the more I look at it. More than likely why it did not work. If anyone has a Pin out w/ a sketch that may work that would be GREATLY appreciated! I've tried everything I could think of. The rarity of this LCD is becoming a pain. ha (probably because no one wants to deal with it)

cth000182:
Also, my Vo on the datasheet says it needs to be -12.8V. Does this seem right?

I believe that Vee is the output for an on-board -12V supply.
If you get the 5V supply (input) right then you should measure around -12V there.
You use the pot to make an adjuster, with the pot ends between Vee and Gnd, the wiper gets conn'd to VO

(That's how it is with a certain 128x64.)

I do not have a Vee on my board according the to the datasheet

Here's a better link (I think) to that datasheet

It specs a Vee supply.
OK
It's only for contrast bias.
If you don't need that much for range then it's not required.
My 128x64 worked out to -5V to its Vo, and it comes up with all pixels dark.
So, it was pretty easy to adj that.
(I didn't realize at first that mine was supplying the -V, and I was feeding it a negative supply into it.)

There's an inset "Power Supply": Vdd, Vss, Vee, and Vo
The data connector mentions a VL - and where else does that appear?

I see there's a data connector in a 2x10 arrangement and above that there are 4 pads (?).
Are those pads labelled on your board?

Thank you for your response.

Evidently there is a large difference in the hdm 128gs24L and the hdm 128gs24L-1

I took a few pictures of what I am dealing with. Hopefully, this will help us. I have rarely been unable to research something and find an answer. This LCD is my test I believe. haha

My pictures are too large. you can scroll over though.