GLCD Maximum Panel Size & controller?

Status
Not open for further replies.

Pointy

Well-known member
Hi guys,

What is the maximum panel size that I could use with GLCD and a Teensy++ 2.0? I see that Paul does a 128x64 panel, but just in case I want to go bigger what dictates the maximum size?

I know the GLCD page says a KS0108 controller chip is required, and when searching for displays on Ebay using KS0108 it comes up with this one, which says it's KS0108 compatible. On the PCB picture further down you can see a part no LCM240128B-6, searching for this results in this datasheet, which says it's a T6963C controller.

Regards,

Les
 
The quick answer is 254 by 254 is current the max because the pixel coordinate variables are uint8_t and 255 is special.
The long answer is it depends on the which "ks0108/GLCD" library you have as some of the older ones
won't support more than 2 ks0108 chips which limits the size to 128x64.

But the real issue you will be facing is that a T6963C is not compatible with the ks0108 chip.

More details.
The Arduino ks0108 library was created by Michael Margolis. He tool Maximillian Thiele's ks0108 C code and converted it to C++ for Arduino.
I worked with Michael and Paul to create the GLCD library which supersedes the ks0108 library.
It is a derivative work of the Arduino ks0108 library.
The GLCD library is now what is referenced on the ks0108/GLCD Arduino playground.
I have now forked the GLCD library to create the openGLCD library.
The openGLCD library is a superset of the GLCD library with bug fixes and many new features and is a derivative work of the GLCD library.
I am no longer maintaining the GLCD library.

As far as licensing terms goes, the license on Thiele's original ks0108 code and the ks0108 Arduino library
was not clearly specified.

In the transition to the GLCD library, very little of the original Thiele ks0108 code has remained
and the licensing terms are now clearly specified as LGPL 2+

openGLCD is licensed as GPL v3

The ks0108 library that Paul provides a link to on his site (ks0108.zip) is the final version of the ks0108 library
with some teensy tweaks in it. It is way old and I would not recommend using it.
It has support for Teensy 2.x but not Teensy 3.x
and is limited to 128x64

The GLCD library, which can be found on the ks0108/GLCD playground page
http://playground.arduino.cc/Code/GLCDks0108#.UxzIQaqXWMw
or here: GLCDv3 google code site
includes support for the Teensy 2.x but not Teensy 3.x
and supports more than 2 ks0108 chips

openGLCD includes support for all the Teensy boards as well as all other Arduino boards
it also supports more than 2 ks0108 chips includes config files for a few 192x64 displays.
It can be found here: openGLCD repository
 
Last edited:
Thank you so much for the very detailed reply. I did find openGLCD during my searches and downloaded it to have a look. I am still waiting on my panel to arrive before I start playing though. I did however decided that 128 x 64 was going to be big enough for my project.


Regards,

Les
 
The built in GLCD example worked great with this display I got from Ebay. Next up I will try it with openGLCD.

Regards,

Les
 
The built in GLCD example worked great with this display I got from Ebay. Next up I will try it with openGLCD.

Regards,

Les

I big thanks for the openGLCD library, this worked a treat with my Teensy++ 2.0 and the display linked above.

screen.jpg

As you can see from the picture above, I am not doing anything fancy, just a few text strings and a couple of bitmaps, but the library made it very easy.

Regards,

Les
 
Very nice.
Please send me any comments you have on the library, HTML documentation, and API examples.

Are you using the openGLCD DrawString() text capabilities for centering?
I'm curious what are the bitmaps? Is it the rounded rectangles?

If you wanted to, I think you could do all of that without using bitmaps.
You could draw filled round rectangles then put the text on top of them.

You could even create a small text area just inside the bounds of the rounded rectangle corners,
then you only have to draw the rounded rectangle once then you print text in the text area
to update the text.

--- bill
 
Very nice.
Please send me any comments you have on the library, HTML documentation, and API examples.

The only thing that caught me out was the lack of spaces in some of the fonts and when using the openGLCDFontCreator tool. This was easy to fix by looking at some of the other headers. Other than that, the documentation was great.

Are you using the openGLCD DrawString() text capabilities for centering?
I'm curious what are the bitmaps? Is it the rounded rectangles?

If you wanted to, I think you could do all of that without using bitmaps.
You could draw filled round rectangles then put the text on top of them.

You could even create a small text area just inside the bounds of the rounded rectangle corners,
then you only have to draw the rounded rectangle once then you print text in the text area
to update the text.

--- bill

Yes, all text is done with DrawString with gTextfmt_center, and yes the rounded rectangles with text in them are the bitmaps. I thought about drawing shapes and text but to be honest it was so easy to do the bitmaps and import them thanks the glcdMakeBitmap utility. Your way may be more memory efficient but memory is not an issue for me at the moment.

Thanks again for sharing all your hard work on this, it made coding this part of my project very easy.

Regards,

Les
 
Status
Not open for further replies.
Back
Top