Display types: Difference between revisions

From Helpful
Jump to navigation Jump to search
(14 intermediate revisions by the same user not shown)
Line 56: Line 56:
<!--
<!--


Unlike LCD/TFT, which put a uniform light behind a lot of pixels-that-block-light,
While OLED is also a thing in lighting, OLED ''usually'' comes up in the context of OLED displays.
in OLED each pixel is its own light source.
 
It is mainly contrasted with backlit displays (because it is hard to get those to block all light).
OLEDs being off just emit no light at all. So the blacks are blacker, you could go brighter at the same time,
There are some other technical details why they tend to look a little crisper.
 
Viewing angles are also better, ''roughly'' because the light source is closer to the surface.




Line 64: Line 69:




While OLED is also a thing in lighting, OLED ''usually'' comes up in the context of OLED displays.


It is mainly contrasted with backlit displays, in part because it is hard to get those to block ''all'' light,
PMOLED versus AMOLED makes no difference to the light emission,  
whereas with OLED, off is ''off'', no light at all. So the blacks are blacker.
just to the way we access them, but it can mean lower power, higher speed, and more options along that scale{{verify}},
There are some other technical details why they tend to look a little crisper.
all of which makes them interesting for mobile uses. It also scales better to larger monitors.
 
POLED (and confusingly, pOLED is a trademark) uses a polymer instead of the glass,
so is less likely to break but has other potential issues


Viewing angles are also better, ''roughly'' because the light source is closer to the surface.




Line 76: Line 82:
'''Confusion'''
'''Confusion'''


"Do phones use OLED now?"


Fancier, pricier ones do, yes.
"Isn't LED screen the same as OLED?"
Cheaper ones do not, because the display alone might cost a hundred bucks.{{verify}}
 
