pygmalion
Posts: 26
Joined: Sat Jul 18, 2015 4:44 pm

Overview of available LCD displays

Tue Mar 29, 2016 8:28 pm

Dear Raspberrians!

I am a new guy in the town and I am still looking around. What confuses me most is availability of devices for 3.3V logic. And nowhere is the situation so confusing as in the case of LCD displays.

I suspect this has something to do with the fact that some years ago 5V logic was the dominant one. However, after Raspberry came to market, and now Arduino 101, there is obvious increase in need for 3.3 logic devices. This will perhaps require some time for producers to realign to new market situation. In meantime, we have confusion.

To understand situation better, I did a little research, which is presented in the table below. Second table presents most popular 128x64 and 16x2 LCD devices and first table presents chips on which those LCD devices are based. Table is intentionally non-picture to make it searchable.

Code: Select all

NAME            PRODUCER        COMMUNICATION   VDD             MIN. LOGICAL H  COMMENT
==============================================================================================================
KS0108          Samsung         par             4.5 -- 5.5      2.0 or 0.7 Vdd
ST7565          Sitronix        ser, par        1.8 -- 3.3      0.8 Vdd
ST7920          Sitronix        ser, par        2.7 -- 5.5      0.7 Vdd         osc. resistor 5V-33k, 2.7V-18k
--------------------------------------------------------------------------------------------------------------
HD44780         Hitachi         ser, par        2.7 -- 5.5      0.7 Vdd         osc. resistor 5V-91k, 3.0V-75k
ST7066          Sitronix        ser, par        2.7 -- 5.5      0.7 Vdd         osc. resistor 5V-91k, 3.0V-75k
==============================================================================================================

Code: Select all

NAME            PRODUCER        BASED ON        VDD             MIN. LOGICAL H
==============================================================================================================
QY-12864        unknown         KS0108          4.5 -- 5.5      no data
LCD-128H064A    Vishay          KS0108          4.75 -- 5.25    0.7 Vdd
13864G-300      JCX             ST7565          5.0 or 3.3      no data
TG12864H        Vatronix        ST7565          1.8 -- 3.3      2.0
QC12864B        unknown         ST7920          4.5 -- 5.5      no data
12864ZW         Digole          ST7920          4.5 -- 5.5      0.7 Vdd         osc. resistor 5V-33k, 2.7V-18k
--------------------------------------------------------------------------------------------------------------
FT1602C         unknown         HD44780         4.75 -- 5.25    2.0
TC1602A         Tinsharp        HD44780         4.8 -- 5.2      0.7 Vdd
1602A           Shenzen Eone    ST7066          4.7 -- 5.5      2.2
ADM1602K        Xiamen Amotec   ST7066          3.1 -- 3.5      2.2
==============================================================================================================
What I figured out is that actually most chips support both 3.3V and 5V logic. It is however unclear if it is possible to simply plug-in 5V logic device into Raspberry Pi. Many actually do so, including Adafruit (!), arguing that LCD displays do not send data back. This is actually a thin argument, as according to chip manuals low limit for high signal is usually 0.7 Vdd, which is far above 3.3V.

Part of the answer could be that if you supply "5V logic" device with 3.3V it automatically becomes 3.3V logic device. I am not expert enough to understand if my reasoning is right. The only problem I came across studying chip manuals is that resistor has to be changed in order to keep the same chip frequency for the other voltage. Since most people use "5V logic" devices with bit banging, maybe frequency does not matter at all. On the other hand, frequency could be much more important if one uses spidev library and SPI pins (which is for me preferable way for dealing with serial devices).

Situation is further complicated that many sellers (mostly Chinese) now offer HD44780-based or ST7920-based devices at 3.3V. It is unclear if those people sell previous "5V logic" devices adapted to 3.3V logic or they actually sell "5V logic" devices knowing that they will probably work for their customers. Often, they claim to sell 3.3 V device and concomitantly supply manual, where specified voltage is 5V?! I tried to ask them about that but they all have problems with communication in English (or they do not respond in the first place).

