Willkommen in der Welt der digitalen Tinte! Heute schauen wir uns ein besonderes Bauteil für Bastler und Tüftler an: Ein 1,54 Zoll großes E-Paper (E-Ink) Modul in der Revision 2.1, das nicht nur Schwarz und Weiß, sondern auch Rot und Gelb darstellen kann. Und die Darstellung bleibt anschließend weiterhin so, auch wenn kein Strom mehr anliegt. Ideal für Ansichten die nur selten geändert werden.

Wie funktioniert eigentlich ein normales E-Ink Display?
Die Technik dahinter nennt man Elektrophorese. Stell dir Millionen winziger Mikrokapseln vor, die so dünn sind wie ein menschliches Haar. In diesen Kapseln schwimmen in einer klaren Flüssigkeit winzige Farbpigmente:
- Weiße Teilchen sind negativ geladen.
- Schwarze Teilchen sind positiv geladen.
Legt man nun ein elektrisches Feld an, wandern die Teilchen je nach Ladung nach oben (sichtbar) oder nach unten (unsichtbar). Das Geniale: Einmal oben angekommen, bleiben sie dort auch ohne Strom haften. Deshalb verbraucht ein E-Paper nur Energie, wenn sich das Bild ändert – es ist bistabil.
Und wie kommen die 4 Farben ins Spiel?
Bei meinem neuen Modul (G-Serie) wird es etwas komplexer. Statt nur zwei gibt es nun vier Arten von Pigmenten: Schwarz, Weiß, Rot und Gelb.
Damit das funktioniert, nutzt der Controller einen Trick bei der Ansteuerung:
- Verschiedene Spannungen: Die Teilchen reagieren unterschiedlich schnell auf verschiedene elektrische Spannungsstärken.
- 2-Bit-Adressierung: Da wir vier Zustände brauchen, reicht ein Bit (0 oder 1) nicht mehr aus. Das System nutzt 2 Bit pro Bildpunkt (Pixel), um dem Controller zu sagen, welche Farbe an welche Stelle wandern soll.
- Hinweis: Das ist auch der Grund, warum der Bildaufbau bei 4 Farben mit ca. 15–20 Sekunden deutlich länger dauert als bei Schwarz-Weiß-Displays. Die „schwereren“ farbigen Pigmente brauchen einfach mehr Zeit, um sich im „Ölbad“ zu sortieren.
Testaufbau
Hardware:
Waveshare 1.54inch e-Paper Module (G), 200×200
Arduino Uno R4 Wifi
Der Verdrahtungsplan (Arduino R4 WiFi)
Dank der Revision 2.1 (Rev 2.1) des Moduls könnte es direkt mit den 5V des Arduino Uno R4 betreiben werden, da ein Pegelwandler (Level Shifter) die Signale auf 3,3V umsetzt. Wenn ihr die Revisionsnummer nicht kennt: Ich bin da aber mal kein Risiko eingegangen und hab es an 3,3V angeschlossen, geht auch.
| Display-Pin | Arduino Uno R4 Pin | Beschreibung |
| VCC | 3,3V oder 5V | Stromversorgung |
| GND | GND | Masse |
| DIN | D11 (COPI) | Controller Out Peripheral In (Datenleitung) |
| CLK | D13 (SCK) | Serial Clock (Taktleitung) |
| CS | D10 | Chip Select (Aktivierung des Displays) |
| DC | D9 | Data / Command (Daten oder Befehl) |
| RST | D8 | Reset (Hardware-Neustart) |
| BUSY | D7 | Rückmeldung: „Ich bin gerade beschäftigt“ |
Anfängliche Probleme
Der Betrieb dieses speziellen Displays am Arduino R4 WiFi bringt zwei technische Besonderheiten mit sich, die in diesem Code gelöst sind:
- Auflösungs-Mapping: Ging anfangs davon aus das das Panel physisch 152×152 Pixel groß ist, erwartet der verbaute Controller doch eine Adressierung von 200×200 Pixeln.
- Farbtiefe (2-Bit): Im Gegensatz zu herkömmlichen Schwarz-Weiß-Displays (1-Bit) benötigt dieses Modell 2 Bits pro Pixel, um vier Farben darzustellen. Dies erfordert eine spezielle Pufferberechnung und die Nutzung der
Paint_SetScale(4)Funktion.

Der fertige Code auf GitHub
Notwendige Bibliotheken und weitere Details habe ich von Waveshare e-Paper GitHub Repository.
Ich habe die Hürden bei der Speicherberechnung und der Adressierung gelöst und den Code für euch dokumentiert. Ihr könnt ihn direkt in Visual Studio Code (VS Code) mit PlatformIO (PIO) nutzen.
Den vollständigen Code und die Anleitung findet ihr in meinem GitHub-Repository:
👉 github.com/prilchen/4Farb_E_Ink_Arduino_uno_R4
Viel Spaß beim Nachbauen und Experimentieren!

