Simpler display types: Difference between revisions

From Helpful
Jump to navigation Jump to search
(Created page with "{{avnotes}} =Just a few elements= ==Lighting== ===Nixie tubes=== thumb|right| <!-- Nixie tubes were some of the earliest outputs of computers They have been a inefficient solution since the transistor or so. But they're still pretty. Lightbulb_notes#Nixie_tubes --> <br style="clear:both"> ===Dekatron=== <!-- https://en.wikipedia.org/wiki/Dekatron --> ===Eggcrate display=== <!-- An eggcrate display is a number of often-incandescent, often...")
 
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{#addbodyclass:tag_tech}}
{{avnotes}}
{{avnotes}}


=Just a few elements=


==Lighting==
==Light-up displays==
 
 
===Eggcrate display===
 
<!--
An eggcrate display is a number of often-incandescent, often-smallish lighbulbs in a grid (often 5 by 7),
named for the pattern of round cutouts
 
 
These were bright, and primarily used in gameshows, presumably because they would show up fine even in bright studio lighting.
Note that when showing $0123456789, not all bulbs positions are necessary.
 
 
-->
 


===Nixie tubes===
===Nixie tubes===
Line 21: Line 37:
<!--
<!--
https://en.wikipedia.org/wiki/Dekatron
https://en.wikipedia.org/wiki/Dekatron
-->
===Eggcrate display===
<!--
An eggcrate display is a number of often-incandescent, often-smallish lighbulbs in a grid (often 5 by 7),
named for the pattern of round cutouts
These were bright, and primarily used in gameshows, presumably because they would show up fine even in bright studio lighting.
Note that when showing $0123456789, not all bulbs positions are necessary.
-->
-->


Line 69: Line 71:
===Vane display===
===Vane display===


A physical seven-segment display
https://en.wikipedia.org/wiki/Vane_display


===Flip-disc===
===Flip-disc===
Line 110: Line 115:


https://en.wikipedia.org/wiki/Seven-segment_display
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====
<!--
Basically the above wrapped in a controller you can address via I2C or SPI (and usually they then speak that older parallel interface)
Sometimes these are entirely separate ones bolted onto the classical interface.
For DIY, you may prefer these just because it's less wiring hassle.
-->
===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===
{{stub}}
Small as in order of an inch or two (because the controllers are designed for a limited resolution?{{verify}}).
{{zzz|Note that, like with monitors, marketers really don't mind if you confuse LED-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.
}}
<!--
[[Image:OLED.jpg|thumb|300px|right|Monochrome OLED]]
[[Image:OLED.jpg|thumb|300px|right|High color OLED]]
[[Image:Not OLED.jpg|thumb|400px|right|Not OLED (clearly backlit)]]
-->
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 {{imagesearch|tinycircuits tinytv|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 [https://github.com/Bodmer/TFT_eSPI TFT_eSPI] has a compatibility list you will care about.
====Interfaces====
{{stub}}
<!--
* 4-line SPI
* 3-line SPI ([[half duplex]], basically)
* I2C
* 6800-series parallel
* 8080-series parallel interface
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 numbers aren't about capability, they seem to purely references then Intel versus Motorola origins of their specs{{verify}})
They are apparently very similar - the main differences being the read/write and enable, and in some timing.
: If they support both, 8080 seems preferable, in part because some only support that?{{verify}}
There are others that aren't quite ''generic'' high speed moniutor interfaces yet,
but too fast for slower hardware (e.g. CSI, MDDI)
https://forum.arduino.cc/t/is-arduino-6800-series-or-8080-series/201241/2
-->
====ST7735====
LCD, 132x162@16bits RGB
<!--
* SPI interface (or parallel)
* 396 source line (so 132*RGB) and 162 gate line
* display data RAM of 132 x 162 x 18 bits
* 2.7~3.3V {{verify}}
Boards that expose SPI will have roughly:
: GND: power supply
: VCC: 3.3V-5.0V
: SCL: SPI clock line
: SDA: SPI data line
: RES: reset
: D/C: data/command selection
: CS: chip Selection interface
: BLK: backlight control (often can be left floating, presumably pulled up/down)
Lua / NodeMCU:
* [https://nodemcu.readthedocs.io/en/release/modules/ucg/ ucg]
* [https://nodemcu.readthedocs.io/en/release/modules/u8g2/ u8g2]
* https://github.com/AoiSaya/FlashAir-SlibST7735
Arduino libraries
* https://github.com/adafruit/Adafruit-ST7735-Library
* https://github.com/adafruit/Adafruit-GFX-Library
These libraries may hardcode some of the pins (particularly the SPI ones),
and this will vary between libraries.
'''ucg notes'''
Fonts that exist:    https://github.com/marcelstoer/nodemcu-custom-build/issues/22
fonts that you have:  for k,v in pairs(ucg) do print(k,v) end
http://blog.unixbigot.id.au/2016/09/using-st7735-lcd-screen-with-nodemcu.html
-->
====ST7789====
LCD, 240x320@16bits RGB
https://www.waveshare.com/w/upload/a/ae/ST7789_Datasheet.pdf
====SSD1331====
OLED, 96x 64, 16bits RGB
https://cdn-shop.adafruit.com/datasheets/SSD1331_1.2.pdf
====SSD1309====
OLED, 128 x 64, single color?
https://www.hpinfotech.ro/SSD1309.pdf
====SSD1351====
OLED, 65K color
https://newhavendisplay.com/content/app_notes/SSD1351.pdf
====HX8352C====
LCD
<!--
240(RGB)x480, 16-bit
-->
https://www.ramtex.dk/display-controller-driver/rgb/hx8352.htm
====HX8357C====
====R61581====
<!--
240x320
-->
====ILI9163====
LCD, 162x132@16-bit RGB
http://www.hpinfotech.ro/ILI9163.pdf
====ILI9341====
<!--
240RGBx320, 16-bit
-->
https://cdn-shop.adafruit.com/datasheets/ILI9341.pdf
====ILI9486====
LCD, 480x320@16-bit RGB
https://www.hpinfotech.ro/ILI9486.pdf
====ILI9488====
LCD
<!--
320(RGB) x 480
-->
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
<!--
320 RGB x 480
-->
https://www.melt.com.ru/docs/RM68140_datasheet_V0.3_20120605.pdf
====GC9A01====
LCD, 65K colors, SPI
Seem to often be used on round displays{{verify}}
https://www.buydisplay.com/download/ic/GC9A01A.pdf
[[Category:Computer‏‎]]
[[Category:Hardware]]
===Epaper===
====SSD1619====
https://cursedhardware.github.io/epd-driver-ic/SSD1619A.pdf
<!--
====UC8151====
https://www.orientdisplay.com/wp-content/uploads/2022/09/UC8151C.pdf
-->

Latest revision as of 02:10, 25 June 2024

The physical and human spects dealing with audio, video, and images

Vision and color perception: objectively describing color · the eyes and the brain · physics, numbers, and (non)linearity · color spaces · references, links, and unsorted stuff

Image: file formats · noise reduction · halftoning, dithering · illuminant correction · Image descriptors · Reverse image search · image feature and contour detection · OCR · Image - unsorted

Video: file format notes · video encoding notes · On display speed · Screen tearing and vsync

Simpler display types · Video display notes · Display DIY


Audio physics and physiology: Sound physics and some human psychoacoustics · Descriptions used for sound and music

Noise stuff: Stray signals and noise · sound-related noise names · electronic non-coupled noise names · electronic coupled noise · ground loop · strategies to avoid coupled noise · Sampling, reproduction, and transmission distortions · (tape) noise reduction


Digital sound and processing: capture, storage, reproduction · on APIs (and latency) · programming and codecs · some glossary · Audio and signal processing - unsorted stuff

Music electronics: device voltage and impedance, audio and otherwise · amps and speakers · basic audio hacks · Simple ADCs and DACs · digital audio · multichannel and surround
On the stage side: microphones · studio and stage notes · Effects · sync


Electronic music:

Electronic music - musical terms
MIDI · Some history, ways of making noises · Gaming synth · microcontroller synth
Modular synth (eurorack, mostly):
sync · power supply · formats (physical, interconnects)
DAW: Ableton notes · MuLab notes · Mainstage notes


Unsorted: Visuals DIY · Signal analysis, modeling, processing (some audio, some more generic) · Music fingerprinting and identification

For more, see Category:Audio, video, images


Light-up displays

Eggcrate display

Nixie tubes


Dekatron

Mechanical

Mechanical counter

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


Split-flap

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


Vane display

A physical seven-segment display

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

Flip-disc

https://en.wikipedia.org/wiki/Flip-disc_display


Other flipping types

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, and 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