I would like to know the situation better and I think many would profit by revealing those secrets. So I invite you all to comment what I wrote so far, and share with the rest of us their experiences using the "5V logic" devices or allegedly "3.3V logic" devices bought on Internet. Without use of level shifters, of course.

Best regards,

Marko
Last edited by pygmalion on Wed Mar 30, 2016 7:37 am, edited 1 time in total.

Higgs
Posts: 43
Joined: Tue May 26, 2015 2:17 pm

Re: Overview of available LCD displays

Wed Mar 30, 2016 2:04 am

I recently bought some cheap 1.8" and a 2.4" LCDs off ebay to try on Arduino and they work off 3.3v logic. I started with the assumption that they were 3.3v (since to err on the lower end is to not burn them out by mistake). I wouldn't trust the page description alone for specs. If you search YouTube you can see some folks run them off 5v by using resistors as voltage dividers on the logic pins.
The issue IMO is 1) locating the proper chip driver/library for the screen and 2) the refresh rate, which is slow (because the screens are cheap - there is a discussion of the cheap/slow KeDei 3.4" screen somewhere in the forum - like 2 secs to refresh a screen).
Depends on what you want to use them for - as readout screens for temperature or relatively static data, they are good and cheap. For playing video - the WaveShare screens are more the speed for that, though they are, of course, more expensive.

User avatar
saper_2
Posts: 239
Joined: Sun Aug 03, 2014 10:08 am
Location: PL

Re: Overview of available LCD displays

Thu Mar 31, 2016 6:17 pm

Hi,

Yes, 5V was soo simple, I didn't have to be careful for logic level compatibility :D

Ahhh those Chinese sellers that pretend that they don't understand but quiet a bit of them don't know English at all and using google translate (you know how it can translate things :) ) , usually when I ask for datasheet thae I write "I want a technical specification" or "Please, send me datasheet", simple so that even google-translate would translate my question correctly. There are also those who have no idea what they selling (which make me to laugh a lot when I read the description :D). Some will answer you, after you buy a goods...

5V <> 3,3V - when it comes to MCUs (like AVR or STM32) those mcu can handle without problems 5V on their IO (on most IO) while being powered from 3,3V. For opposite direction in many cases the part doesn't like 5V on it's IO lines and in worst case will get broken, there are ic controllers that can handle 5V safely on IOs but is just few ot them... I usually use a level translator (74LVC16254 or similar) for 3,3V devices while the CPU runs from 5V...


I've dealt with many lcd's in my life :D : character matrix (with CGROM), graphic mono, graphic color, oled, now I'm going to play around with e-ink :) .
Anyway, HD44780 does not have serial interface, only parallel, there is a "4bit" mode, but this is still parallel interface.
I have few lcd's with KS0108 - 0,7*Vdd is the lowest allowed high level for this ic.
ST7920 - 2,7..5,5V - OK, but only parallel interface (4 or 8 bit - like hd44780).
HD44780 - parallel interface only
ST7066 - parallel interface only

And let me add from me some info about LCD controllers :D ...

Dot matrix character lcd controllers:
M50530 - Mitsubishi Electronic - a old, parallel intf (4/8bit), 4,5..5,5V, can drive character matrix display of size up to 256 characters (4 lines x 64 chars max)
HD61830 - Hitachi - 5V, old chip, parallel intf, require ext. ram & character rom, up to 4096 dot matrix characters - primitive version of hd44780 ;)
KS0066 - samsung - 2,7..5,5V, parallel intf (4/8bit), similar to hd44780
KS0070 - samsung - 2,7..5,5V, parallel intf (4/8bit), like hd44780
SPLC780D - Sunplus - 2,7..5,5V, parallel intf, int. CGROM, up to 192 characters
NT3881 - Novatek - 5V, parallel intf (4/8bit), like hd44780 but have some additional commands,
HT1621/CS1621/other xx1621 clones - Holtek - 2,4..5,2V , serial intf, for digit lcd displays, builtin tone (2k/4kHz) generator (for "buzzer") and watchdog


