LCD 128X64 What's the best supported

Hey guys!

What is the best supported LCD 128X64 the ST9720 or KS0108?

Also where is the best place to get example code for it and is there supporting computer software for creating graphics for it?


to make what ? it’s ST7920 not 9720
not advised for new design, color tft sérial spi are better for the same price : many more tutos, projects on web, less memory using, sd card reader inbuilt, low current, and color !!!

i’ve several 12864 ks108, t6963 and 240x128 for a long time ago, last week i tested many exemples from libraries : openglcd, glcdlib, ug8lib, it’s ok but outside the exemples, it will take a lot of work to make an good application.
If you absolutely want monochrome 12864, forget ks108, st7920 is SPI, with u8glib or u8g2 lib


I have built a pressure meter and just want a bigger display. I was looking at adding more features and display more readings. Right now just have a 1602 for 2 line display but they are small. I have found the 128X64 KS0108's hard a little harder to get or more expensive here in the US. That is why I decided on trying the ST7920(sorry was just from poor memory I got the numbers mixed up) because it seems easier to get.

What part# do you suggest?

KS0108 uses lots of pins. And even though I'm the author of openGLCD, I wouldn't go that route for any new project.

These days I'd go with an ESP8266 processor and either a ILI9341 (240x320 full color) or a SSD1306 (OLED 128x64)

The SSD1306 is pretty small so if you want larger then go with the ILI9341.

Those displays are similar cost to the monochrome 128x64 displays and there is good library support for them including for the ESP procrssors.
When using the ESP processors, you have tons of speed, flash and RAM and even better you have wifi available so you can do lots of iot type projects.

Those displays combined with a ESP processor are a very cost effective solution that has lots of support, including many canned ready to go projects like weather stations.

Using the ESP processor and the ILI9341 is easy to get up and running and the wiring is quite simple since it only uses a few wires.
It has so much capability and resources that the entire approach to things can be rethought.

For example, with the wifi, you could easily add web support to allow you to access your pressure information wirelessly from a browser on your tablet, smart phone, or host computer.

You could even add hooks into openHAB so you could support IFTT to allow you to see history of readings or even set up alerts.
Once you transition to wifi and iot, the entire world changes and opens up all kinds of options.

--- bill


There is not only ST7920 and SSD1306 based displays out there. For each newly supported display, I usually put a picture on the u8g2 gallery page. Maybe this gives a little bit of inspiration:

Let me give a summery of what I have seen so far:

Interface: Parallel vs I2C vs SPI

Some controller offer only one type of interface (parallel is the only option for T6963 and KS0108). All other displays usually support at least 4-wire SPI. Lesser number of lines is usually better, but performance might drop with parallel interface. ST7920 supports 4-wire SPI, but wastes a lot of bandwidth: 2 bit are required to transmit 1 monochrome (!) pixel. Other controller are better here, e.g. ST7565

Speed: Monochrome vs. RGB TFT

While the interface already has an impact on speed, the number of bits per pixel also has an impact. A monochrome display usually requires 1 bit per pixel, a RGB TFT requires 16 to 24 bit per pixel. As Bill mentioned, you probably want a 32bit controller for RGB TFTs.


Another aspect is double buffering: If you want best user perception, you may want to build the complete image in your controller RAM and then transfer the final picture to the display. This requires a huge amount of memory in the controller. Usually such a mount is not there for the RGB TFT (320x240x16 bit = 154KByte RAM). However it is thinkable to do the same with a monochrome display.

COB, COG, Display Module

Displays come in different forms
COB (chip on board) means, that the display controller is mounted on a PCB. Because PCB is already there, it usually comes with nice solder holes for wiring. KS0108 based display are a typical example for this:

For a COG (chip on glass) the controller is mounted directly on the same glass as the display (usually below a black rubber like material). The ST7565 or the UC16xx (see picture below) controller are typical COG chips:

However, using such a flat flex wire is also a little bit difficult. You need a connector and some external components, which did not fit on the glass (like caps). Because of this, COG modules are also offert as a display module: The COG display comes with a PCB, which includes some additional components, the flat flex wire connection and some more user friendly solder holes or connectors. Probably the SSD1306 OLED is the most prominent example for this:

Another example are ST7565 based displays, which are often available as display module:

Instead of the flat flex wire, sometimes the COG display may also have a pin header like interface, which is easier to handle, but still requires some external components:

So what is my conclusion:
For prototyping, i usually use a SSD1306 OLED with I2C interface. It is simple to wire, works reliable and is cheap (at least on these internet marketplaces).

If a bigger screen is required, I usually use a ST7565 display.


Thanks for the replies!

Is the programming different with the ESP8266? I am no just getting acquainted with Arduino and kinda hate to change unless it is pretty much like Arduino.


Many (if not all) ESP8266 boards are supported. Just include the correct board library into Arduino IDE. U8g2 and other libs will work with ESP8266.


Thanks for the replies!

Is the programming different with the ESP8266? I am no just getting acquainted with Arduino and kinda hate to change unless it is pretty much like Arduino.


It can be use just like other Arduino boards. The ESP parts can run LUA scripts or use the Arduino IDE.
If you use the Arduino IDE, it works just like all the other arduino boards once you install the ESP8266 board package for the IDE.

You can even buy boards that are the same form factor as the UNO.
I prefer the much smaller boards that can be directly plugged into a breadboard or soldered to a proto board.

--- bill