- Glider ist ein Open-Source-Projekt für EPD-Monitore mit niedriger Latenz und hoher Bildwiederholrate. Dieses Repository enthält das Hardware-Design und die Firmware; für die auf dem FPGA laufende Gateware wird separat das Open-Source-Design Caster EPDC verwendet.
- Unterstützt werden elektrophoretische Display-Panels mit paralleler Schnittstelle; sowohl Schwarzweiß-Panels als auch Farbdisplays auf Basis von Farbfilter-Arrays wie Kaleido können angesteuert werden.
- Das Board umfasst ein Xilinx Spartan-6 LX16 FPGA, einen DDR3-800-Framebuffer, einen STM32H750-MCU, USB-C DisplayPort Alt Mode oder DVI als Eingang sowie eine E-Paper-Stromversorgung mit bis zu 1A Spitzenstrom bei Schienen von maximal ±15V.
- Caster behandelt jedes Pixel wie einen unabhängigen Update-Bereich und nutzt early cancellation, um die Verarbeitungslatenz auf unter 20µs zu senken; Ziel sind geringe Latenzen in den Modi Binär und 4-stufiges Graustufen.
- Das auf niedrige Latenz ausgelegte Design erfordert eine höhere Speicherbandbreite sowie echte Video-Schnittstellen mit niedriger Latenz wie DVI und DisplayPort; im 1080p-Beispiel benötigt der Caster-Ansatz 540MB/s statt 120MB/s bei einem traditionellen Ansatz.
Rollen von Glider und Caster
- Glider ist ein Open-Source-Hardwareprojekt für EPD-Monitore mit niedriger Latenz.
- Dieses Repository enthält die Hardware-Designs und den Firmware-Quellcode; das auf dem FPGA ausgeführte RTL ist das Design Caster EPDC aus einem separaten Repository.
- Das README behandelt nicht nur Glider, sondern auch E-Ink-Panels, Wellenformen, Farbdarstellung, Dithering und kompatible Displays.
- Wer sich für den Kauf des Boards interessiert, kann die Modos Paper Monitor Crowd Supply Produktseite ansehen.
- Marken und Inhalte zu E Ink sind nicht von der E Ink Corporation bestätigt; sie basieren auf öffentlich verfügbaren Informationen und eigener Recherche und können Fehler oder Ungenauigkeiten enthalten.
Hauptfunktionen
- Die Kombination aus Glider und Caster zielt auf eine vollständige Lösung für EPD-Monitore mit niedriger Latenz und hoher Bildwiederholrate.
- Unterstützte Funktionen
- Unterstützung für EPD-Panels mit paralleler Schnittstelle
- Unterstützung für Panels der Familien E Ink, OED und DES
- Unterstützung für Schwarzweiß-Displays und CFA-basierte Farbdisplays wie Kaleido
- Verarbeitungslatenz unter 20µs
- Ausgabemodi für Binär, 4-stufige Graustufen und 16-stufige Graustufen
- Latenzoptimierte Betriebsmodi für Binär und 4-stufige Graustufen
- Automatischer Hybridmodus für Binär und 16-stufige Graustufen
- Host-Software kann Bereichs-Updates und Moduswechsel zur Laufzeit steuern
- Hardware-Bayer-Dithering, Blue-Noise-Dithering und Fehlerdiffusions-Dithering ohne zusätzliche Latenz
- Standard-HVsync-Eingang
- Unterstützung für USB-C DisplayPort Alt Mode und DVI-Eingang auf Board-Ebene
Hardwareaufbau
- Das Board wurde mit KiCad entworfen; zum Öffnen der Quelldateien kann die aktuelle stabile Version von KiCad erforderlich sein.
- Hauptkomponenten
- Ausführung von Caster auf einem Xilinx Spartan-6 LX16 FPGA
- DDR3-800-Framebuffer-Speicher
- Type-C-DisplayPort-Alt-Mode-Eingang über eine PTN3460-DP-LVDS-Brücke
- DVI-Eingang über einen microHDMI-Anschluss mit ADV7611-Decoder
- E-Paper-Stromversorgung für große Panels
- bis zu 1A Spitzenstrom bei ±15V-Schienen
- Unterstützung zur Messung der VCOM-Kick-Back-Spannung
- STM32H750-MCU für USB-Kommunikation und Firmware-Upgrades
- Verarbeitung von bis zu 133MP/s bei aktiviertem Fehlerdiffusions-Dithering
- Verarbeitung von über 200MP/s bei deaktiviertem Dithering
E-Ink-Panels und Controller-Struktur
- E Ink ist eine Marke aus der Familie der elektrophoretischen Displays, die durch Anlegen elektrischer Felder an Partikel Schwarzweiß- oder Zwischenzustände erzeugen.
- Im Gegensatz zu LCDs sind EPDs bistabil und behalten ihren Zustand auch nach Entfernen des elektrischen Felds; aktualisiert werden muss nur, bis ein Pixel vollständig angesteuert wurde.
- Vor- und Nachteile von EPDs
- Da sie nicht selbst leuchten, sondern reflektiv sind, ist der Stromverbrauch niedrig und sie eignen sich für den Außeneinsatz.
- Sie behalten das Bild auch nach dem Abschalten der Stromversorgung.
- Gegenüber modernen IPS-LCDs sind sie bei Darstellungsqualität, Farbraum und Reaktionszeit im Nachteil.
- Im Beispiel erreicht ein Schwarzweiß-EPD etwa 17:1 Kontrast und etwa 150ms Reaktionszeit.
- Ein CFA-basiertes Farb-EPD erreicht etwa 14:1 Kontrast, etwa 1,5% sRGB-Farbraum und etwa 150ms Reaktionszeit.
- Ein E-Ink-Controller übernimmt eine Rolle ähnlich Display-Controller und Timing-Controller in LCD-Systemen und wandelt Rohbilddaten in Panel-Ansteuersignale um.
- Der Controller bestimmt die Spannungen anhand des aktuellen Pixelzustands und des Zielzustands und verwendet dafür meist eine LUT in Form einer Wellenform, um die Ansteuersequenz für den jeweiligen Zustandswechsel auszuwählen.
Panels mit und ohne integrierten Controller
- E-Paper-Panels lassen sich grob in zwei Gruppen einteilen, je nachdem, ob ein Controller integriert ist.
- Panels mit integriertem Controller
- Lassen sich über gängige Schnittstellen wie SPI oder I2C an einen MCU anbinden.
- Häufig ist die Stromversorgung integriert, was die Systemkosten senkt.
- Die Latenz für vollständige Updates kann von 100ms bis zu mehreren Sekunden reichen.
- Panels ohne Controller
- Können mit dedizierten Controllern, SoCs mit integriertem E-Ink-Controller oder per Software-TCON auf schnellen MCUs/SoCs betrieben werden.
- Dedizierte Controller eignen sich breit für IoT, E-Reader, Mobiltelefone, E-Ink-Monitore und sogar mögliche E-Ink-Laptops.
- Sie erlauben den Entwurf schneller Ansteuerungsstrukturen, aber das Systemdesign muss niedrige Latenz sicherstellen.
- Beispiele für bestehende dedizierte Open-Source-Controller sind Caster + Glider, der Paperback-Desktop-E-Paper-Monitor und FPGA-E-Ink-Controller.
- Caster + Glider ist ein FPGA-basierter Controller, der mehrere Update-Modi, extrem latenzarme Verarbeitung und breite Display-Unterstützung bietet.
Wellenformen und Graustufen
- Eine Wellenform (waveform) ist die Lookup-Tabelle, mit der ein E-Ink-Controller entscheidet, wie ein Pixel angesteuert wird.
- Die Eingaben der LUT bestehen aus Frame-Nummer, Ausgangs-Graustufenwert und Ziel-Graustufenwert.
- Der Controller fragt für jedes Pixel in jedem Frame die LUT ab und erhöht den Frame-Zähler wiederholt, bis das Pixel vollständig angesteuert ist.
- Wellenformdateien behandeln nur den Übergang eines einzelnen Pixels und sind daher unabhängig von der Auflösung.
- Das Repository stellt Werkzeuge für verschiedene Wellenformformate bereit.
- Umwandlung von
iwfnachfwfür i.MX6/7 EPDC:./mxc_wvfm_asm v1/v2 input.iwf output.fw - Umwandlung von
fwnachiwf:./mxc_wvfm_dump v1/v2 input.fw output_prefix - Umwandlung von
wbfnachiwf:./wbf_wvfm_dump input.wbf output_prefix
- Umwandlung von
- E-Ink- und DES-Panels unterstützen auf Basis der vom Hersteller bereitgestellten Wellenformen in der Regel bis zu 16 Graustufen.
- Graustufen lassen sich erzeugen, indem man die Frame-Dauer ändert oder bei fester Framerate die Anzahl angewendeter Frames variiert.
- Graustufenansteuerung in kommerziellen Implementierungen ist langsamer als Schwarzweißdarstellung und kann während des Updates flackern.
Farb-EPDs und Dithering
- Farb-EPDs werden hauptsächlich in Farbfilter-Array (CFA) und Mehrpigment-Farbdisplays unterteilt.
- CFA-Ansatz
- Dazu gehören E Ink Kaleido, E Ink Triton und color DES.
- Die Low-Level-Ansteuerung entspricht der von Graustufen-Panels, sodass Update-Zeiten von 100 bis 200ms und 16 Graustufen möglich sind.
- 16 Graustufen ergeben 16³ = 4096 Farben.
- Nachteilig ist, dass die Farbfilter Licht herausfiltern und das Display dunkler machen.
- Glider/Caster unterstützt color DES, E Ink Triton und E Ink Kaleido.
- Mehrpigment-Farbdisplays
- Dazu gehören die Familien E Ink Gallery und E Ink Spectra.
- Ohne CFA gibt es weder Auflösungsverlust noch Lichtverlust, wodurch höhere Reflexion und stärkere Sättigung möglich sind.
- Die Ansteuerung ist schwieriger und langsamer; für Gallery der 1. und 2. Generation werden 30 Sekunden Update-Zeit genannt, für Spectra 6 Plus 7 Sekunden.
- Dithering wird eingesetzt, um bei begrenzter Graustufen- oder Binärdarstellung bessere Bilder zu erzielen.
- Ordered Dithering fügt dem Bild vor der Schwellwertbildung eine vorab berechnete Textur oder Rauschstruktur hinzu.
- Fehlerdiffusions-Dithering verteilt Rundungsfehler auf benachbarte Pixel.
- Behandelt werden Verfahren wie Bayer, Blue-Noise, Floyd-Steinberg, Stucki und Sierra.
- Bei CFA-basierten Farbdisplays kann normale Fehlerdiffusion, die Nachbarpixel-Farben nicht berücksichtigt, ungeeignet sein; der Kernel kann so angepasst werden, dass Fehler an Pixel derselben Farbe weitergegeben werden.
- Auch Gammakorrektur ist wichtig; einfaches Runden im sRGB-Raum kann zu falscher Auswahl der nächstliegenden Farbe und fehlerhafter Fehlerberechnung führen.
Caster/Glider-Architektur
- Die FPGA-Gateware ist in mehrere Module aufgeteilt;
caster.vist das Top-Level-Design des EPDC-Kerns. - Das gesamte Bildverarbeitungssystem wird unter
top.vdurch Anbindung zusätzlicher Komponenten aufgebaut. - Wichtige Clock-Domains
clk_vi: Eingangs-Video-Clock-Domain, 1/2 der Pixelrateclk_epdc: EPDC-Clock-Domain, 1/4 der Pixelrateclk_mem: Speicher-Clock-Domain, 1/4 der Speichertransferrate
- Pixel-Verarbeitungsfluss
memifliest lokale Pixelzustände aus dem DDR-SDRAM und legt sie inbi_fifoab.- Der eingehende Videostream wird in
vi_fifoeingespeist. - Wenn der lokale Timing-Generator des EPDC die Pixelausgabe vorbereitet, werden Videoinput und Zustandswerte gemeinsam entnommen und verarbeitet.
- Das 8-Bit-Eingangsbild wird auf 1 Bit und 4 Bit gedithert.
- Im Modus mit 16 Graustufen wird eine Wellenformabfrage durchgeführt.
- Neuer Zustand und Spannungs-Auswahlwert werden bestimmt.
- Der neue Zustand wird in
bo_fifogeschrieben, der Spannungs-Auswahlwert an das Display gesendet.
- Der EPDC verarbeitet immer 4 Pixel pro Takt; bei anderer Breite der Displayschnittstelle folgt hinter dem Ausgang ein Rate Adapter.
Funktionen der MCU-Firmware
- Die MCU verwendet FreeRTOS und übernimmt die Housekeeping-Funktionen des Boards.
- EPD-Stromversorgungsmanagement
- Bereitstellung von gemeinsamer Versorgung, Source-Versorgung und Gate-Versorgung
- Einstellung der VCOM-Spannung und Messung der optimalen VCOM-Spannung für das installierte Panel
- Energieüberwachung
- Überwachung von Spannung und Strom mehrerer Schienen und Prüfung, ob sie innerhalb der erwarteten Bereiche liegen
- Laden des FPGA-Bitstreams
- Das FPGA besitzt keinen eigenen Flash; beim Einschalten überträgt die MCU den Bitstream per SPI an das FPGA.
- FPGA-Bitstream und MCU-Firmware können gemeinsam für Updates gebündelt werden.
- USB-C-Aushandlung
- USB-C DisplayPort Alt Mode unterstützt sowohl die Stromversorgung des Boards als auch den Videoeingang.
- Über das USB-PD-Protokoll wird dem Quellgerät die Videoeingangsfunktion signalisiert.
- Je nach Kabelausrichtung steuert die MCU den Type-C-Signalmux.
- Initialisierung des Videodecoders
- Da das FPGA keinen Hochgeschwindigkeits-Deserializer für die direkte Anbindung an DisplayPort oder DVI besitzt, wird ein dedizierter Decoder-Chip initialisiert.
- Kommunikation mit dem PC
- Caster kann Update-Modi sowie erzwungene Updates und Clear-Vorgänge pixelweise anwenden.
- Die MCU arbeitet mit TinyUSB als HID-Gerät und leitet Nachrichten zwischen Host-PC und FPGA weiter.
Ansteuerung mit niedriger Latenz
- Der herkömmliche Grundansatz verwendet einen globalen Zähler zum Nachschlagen der Wellenformtabelle und hat die Einschränkung, dass neue Bilder erst angenommen werden, wenn das vorherige Update abgeschlossen ist.
- Dauert ein Update etwa 100ms, ergibt das 10Hz Bildrate, und ein neues Bild kann bis zu 100ms warten, bevor es im Controller verarbeitet wird.
- Caster behandelt alle Pixel als unabhängige Update-Bereiche.
- Die Software muss weder Bereiche an Zeichenrändern ausrichten noch eine begrenzte Zahl von Bereichen neu zuweisen.
- Wenn sich ein bereits aktualisiertes Pixel erneut ändert, wird early cancellation angewendet.
- Es wird nicht gewartet, bis das Pixel vollständig angesteuert ist.
- Stattdessen wird es in Richtung des neu angeforderten Zustands getrieben, und der Frame-Zähler wird anhand der neu berechneten Ansteuerzeit aktualisiert.
- Durch die Kombination beider Techniken werden die latenzarmen Modi für Binär und 4-stufige Graustufen umgesetzt.
- Caster erklärt außerdem, dass der bisherige Trade-off zwischen Framerate und Kontrastverhältnis nicht mehr relevant sei und hohe Framerate sowie hohes Kontrastverhältnis automatisch erreicht würden.
Hybrid-Graustufenmodus und Grenzen
- Caster schaltet pixelweise automatisch zwischen schnellem Binärmodus und langsamem Graustufenmodus um.
- Wenn sich das Eingangsbild ändert, wird im Binärmodus aktualisiert; bleibt das Bild eine Zeit lang unverändert, wird es erneut in Graustufen gerendert.
- Dieser Ansatz erfordert mehr Speicherbandbreite.
- Im Beispiel eines 1080p-Panels wird mit rund 120MP/s gerechnet.
- Der traditionelle Ansatz benötigt bei 1 Byte Lesezugriff pro Pixel 120MB/s.
- Bei Caster erfordert allein der Pixelzustands-Puffer 2 Byte Lesen und 2 Byte Schreiben pro Pixel, hinzu kommen 0,5 Byte pro Pixel zum Lesen der neuen Bildwerte.
- Daraus ergeben sich 120MP/s × 4,5B/Pixel = 540MB/s.
- Die Glider-Hardware verwendet DDR3-800-Speicher für höhere Auflösungen.
- Wenn der Controller sich im Monitor statt als Teil von CPU oder GPU des PCs befindet, werden statt einfacher, aber langsamer Schnittstellen wie USB oder I80/SPI echte Video-Schnittstellen mit niedriger Latenz wie DVI oder DP benötigt.
- Für Anwendungsfälle wie das Lesen von Büchern seien diese Techniken nicht hilfreich, weshalb kommerzielle E-Reader-Lösungen wenig Grund hätten, sie zu implementieren.
Build und Flashen
- Das PCB wurde mit KiCad 8.0 entworfen; der empfohlene 4-Lagen-Stackup ist 1080 PP layer.
- Build des FPGA-Bitstreams
- Xilinx ISE 14.7 ist erforderlich.
- Neuere Betriebssysteme werden offiziell nicht unterstützt; empfohlen wird die offizielle RHEL-VM von Xilinx.
- Das Caster-Repository kann mit
git clone --recursive https://gitlab.com/zephray/Caster.gitbezogen werden. - In
rtl/spartan6/top.vwirdCOLORMODEaufMONO,RGBWoderDESgesetzt. OUTPUT_16Binrtl/defines.vhwird für 16-Bit-Panels definiert.- Für die Modos-6-Zoll- und 13-Zoll-Kits sind die Standardwerte
MONOund 8 Bit passend.
- Build der MCU-Firmware
- STM32CubeIDE ist erforderlich.
- Das Glider-Repository kann mit
git clone --recursive https://gitlab.com/zephray/Glider.gitbezogen werden. Glider/fwwird als STM32CubeIDE-Projekt geöffnet und gebaut.
- Flashen
dfu-utilinstallieren und beim Verbinden des USB-Kabels die Taste nahe dem USB-Port gedrückt halten.- Das bereitgestellte Flash-Tool verwendet Python 3 und das Paket
hidapi. - Beim manuellen Verfahren wird die MCU-Firmware mit
dfu-utilgeschrieben und der FPGA-Bitstream per XMODEM über die Board-Shell übertragen.
Kompatible Displays und Leistungsgrenzen
- Das Modos Dev Kit bietet Display-Optionen mit 13,3 Zoll bei 1600×1200 und 6 Zoll bei 1404×1072.
- Das Board kann auch andere Panels ansteuern, allerdings sind wegen unterschiedlicher Steckverbinder Adapter nötig.
- Das Mainboard verwendet 50-Pin- plus 16-Pin-Steckverbinder.
- Ein einzelner 50-Pin-Steckverbinder reicht für 8-Bit- und 16-Bit-Displays aus.
- Der 16-Pin-Steckverbinder ergänzt Unterstützung für LVDS-Displays sowie 32-Bit- und 64-Bit-Displays.
- Unterstützbare Displays werden durch Eingabeprotokoll, Durchsatz und Speicherschnittstelle begrenzt.
- Durchsatz bei aktiviertem Dithering: 133MP/s
- Durchsatz bei deaktiviertem Dithering: 280MP/s
- Geschätzter Durchsatz eines 8-wide-Designs: 500MP/s
- Maximale Pixelrate von ADV7611-basiertem DVI: 165MP/s
- Maximale Pixelrate von PTN3460-basiertem DisplayPort: 224MP/s
- Beispiel für DDR2/3-800 ×16-Speicherschnittstelle: 360MP/s
- Beispiele für Spitzen-Pixelraten nach gängigen Auflösungen
- 1600×1200, 13,3 Zoll, 60Hz: 125MP/s
- 1600×1200, 13,3 Zoll, 85Hz: 178MP/s
- 2200×1650, 13,3 Zoll, 60Hz: 232MP/s
- 2560×1920, 13,3 Zoll, 60Hz: 313MP/s
- 3200×1800, 25,3 Zoll, 60Hz: 364MP/s
- Für Graustufen-Rendering muss das Display mit 85Hz aktualisiert werden; 85Hz ist die von E Ink unterstützte Bildwiederholfrequenz.
- Das Board kann die Auflösung des angeschlossenen Displays nicht automatisch erkennen; sie muss in der Board-Shell manuell gesetzt oder mit einem Konfigurationserzeugungs-Tool erstellt werden.
- Für manuelle Berechnungen kann der Video Timings Calculator by Tom Verbeure verwendet werden.
Lizenz und Referenzmaterialien
- Die Dokumentation ist Public Domain, ausgenommen Referenzmaterialien mit ausdrücklich anderer Lizenz.
- Das Hardware-Design steht unter CERN-OHL-S, der strongly-reciprocal Variante der CERN Open Source Hardware License.
- Der Firmware-Code steht unter der MIT-Lizenz; die USB-PD-Bibliothek ist von Chromium OS und reclamier labs abgeleitet und folgt der BSD-Lizenz.
- Zu den Referenzmaterialien gehören Reverse-Engineering-Materialien zur EPD-Ansteuerung, frühe DIY-E-Ink-Projekte, ein STM32-basierter Graustufentreiber, das ESP32-basierte EPDiy sowie Werkzeuge und Parser für das WBF-Dateiformat.
1 Kommentare
Meinungen auf Hacker News
Alle E-Ink-Controller sind ziemlich schlecht, also hat diese Person beschlossen, das selbst zu beheben, das Ergebnis als Open-Source-Hardware veröffentlicht, und inzwischen ist es auf dem Stand der Technik.
Ich finde solche Leute und Projekte großartig.
Schon beim README ist die Breite und Tiefe der Informationen beeindruckend.
Wenn solche Materialien so offen verfügbar sind, könnte das in der Community schnelle Innovationen und disruptive Veränderungen auslösen.
Ich verfolge den Discord, aber der Fortschritt ist ziemlich langsam, und sie kämpfen auch mit grundlegenden Dingen.
Es ist viel ausführlicher als erwartet, bis hin zur physikalischen Theorie der Funktionsweise.
Ich benutze seit über zehn Jahren einen Kindle, aber die mangelnde Reaktionsfähigkeit hat mich immer gestört.
Ich weiß nicht, ob es ein Hardware- oder Softwareproblem ist, aber ich freue mich, dass sich dieses Projekt darauf konzentriert, die Latenz auf der Hardwareseite zu reduzieren.
Ich frage mich, ob jemand weiß, warum der Kindle ein so mittelmäßiges Produkt ist. Ich nutze ihn, weil E-Ink gut ist und der E-Book-Markt umfassend ist, aber ich halte ihn nicht wirklich für ein gutes Gerät.
Man kann damit auch anderes machen, aber er wurde weder dafür gebaut noch so vermarktet, deshalb hält man statt Innovationen bei der Reaktionsfähigkeit die Kosten niedrig.
Stattdessen wurden andere Aspekte der Benutzerfreundlichkeit verbessert, etwa die Art, ihn zu halten, die Navigation und die Hintergrundbeleuchtung.
Der Kindle war immer der Maßstab für E-Book-Reader und ist das verbreitetste tatsächlich kaufbare Produkt mit E-Ink-Technologie.
Aus Business-Sicht lässt er sich in den wichtigen Dimensionen kaum als schlechtes Produkt bezeichnen.
Danach kann man Bücher mit Calibre oder per SFTP darauf laden.
Bei manchen Geräten war der Akku nach ein paar Tagen leer und sie hielten das Versprechen langer Akkulaufzeit nicht, andere waren qualitativ so schlecht, dass sie nach wenigen Monaten kaputtgingen.
Bei meiner Nutzung von ein bis zwei Stunden Lesen pro Tag hält der Kindle mit einer Ladung mehrere Wochen, und weil er wasserdicht ist, kann ich sogar in der Badewanne lesen, was ich sehr schätze. Besondere Probleme hatte ich nie.
Die UI scheint auf Werbung für den Amazon Store ausgerichtet zu sein, aber ich nutze ihn nicht und schicke mir Bücher per E-Mail, lese sie und lösche sie danach, also ist das in Ordnung.
Ich fände Ordner in der Bibliothek gut, und es wäre schön, wenn man ihn wie andere E-Book-Reader als USB-Speicher anschließen und am PC beliebig organisieren könnte, aber notwendig ist es nicht.
Der Kindle mag ein schlechtes Produkt sein, aber der Rest scheint noch schlechter zu sein. Ich kenne keine E-Book-Reader-Marke in der Größenordnung von Amazon, und sie wirken alle wie namenlose chinesische Marken, die nicht in Qualität und Ruf investieren.
Refresh-Geschwindigkeit, Latenz, Rechenleistung, Reaktionsfähigkeit – fast alles hat sich verbessert.
Es ist ein witziger Zufall, dass der Name Glider ist.
Ziemlich viele Segelflugzeugpiloten verwenden wegen der guten Lesbarkeit bei starkem Sonnenlicht E-Ink-Displays und lassen meist auf gerooteten Kobo- oder Kindle-Geräten etwas wie XCSoar laufen: https://www.xcsoar.org/hardware/
Da fragt man sich, welche Technologien in Nischen-Verkehrsmitteln sonst noch zweckentfremdet werden.
Wegen Augenbelastung und trockener Augen war ich lange an E-Ink-Lösungen interessiert.
Wie sich herausstellte, hatte ich einen sehr leichten Astigmatismus. Der Augenarzt empfahl keine Korrektur, aber nachdem ich ihn korrigieren ließ, verschwanden trockene Augen und Augenbelastung vollständig.
Unabhängig von der üblichen Mindeststärke, ab der Augenärzte eine Verordnung ausstellen, lohnt es sich also, für eine Computerbrille einen leichten Astigmatismus korrigieren zu lassen.
Ich habe auf dem rechten Auge einen sehr leichten Astigmatismus, und ihn mit einer individuell angepassten Lesebrille statt einer normalen Lesehilfe zu korrigieren, machte bei Augenbelastung und Kopfschmerzen einen riesigen Unterschied.
Selbst mit einer billigen Brille fühlte es sich in Ordnung an, aber ich war wirklich überrascht, wie groß der Unterschied war.
Trockene Augen und Augenbelastung treten oft gemeinsam auf, und es gibt auch ein eigenes Forum zu Augenbelastung durch LED-basierte Bildschirme.
Wer ähnliche Probleme hat, sollte dort vielleicht vorbeischauen: https://ledstrain.org/
Ich bin zephray wirklich dankbar, dass er sein E-Ink-Wissen so als Open Source veröffentlicht hat.
Im README stehen viele hervorragende Informationen zu E-Ink; ich habe schon einiges gelesen und werde es wohl noch über Jahre hinweg als Referenz nutzen.
Das ist wirklich großartiges Material.
Ich wollte schon lange ein Gerät mit E-Ink-Display zu Lernzwecken bauen, aber da ich nur Software gemacht habe, wusste ich nicht, wo ich anfangen soll.
Dieses Material dürfte mir beim Lernen ziemlich helfen.
Das verlinkte GitHub ist ein Mirror des ursprünglichen GitLab-Repositorys: https://gitlab.com/zephray/glider
Ich frage mich, ob schon jemand die Idee untersucht hat, E-Ink-Displays um Feedback-Regelung zu erweitern.
Ich habe das Gefühl, dass das Flackern und die Verzögerung von E-Ink vollständig daran liegen, dass die Controller im Open-Loop-Verfahren arbeiten.
Ich würde gern mit so einem E-Ink-Display einen Compact-Mac-Klon bauen.
Ich kann mir vorstellen, wie großartig das aussehen würde.
Allerdings habe ich noch keine E-Ink-Refresh-Geschwindigkeit gesehen, die für einen beweglichen Cursor ausreicht. Mit den richtigen Treibern könnte das heute vielleicht möglich sein.
[1] https://engineersneedart.com/systemsix/systemsix.html
Die Akkulaufzeit läge wahrscheinlich auch im Bereich von Wochen.