Graphic LCD controllers:
HD66760 - Hitachi - 2,2..3,6V, parallel/serial/i2c intf, int. ram, 104x80px RGB 8bit
HD66768 - Hitachi - 2,2..3,6V, parallel/serial intf, int. ram, 104x84px 8..16bpp RGB
HD66773 - Hitachi - 2,2..3,6V, parallel/serial intf, int. ram, 132x176px 8..18bpp RGB
LDS285 - Leadis - 1,65..3,3V, parallel/serial intf, int. ram, 320x240px 18/24bpp RGB
LC7980 - Sanyo - 5V, VHi(min)=2,2V , parallel intf (8bit), require ext ram, builtin CGROM, lcd up to 65536pix (1bpp)
LC7981 - Sanyo - 5V, VHi(min)=2,2V , parallel intf (8bit), require ext ram, builtin CGROM,lcd up to 65536pix (1bpp)
NJU6676 - New Japan Radio Co. Ltd. - 2,2..5,5V, parallel & serial intf, graphic lcd (1bpp) up to 132x65px
NJU6679 - New Japan Radio Co. Ltd. - 2,4..3,6V, parallel & serial intf, graphic lcd (1bpp) up to 132x64px
PCD8544 - Philips (NXP now) - 2,7..3,3V, serial intf, graphic lcdup to 48x84px (1bpp) (found in old nokia 3210/3310 lcd's :) )
S1D13700 - Epson - 3,3/5V (logic interface and chip can be powered from different voltages), parallel intf (8bit+16bit addr), ext crystal, integrated RAM, lcd up to 640x240px b/w (1bit per pixel = 1bpp) or up to 4bpp (16 gray levels), partly compatible with SED1330 but don't require ext. ram like sed1330.
S1D13705 (SED1375) - Epson - 3,3V, parallel intf (16bit data+17bit addr), builtin RAM 80k, supports graphic lcd b/w (1bpp - 640x480) and 8bit color tft (up to 320x240)
S1D13501 (SED1351) - S-MOS Systems - 3,3V or 5V - two chip version for each voltage, parallel intf, req. ext. ram, graphic lcd 256x2048/512x1024px 1bpp or 1024x256/512x512px 2bpp
S1D13505 - Epson - 3..5,5V, parallel intf, req. ext. ram, supports 1..16bpp with analog RGB out for CRT monitor, and TFT lcds with digital RGB input
S1D15605 - Epson - 1,8..5,5V , parallel/serial intf, int. ram, 65x132px
S1D15606 - Epson - 1,8..5,5V , parallel/serial intf, int. ram, 49x132px
S1D15607 - Epson - 1,8..5,5V , parallel/serial intf, int. ram, 33x132px
S1D15608 - Epson - 1,8..5,5V , parallel/serial intf, int. ram, 55x132px
S1D15609 - Epson - 1,8..5,5V , parallel/serial intf, int. ram, 53x132px
S1D15G00 - Epson - 2,6..3,6V, parallel/serial intf, int. ram, color 132x160px RGB[444]
S1D15G10 - Epson - 2,6..3,6V, parallel/serial intf, int. ram, color 132x132px RGB[444]
S1D15G14 - Epson - 1,6..3,6V, parallel/serial intf, int. ram, color 104x82px 4..12bpp RGB (used in Nokia 3510i LCD screen)
SAP1024 - Avant Electronics - 2,7..5,5V VHi(min)=Vdd-2,2V, parallel intf, req. ext. ram, max 256x256px (65536px) 1bpp
SED1330/SED1335 - Epson - 5V, old chip, parallel intf, req. ext. ram, 256x640px max 1bpp
SED1336 - Epson - 5V, old chip, parallel intf, req. ext. ram, 1bpp 256x640px max, TV out PAL/NTSC (256x200px resolution)
SED1520 - Epson - 2,4..5,5V, parallel/serial intf, int ram, 16x61px 1bpp
SED1560 - Eposn - 5V (might work from 2,4V), parallel/serial intf, 1bpp 65x102px
SED1561 - Eposn - 5V (might work from 2,4V), parallel/serial intf, 1bpp 33x134px
SED1562 - Eposn - 5V (might work from 2,4V), parallel/serial intf, 1bpp 17x150px
SH1106 - Sino Wealth - 1,7..3,5V, parallel/serial/I2C intf, int. ram, 1bpp 132x64px
SPFD54124 - Orise Tech - 2,6..3,6V (IO=1,6..3,6V), parallel/serial intf, int. ram, 18bpp 132x162px
SPLC501C - Sunplus - 3..5V, parallel/srial intf, int. ram, 132x65px 1bpp
SSD1306 - Solom Systech - 1,65..3,3V, parallel/serial/i2c intf, int. ram, OLED 128x64 1bbp
ST7565 - Sitronix - 5V, aprallel/serial intf, int. ram, 65x132px 1bpp
T6963C - Toshiba - 5V, parallel intf, req. ext. ram, 1bpp 128x256px
UC1601 - UltraChip - 1,8..3,3V, parallel/serial/i2c intf, int. ram, 65x132px 1bpp
UC1608 - UltraChip - 1,8..3,3V, parallel intf, int. ram, 128x240px 1bpp
UC1697v - UltraChip - 1,8..3,3V, parallel/serial intf, int. ram, 12x128px 8..16bpp RGB



Some of older chip might be revisited (e.g. KS0108 like mentioned can works with 3,3V IO signals), and VHi(min) (High logic level minimum voltage) might be lowered for them to be compatible with 3,3V logic mcu. If I didn't written VHi(min) then it's safe to assume that VHi(min) is 0,7*Vdd .
I've dealt with most of those chips (except S1Dxxxx family, but I have SED1330 few parts - predecessor of S1D13700) :), some are too easy to use, some are really difficult to configure (S1Dxxx especially), some are just controller, and display drivers must be on LCD panel, others can drive LCD panel directly, some can be even extended by adding dedicated chip so the lcd screen can have bigger resolution...

So that would be all of my datasheets for LCD display controllers that I collected over years. I didn't include ILIxxx and similar controllers because they are rather popular. SB can make list of them and they replacements (for e.g.: ILI9325,ILI9328,ILI9341,ILI9335,ST7783,ST7781, ST7787, ML9863A,ML9480, ML9445).

User avatar
rpdom
Posts: 15241
Joined: Sun May 06, 2012 5:17 am
Location: Chelmsford, Essex, UK

Re: Overview of available LCD displays

Thu Mar 31, 2016 6:26 pm

saper_2 wrote:Anyway, HD44780 does not have serial interface, only parallel, there is a "4bit" mode, but this is still parallel interface.
Not a native serial interface, no. But many HD44780 display modules include a driver board with an I2C interface which is serial.

User avatar
saper_2
Posts: 239
Joined: Sun Aug 03, 2014 10:08 am
Location: PL

Re: Overview of available LCD displays

Thu Mar 31, 2016 6:57 pm

rpdom wrote:
saper_2 wrote:Anyway, HD44780 does not have serial interface, only parallel, there is a "4bit" mode, but this is still parallel interface.
Not a native serial interface, no. But many HD44780 display modules include a driver board with an I2C interface which is serial.
Ahh, you mean this :)
Sorry, I'm old date electronic I see things more elementary - you see lcd with i2c interface, I see i2c IO expander with connected lcd :) - two things :)

pygmalion
Posts: 26
Joined: Sat Jul 18, 2015 4:44 pm

Re: Overview of available LCD displays

Mon May 02, 2016 7:04 pm

Thank you for sharing your experiences. Here is a little update from me.

I found out that there are a plenty of JLX LCD ST7565-based displays on the Aliexpress (at least a dozen). I chose JLX 12864G-300-PN variant, 128x64 big display with true square points, without Chinese characters and with 3.3V serial (SPI) communication.

You can see the results of testing here: https://www.youtube.com/watch?v=Pp6cW-fk_0E

What I realised is that this displays can be adapted between 5V and 3.3V and between serial and parallel communication on the back side of PCB. If someone is interested, I can elaborate. So when you order a display on Aliexpress, you specify 5V/3.3V serial/parallel and they will most probably send you exactly what you wished for.

There are also many new LCD displays, eg. 256x128 ST75256-based displays, which can be also adapted between 5V and 3.3V and between serial and parallel communication. But perhaps the BW LCD display market is dead with new color LCD and OLED displays, so discussion is matter of past?...

Return to “HATs and other add-ons”