No.
Marketers will be happy if you confuse "we used a LED backlight instead of a CCFL" (which we've been doing for ''ages'')
with "one of those new hip crisp OLED thingies", while not technically lying,
so they may be fuzzy about what they mean with "LED display".
 
You'll know when you have an OLED monitor, because it will cost ten times as much - a thousand USD/EUR, more at TV sizes.
The cost-benefit for people without a bunch of disposable income isn't really there.






"Doesn't LED screen mean OLED?"
"I heard al phones use OLED now?"


No.  
Fancier, pricier ones do, yes.
If you leave it to the marketing people, "LED display" means any sort of LEDs involved somehow,
 
and they are happy if you confuse "we used a LED backlight instead of a CCFL"
Cheaper ones do not, because the display alone might cost on the order of a hundred bucks.{{verify}}
with "one of those really crisp OLED thingies" while not technically lying.


You'll know when you have an OLED monitor, because it will cost ten times as much - two thousand USD/EUR, more at TV sizes.
The cost-benefit for people without a bunch of disposable income isn't really there.




Line 99: Line 108:
===QLED===
===QLED===
<!--
<!--
It's quantum, so it's buzzword compatible.  
It's quantum, so it's buzzword compatible. How is it quantum? Who knows!


How is it quantum? Who knows!


It may surprise you that this is LCD-style, not OLED-style,
but is brighter than most LCD style,


It's brighter, but they're still working on details like decent contrast.
they're still working on details like decent contrast.
 




Line 293: Line 302:


===Matrix displays===
===Matrix displays===
===(near-)monochrome===
====SSD1306====
OLED, 128x64@4 colors{{vierfy}}
https://cdn-shop.adafruit.com/datasheets/SSD1306.pdf
====SH1107====
OLED,
https://datasheetspdf.com/pdf-file/1481276/SINOWEALTH/SH1107/1


===Small LCD/TFTs / OLEDs===
===Small LCD/TFTs / OLEDs===
{{stub}}
{{stub}}


Small as in order of an inch or two.
Small as in order of an inch or two (because the controllers are designed for a limited resolution?{{verify}}).




Note that, like with monitors, marketers really don't mind if you confuse backlit LCD with OLED,
{{zzz|Note that, like with monitors, marketers really don't mind if you confuse backlit LCD with OLED,
and some of the ebays and aliexpresses sellers of the world will happily 'accidentally'  
and some of the ebays and aliexpresses sellers of the world will happily 'accidentally'  
call any small screen OLED if it means they sell more.
call any small screen OLED if it means they sell more.
Line 306: Line 331:
This is further made more confusing by the fact that there are  
This is further made more confusing by the fact that there are  
* few-color OLEDs (2 to 8 colors or so, great for high contrast but ''only'' high cotnrast),  
* few-color OLEDs (2 to 8 colors or so, great for high contrast but ''only'' high cotnrast),  
* [[high color][] OLEDs (65K),
* [[high color]] OLEDs (65K),
...so you sometimes need to dig into the tech specs to see the difference between high color LCD and high color OLED.
...so you sometimes need to dig into the tech specs to see the difference between high color LCD and high color OLED.
}}


<!--
<!--
Line 320: Line 346:




'''Video or not?'''
'''Can it do video or not?'''
 
If it ''does'' speak e.g. MIPI it's basically just a monitor, probably capable of decent-speed updates, but also the things you ''can'' connect to will (on the scale of microcontroller to mini-PC) be moderately powerful, e.g. a raspberry.
 
But the list below don't connect PC video cables.


These often don't connect video cables, but have their own controller, and their own video RAM.
Still, they have their own controller, and can hold their pixel state one way or the other, but connect something more command-like - so you can update a moderate amount of pixels with via an interface that is much less speedy or complex.


It matters that the lowish amount of pixels can be updated via an interface that is much less involved than a monitor - until you try to display video you might get reasonable results over SPI / I2C.
You might get reasonable results over SPI / I2C for a lot of e.g. basic interfaces and guages.
By the time you try to display video you have to think about your design more.


For a large part because amount of pixels to update times the rate of frames per second has to fit through the communication (...also the display's capabilities).
There is a semi-standard parallel interface that might make video-speed things feasible.  
There is a semi-standard parallel interface that might make video-speed things feasible.  
This interface is faster than the SPI/I2C option, though not always ''that'' much, depending on hardware details.
This interface is faster than the SPI/I2C option, though not always ''that'' much, depending on hardware details.
Even if the specs of the screen can do it in theory, you also have to have the video ready to send.
If you're running it from an RP2040 or ESP32, don't expect to libav/ffmpeg.


Say, something like the {{imagesearch|tinycircuits tinytv|TinyTV}} runs a 216x135 65Kcolor display from a from a [[RP2040]].
Say, something like the {{imagesearch|tinycircuits tinytv|TinyTV}} runs a 216x135 65Kcolor display from a from a [[RP2040]].
Line 335: Line 371:




If it ''does'' speak e.g. MIPI it's basically just a monitor -- but that amount of pixels also likely means you want something more RAM-heavy for a framebuffer, and more computationally heavy if you want to do something that looks remotely fancy at a speed you might call video.
In your choices, also consider libraries.  
Things like [https://github.com/Bodmer/TFT_eSPI TFT_eSPI] has a compatibility list you will care about.
 






====Interfaces====
====Interfaces====
{{stub}}
<!--
<!--
* 4-line SPI  
* 4-line SPI  
Line 348: Line 388:




The last two are 8-bit parallel interfaces. ''In theory'' these can be multiples faster,
though notice that in some practice you are instead limited by the display's controller,
your own ability to speak out data that fast, and the difference may not even be twice
(and note that [[bit-banging]] that parallel may take a lot more CPU than dedicated SPI would).


The last two are 8-bit parallel interfaces,
The numbers aren't about capability, they seem to purely references then Intel versus Motorola origins of their specs{{verify}})
the main differences being the read/write and enable, and in timing.
They are apparently very similar - the main differences being the read/write and enable, and in some timing.
(they are references to Intel and Motorola origins of their specs{{verify}})
: If they support both, 8080 seems preferable, in part because some only support that?{{verify}}
 
If they support both, 8080 seems preferable, in part because some only support that?
 
Speed-wise, ''in theory'' parallel can be multiples faster,
though notice that in some practice you are instead limited by the display's controller, and the difference may not even be twice (and bit-banging that parallel may take a lot more CPU than dedicated SPI).




There are others that aren't quite ''generic'' high speed moniutor interfaces yet,  
There are others that aren't quite ''generic'' high speed moniutor interfaces yet,  
but too fast for slower hardware (e.g. CSI, MDDI)
but too fast for slower hardware (e.g. CSI, MDDI)


https://forum.arduino.cc/t/is-arduino-6800-series-or-8080-series/201241/2
https://forum.arduino.cc/t/is-arduino-6800-series-or-8080-series/201241/2


-->
-->


====ST7735====
====ST7735====
Line 440: Line 477:


====HX8352C====
====HX8352C====
LCD
<!--
240(RGB)x480, 16-bit
-->
https://www.ramtex.dk/display-controller-driver/rgb/hx8352.htm
https://www.ramtex.dk/display-controller-driver/rgb/hx8352.htm


====HX8357C====
====R61581====
<!--
240x320
-->


====ILI9163====
====ILI9163====
Line 449: Line 499:


====ILI9341====
====ILI9341====
<!--
240RGBx320, 16-bit
-->
https://cdn-shop.adafruit.com/datasheets/ILI9341.pdf
https://cdn-shop.adafruit.com/datasheets/ILI9341.pdf


Line 458: Line 512:
====ILI9488====
====ILI9488====
LCD  
LCD  
<!--
320(RGB) x 480
-->


https://www.hpinfotech.ro/ILI9488.pdf
https://www.hpinfotech.ro/ILI9488.pdf
Line 471: Line 528:
https://vfdclock.jimdofree.com/app/download/7279155568/SEPS225.pdf
https://vfdclock.jimdofree.com/app/download/7279155568/SEPS225.pdf


===(near-)monochrome===


====RM68140====
LCD
<!--
320 RGB x 480
-->


====SSD1306====
https://www.melt.com.ru/docs/RM68140_datasheet_V0.3_20120605.pdf
 
OLED, 128x64@4 colors{{vierfy}}
 
https://cdn-shop.adafruit.com/datasheets/SSD1306.pdf
 
====SH1107====
 
OLED,
 
https://datasheetspdf.com/pdf-file/1481276/SINOWEALTH/SH1107/1


===Round===
====GC9A01 (round)====
====GC9A01====


backlit LCD, 65K colors, SPI
LCD, 65K colors, SPI


https://www.buydisplay.com/download/ic/GC9A01A.pdf
https://www.buydisplay.com/download/ic/GC9A01A.pdf

Revision as of 19:42, 24 March 2024

Backlit flat-panel displays

CCFL or LED backlight

https://nl.wikipedia.org/wiki/CCFL

Self-lit

OLED

QLED

On image persistence / burn-in

VFD

Vacuum Fluorescent Displays are vacuum tubes applied in a specific way - see Lightbulb_notes#VFDs for more details.


Lighting

Nixie tubes


Mechanical

Mechanical counter

https://en.wikipedia.org/wiki/Mechanical_counter

Split-flap

https://en.wikipedia.org/wiki/Split-flap_display


LED segments

7-segment and others

This article/section is a stub — some half-sorted notes, not necessarily checked, not necessarily correct. Feel free to ignore, or tell me about it.
7-segment, 9-segment display, 14-segment, and 16-segment display. If meant for numbers will be a dot next to each (also common in general), if meant for time there will be a colon in one position.


These are really just separate lights that happen to be arranged in a useful shape.

Very typically LEDs (with a common cathode or anode), though similar ideas are sometimes implemented in other display types - notably the electromechanical one, also sometimes VFD.


Even the simplest, 7-segment LED involves a bunch of connectors so are

  • often driven multiplexed, so only one of them is on at a time.
  • often done via a controller that handles that multiplexing for you


Seven segments are the minimal and classical case, good enough to display numbers and so e.g. times, but not really for characters.

More-than-7-segment displays are preferred for that.


https://en.wikipedia.org/wiki/Seven-segment_display

DIY

LCD character dislays

Character displays are basically those with predefined (and occasionally rewritable) fonts.


Classical interface

The more barebones interface is often a 16 pin line with a pinout like

  • Ground
  • Vcc
  • Contrast
usually there's a (trim)pot from Vcc, or a resistor if it's fixed


  • RS: Register Select (character or instruction)
in instruction mode, it receives commands like 'clear display', 'move cursor',
in character mode,
  • RW: Read/Write
tied to ground is write, which is usually the only thing you do
  • ENable / clk (for writing)
  • 8 data lines, but you can do most things over 4 of them


  • backlight Vcc
  • Backlight gnd


The minimal, write-only setup is:

  • tie RW to ground
  • connect RS, EN, D7, D6, D5, and D4 to digital outs


I2C and other

Matrix displays

(near-)monochrome

SSD1306

OLED, 128x64@4 colorsTemplate:Vierfy

https://cdn-shop.adafruit.com/datasheets/SSD1306.pdf

SH1107

OLED,

https://datasheetspdf.com/pdf-file/1481276/SINOWEALTH/SH1107/1

Small LCD/TFTs / OLEDs

This article/section is a stub — some half-sorted notes, not necessarily checked, not necessarily correct. Feel free to ignore, or tell me about it.

Small as in order of an inch or two (because the controllers are designed for a limited resolution?(verify)).


💤 Note that, like with monitors, marketers really don't mind if you confuse backlit LCD with OLED,

and some of the ebays and aliexpresses sellers of the world will happily 'accidentally' call any small screen OLED if it means they sell more.

This is further made more confusing by the fact that there are

  • few-color OLEDs (2 to 8 colors or so, great for high contrast but only high cotnrast),
  • high color OLEDs (65K),

...so you sometimes need to dig into the tech specs to see the difference between high color LCD and high color OLED.



When all pixels are off they give zero light pollution (unlike most LCDs) which might be nice in the dark. These seem to appear in smaller sizes than small LCDs, so are great as compact indicators.


Can it do video or not?

If it does speak e.g. MIPI it's basically just a monitor, probably capable of decent-speed updates, but also the things you can connect to will (on the scale of microcontroller to mini-PC) be moderately powerful, e.g. a raspberry.

But the list below don't connect PC video cables.

Still, they have their own controller, and can hold their pixel state one way or the other, but connect something more command-like - so you can update a moderate amount of pixels with via an interface that is much less speedy or complex.

You might get reasonable results over SPI / I2C for a lot of e.g. basic interfaces and guages. By the time you try to display video you have to think about your design more.

For a large part because amount of pixels to update times the rate of frames per second has to fit through the communication (...also the display's capabilities). There is a semi-standard parallel interface that might make video-speed things feasible. This interface is faster than the SPI/I2C option, though not always that much, depending on hardware details.


Even if the specs of the screen can do it in theory, you also have to have the video ready to send. If you're running it from an RP2040 or ESP32, don't expect to libav/ffmpeg.

Say, something like the TinyTV runs a 216x135 65Kcolor display from a from a RP2040.

Also note that such hardware won't be doing decoding and rescaling arbitrary video files. They will use specifically pre-converted video.


In your choices, also consider libraries. Things like TFT_eSPI has a compatibility list you will care about.



Interfaces

This article/section is a stub — some half-sorted notes, not necessarily checked, not necessarily correct. Feel free to ignore, or tell me about it.


ST7735

LCD, 132x162@16bits RGB


ST7789

LCD, 240x320@16bits RGB

https://www.waveshare.com/w/upload/a/ae/ST7789_Datasheet.pdf

SSD1331

OLED, 16bits RGB https://cdn-shop.adafruit.com/datasheets/SSD1331_1.2.pdf

SSD1351

OLED, 65K color

https://newhavendisplay.com/content/app_notes/SSD1351.pdf

HX8352C

LCD https://www.ramtex.dk/display-controller-driver/rgb/hx8352.htm


HX8357C

R61581

ILI9163

LCD, 162x132@16-bit RGB

http://www.hpinfotech.ro/ILI9163.pdf

ILI9341

https://cdn-shop.adafruit.com/datasheets/ILI9341.pdf

ILI9486

LCD, 480x320@16-bit RGB

https://www.hpinfotech.ro/ILI9486.pdf

ILI9488

LCD

https://www.hpinfotech.ro/ILI9488.pdf

PCF8833

LCD, 132×132 16-bit RGB

https://www.olimex.com/Products/Modules/LCD/MOD-LCD6610/resources/PCF8833.pdf

SEPS225

LCD

https://vfdclock.jimdofree.com/app/download/7279155568/SEPS225.pdf


RM68140

LCD

https://www.melt.com.ru/docs/RM68140_datasheet_V0.3_20120605.pdf

GC9A01 (round)

LCD, 65K colors, SPI

https://www.buydisplay.com/download/ic/GC9A01A.pdf