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

**URL:** <https://forum.arduino.cc/t/hookup-guide-240x128-graphic-lcd-module-display-t6963-erm240128syg-2/235594>\
**Category:** Displays\
**Created:** [May 23, 2014, 7:26am UTC](https://forum.arduino.cc/t/hookup-guide-240x128-graphic-lcd-module-display-t6963-erm240128syg-2/235594 "2014-05-23T07:26:16Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![system](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/system/32/1140315_2.png) [@system](https://forum.arduino.cc/u/system)\
**Post date:** [May 23, 2014, 7:26am UTC](https://forum.arduino.cc/t/hookup-guide-240x128-graphic-lcd-module-display-t6963-erm240128syg-2/235594/1 "2014-05-23T07:26:16Z")

</div>

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.](https://code.google.com/p/u8glib/)

open hello world example: uncomment

```arduino
//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)

```arduino
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

 ![P1050386.JPG](https://europe1.discourse-cdn.com/arduino/original/4X/2/8/5/285ef06074c1d066bfcb50177b82d9326d630ad1.jpeg)

 ![P1050385.JPG](https://europe1.discourse-cdn.com/arduino/original/4X/6/0/9/609c799a4b55f084884119955d6214293737fae3.jpeg)

---

<div class="post-metadata">

**Author:** ![olikraus](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/olikraus/32/214084_2.png) [@olikraus](https://forum.arduino.cc/u/olikraus)\
**Post date:** [May 23, 2014, 6:13pm UTC](https://forum.arduino.cc/t/hookup-guide-240x128-graphic-lcd-module-display-t6963-erm240128syg-2/235594/2 "2014-05-23T18:13:01Z")

</div>

Thanks for reporting this.

Oliver

---

<div class="post-metadata">

**Author:** ![PaulRB](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/paulrb/32/216330_2.png) [@PaulRB](https://forum.arduino.cc/u/PaulRB)\
**Post date:** [May 23, 2014, 9:53pm UTC](https://forum.arduino.cc/t/hookup-guide-240x128-graphic-lcd-module-display-t6963-erm240128syg-2/235594/3 "2014-05-23T21:53:22Z")

</div>

Hi haydent,

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

---

<div class="post-metadata">

**Author:** ![system](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/system/32/1140315_2.png) [@system](https://forum.arduino.cc/u/system)\
**Post date:** [May 23, 2014, 11:58pm UTC](https://forum.arduino.cc/t/hookup-guide-240x128-graphic-lcd-module-display-t6963-erm240128syg-2/235594/4 "2014-05-23T23:58:09Z")

</div>

> 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 ?

---

<div class="post-metadata">

**Author:** ![PaulRB](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/paulrb/32/216330_2.png) [@PaulRB](https://forum.arduino.cc/u/PaulRB)\
**Post date:** [May 24, 2014, 6:37am UTC](https://forum.arduino.cc/t/hookup-guide-240x128-graphic-lcd-module-display-t6963-erm240128syg-2/235594/5 "2014-05-24T06:37:36Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![system](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/system/32/1140315_2.png) [@system](https://forum.arduino.cc/u/system)\
**Post date:** [May 24, 2014, 6:38am UTC](https://forum.arduino.cc/t/hookup-guide-240x128-graphic-lcd-module-display-t6963-erm240128syg-2/235594/6 "2014-05-24T06:38:34Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![PaulRB](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/paulrb/32/216330_2.png) [@PaulRB](https://forum.arduino.cc/u/PaulRB)\
**Post date:** [May 24, 2014, 6:57am UTC](https://forum.arduino.cc/t/hookup-guide-240x128-graphic-lcd-module-display-t6963-erm240128syg-2/235594/7 "2014-05-24T06:57:54Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![system](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/system/32/1140315_2.png) [@system](https://forum.arduino.cc/u/system)\
**Post date:** [May 24, 2014, 7:12am UTC](https://forum.arduino.cc/t/hookup-guide-240x128-graphic-lcd-module-display-t6963-erm240128syg-2/235594/8 "2014-05-24T07:12:24Z")

</div>

i switched to this library [Google Code Archive - Long-term storage for Google Code Project Hosting.](https://code.google.com/p/arduino-t6963c) 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 )

---

<div class="post-metadata">

**Author:** ![PaulRB](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/paulrb/32/216330_2.png) [@PaulRB](https://forum.arduino.cc/u/PaulRB)\
**Post date:** [May 24, 2014, 8:15am UTC](https://forum.arduino.cc/t/hookup-guide-240x128-graphic-lcd-module-display-t6963-erm240128syg-2/235594/9 "2014-05-24T08:15:14Z")

</div>

> 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.

[![](https://europe1.discourse-cdn.com/arduino/original/4X/f/0/9/f09bb96d585f80a9cbc9852d6a7b818f64c55abd.jpeg "Conway's Game of Life Arduino (digitalWriteFast)") ](https://www.youtube.com/watch?v=_mRWPWDnON4)

---

<div class="post-metadata">

**Author:** ![system](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/system/32/1140315_2.png) [@system](https://forum.arduino.cc/u/system)\
**Post date:** [May 24, 2014, 10:21am UTC](https://forum.arduino.cc/t/hookup-guide-240x128-graphic-lcd-module-display-t6963-erm240128syg-2/235594/10 "2014-05-24T10:21:39Z")

</div>

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

> **[LY62256SL-70LL - SRAM, 256 Kbit, 32K x 8bit, SOIC, 28 Pins, 2.7 V](https://uk.farnell.com/lyontek/ly62256sl-70ll/sram-256k-32kx8-2-7-5-5v-28sop/dp/2253657)**
>
> The LY62256SL-70LL is a 32K x 8-bit low power CMOS Static Random Access Memory (SRAM) organized as 32768 words by 8-bits. It is fabricated using very high performance, high reliability CMOS technology. Its standby current is stable within the range...

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.

---

<div class="post-metadata">

**Author:** ![PaulRB](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/paulrb/32/216330_2.png) [@PaulRB](https://forum.arduino.cc/u/PaulRB)\
**Post date:** [May 24, 2014, 11:43am UTC](https://forum.arduino.cc/t/hookup-guide-240x128-graphic-lcd-module-display-t6963-erm240128syg-2/235594/11 "2014-05-24T11:43:49Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![system](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/system/32/1140315_2.png) [@system](https://forum.arduino.cc/u/system)\
**Post date:** [May 24, 2014, 11:52am UTC](https://forum.arduino.cc/t/hookup-guide-240x128-graphic-lcd-module-display-t6963-erm240128syg-2/235594/12 "2014-05-24T11:52:23Z")

</div>

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);  
> }

---

<div class="post-metadata">

**Author:** ![PaulRB](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/paulrb/32/216330_2.png) [@PaulRB](https://forum.arduino.cc/u/PaulRB)\
**Post date:** [May 24, 2014, 12:12pm UTC](https://forum.arduino.cc/t/hookup-guide-240x128-graphic-lcd-module-display-t6963-erm240128syg-2/235594/13 "2014-05-24T12:12:18Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![system](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/system/32/1140315_2.png) [@system](https://forum.arduino.cc/u/system)\
**Post date:** [May 24, 2014, 12:13pm UTC](https://forum.arduino.cc/t/hookup-guide-240x128-graphic-lcd-module-display-t6963-erm240128syg-2/235594/14 "2014-05-24T12:13:27Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![cth000182](https://avatars.discourse-cdn.com/v4/letter/c/73ab20/32.png) [@cth000182](https://forum.arduino.cc/u/cth000182)\
**Post date:** [September 23, 2014, 9:45pm UTC](https://forum.arduino.cc/t/hookup-guide-240x128-graphic-lcd-module-display-t6963-erm240128syg-2/235594/15 "2014-09-23T21:45:03Z")

</div>

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](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)

---

<div class="post-metadata">

**Author:** ![anon85221860](https://avatars.discourse-cdn.com/v4/letter/a/59ef9b/32.png) [@anon85221860](https://forum.arduino.cc/u/anon85221860)\
**Post date:** [September 24, 2014, 12:29am UTC](https://forum.arduino.cc/t/hookup-guide-240x128-graphic-lcd-module-display-t6963-erm240128syg-2/235594/16 "2014-09-24T00:29:09Z")

</div>

> 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.)

---

<div class="post-metadata">

**Author:** ![cth000182](https://avatars.discourse-cdn.com/v4/letter/c/73ab20/32.png) [@cth000182](https://forum.arduino.cc/u/cth000182)\
**Post date:** [September 24, 2014, 12:40am UTC](https://forum.arduino.cc/t/hookup-guide-240x128-graphic-lcd-module-display-t6963-erm240128syg-2/235594/17 "2014-09-24T00:40:31Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![anon85221860](https://avatars.discourse-cdn.com/v4/letter/a/59ef9b/32.png) [@anon85221860](https://forum.arduino.cc/u/anon85221860)\
**Post date:** [September 24, 2014, 2:17am UTC](https://forum.arduino.cc/t/hookup-guide-240x128-graphic-lcd-module-display-t6963-erm240128syg-2/235594/18 "2014-09-24T02:17:29Z")

</div>

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

> **[1278478420128gs24l-1.pdf](https://www.hantronix.com/files/data/1278478420128gs24l-1.pdf)**
>
> 50.73 KB

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?

---

<div class="post-metadata">

**Author:** ![cth000182](https://avatars.discourse-cdn.com/v4/letter/c/73ab20/32.png) [@cth000182](https://forum.arduino.cc/u/cth000182)\
**Post date:** [September 24, 2014, 2:53am UTC](https://forum.arduino.cc/t/hookup-guide-240x128-graphic-lcd-module-display-t6963-erm240128syg-2/235594/19 "2014-09-24T02:53:14Z")

</div>

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

 ![IMAG0759.jpg](https://europe1.discourse-cdn.com/arduino/original/4X/8/9/c/89ce963025b846c61a46c1e3f977a3c6ed75ad22.jpeg)

---

<div class="post-metadata">

**Author:** ![cth000182](https://avatars.discourse-cdn.com/v4/letter/c/73ab20/32.png) [@cth000182](https://forum.arduino.cc/u/cth000182)\
**Post date:** [September 24, 2014, 2:54am UTC](https://forum.arduino.cc/t/hookup-guide-240x128-graphic-lcd-module-display-t6963-erm240128syg-2/235594/20 "2014-09-24T02:54:35Z")

</div>

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

 ![IMAG0758.jpg](https://europe1.discourse-cdn.com/arduino/original/4X/6/b/c/6bcd195b733f978255b8fff4d2d7cab21f84d921.jpeg)

 ![IMAG0757.jpg](https://europe1.discourse-cdn.com/arduino/original/4X/0/2/2/022f1ac5ba1e0773309e0c9dc45b40d441dd0a36.jpeg)

[Next page](https://forum.arduino.cc/t/hookup-guide-240x128-graphic-lcd-module-display-t6963-erm240128syg-2/235594.md?page=2)
