Skip to content

Technik Blog

Programmieren | Arduino | ESP32 | MicroPython | Python | Raspberry Pi | Raspberry Pi Pico

Menu
  • Smarthome
  • Gartenautomation
  • Arduino
  • ESP32 & Co.
  • Raspberry Pi & Pico
  • Solo Mining
  • Deutsch
  • English
Menu

Universelles Maker Display – Die flexible Anzeige für jede Anwendung

Posted on 12. August 202512. August 2025 by Stefan Draeger

Ob Temperaturwerte vom Sensor, aktuelle Bitcoin-Kurse, News oder die Auslastung des eigenen PCs – als Maker steht man oft vor der gleichen Herausforderung: Wie kann ich beliebige Daten schnell und einfach sichtbar machen?
Zwar gibt es unzählige Displays für Arduino, ESP32 oder Raspberry Pi, doch meist sind sie fest in ein Projekt integriert oder erfordern eine direkte Verbindung über die serielle Schnittstelle – praktisch, aber eben nicht flexibel.

Universelles Maker Display – Die flexible Anzeige für jede Anwendung
Dieses Video auf YouTube ansehen.

Die Lösung: Ein universelles Maker Display, das unabhängig vom Anschluss an einen Computer funktioniert. Über eine einfache HTTP-Schnittstelle können beliebige Inhalte aus dem lokalen Netzwerk an das Display gesendet werden – ganz ohne USB-Kabel oder serielle Kommunikation. Egal ob Text, Zahlen oder Statusmeldungen – alles, was im Netzwerk erreichbar ist, kann direkt auf dem Display erscheinen. Damit wird aus einem einfachen LCD1602 eine flexible Anzeige, die sich in nahezu jedes DIY-Projekt integrieren lässt.

Inhaltsverzeichnis

  • Projektidee und Funktionsweise
  • Benötigte Bauteile
  • Schaltung im Detail
  • Programmierung des ESP32 mit MicroPython
  • Projektstruktur und Dateiaufteilung
    • Kurz erklärt – wofür ist welche Datei?
  • Daten an das Display senden
    • Daten mit PowerShell senden
  • Fazit und Ausblick

Projektidee und Funktionsweise

Die Grundidee hinter dem universellen Maker Display ist simpel:
Der ESP32-C3 Mini übernimmt die Rolle einer flexiblen Netzwerkschnittstelle zwischen beliebiger Datenquelle und einem LCD1602-Display. Dabei ist es egal, ob die Daten von einem PC, einem Raspberry Pi, einem Mikrocontroller oder direkt aus dem Internet stammen – solange sie per HTTP an das Display gesendet werden können, erscheinen sie in Sekundenschnelle auf dem Display.

Das Display selbst besteht aus zwei Zeilen mit je 16 Zeichen. Über die HTTP-Schnittstelle können in einem einzigen Request beide Zeilen gefüllt werden. Die Anzeige kann sowohl statisch (fester Text) als auch dynamisch (z. B. mit automatischem Scrollen) erfolgen.

Ablauf in der Praxis:

  1. Der ESP32-C3 Mini verbindet sich mit dem lokalen WLAN.
  2. Die lokale IP-Adresse des Geräts wird auf dem Display angezeigt.
  3. Ein anderes Gerät im Netzwerk sendet per HTTP-Request (z. B. curl, PowerShell, Python oder jede beliebige Programmiersprache) die gewünschten Inhalte.
  4. Der ESP32 empfängt die Daten, bereitet sie auf und zeigt sie auf dem LCD an.

So entsteht ein universelles Anzeigesystem, das nicht an ein einzelnes Projekt gebunden ist, sondern für verschiedenste Anwendungen genutzt werden kann – von der Anzeige aktueller Sensordaten bis hin zur Darstellung kleiner Statusmeldungen aus komplexen Automatisierungssystemen.

Benötigte Bauteile

Für den Nachbau des universellen Maker Displays werden folgende Komponenten benötigt:

  • ESP32-C3 Super Mini* – kompakter und stromsparender Mikrocontroller, ideal für IoT-Anwendungen (inkl. passendem USB-C Datenkabel* zum Programmieren und zur Stromversorgung)
  • LCD1602 Display* mit I²C-Interface – 2 Zeilen à 16 Zeichen
  • Gehäuse (z. B. dieses Modell auf MakerWorld), um das Display geschützt unterzubringen
  • Lochrasterplatine* – für eine stabile Verbindung der Bauteile
  • Zwei 8-fach Buchsenleisten* – zur Aufnahme des ESP32-C3 Super Mini
  • Eine 4-fach Stiftleiste* – für den I²C-Anschluss des Displays
  • Vier Jumperkabel / Breadboardkabel* (weiblich–weiblich, ca. 10 cm) – zum Verbinden von ESP und Display
  • Vier Drähte 18 AWG* – für stabile Spannungsversorgung und Signalleitungen

Hinweis von mir: Die mit einem Sternchen (*) markierten Links sind Affiliate-Links. Wenn du über diese Links einkaufst, erhalte ich eine kleine Provision, die dazu beiträgt, diesen Blog zu unterstützen. Der Preis für dich bleibt dabei unverändert. Vielen Dank für deine Unterstützung!

Teileliste - universelles Maker Display mit LCD1602 und ESP32 Mikrocontroller
Teileliste – universelles Maker Display mit LCD1602 und ESP32 Mikrocontroller

💡 Tipp: Falls mehr Anzeigefläche benötigt wird, kann alternativ ein LCD2004-Display (4 Zeilen × 20 Zeichen) verwendet werden. Dieses ist nur minimal teurer und erfordert im Code lediglich das Anpassen der Displaymaße.

Schaltung im Detail

Wir nutzen beim LCD1602 den üblichen I²C‑Backpack (PCF8574*). Dadurch braucht’s nur 4 Leitungen:

LCD1602 (I²C‑Backpack)ESP32‑C3 Super Mini
VCC5V (vom USB‑C)
GNDGND
SDAGPIO 8
SCLGPIO 9

Diese Pinbelegung passt zu unserem Code (SDA=8, SCL=9). Wenn dein Board anders beschriftet ist, einfach im Code die Pins anpassen.

Schaltung - LCD1602 Display am ESP32-C3 Super Mini
Schaltung – LCD1602 Display am ESP32-C3 Super Mini

Wenn du das verlinkte Gehäuse verwendest, passt das LCD-Display exakt in die vorgesehene Ausbuchtung. Im Inneren ist zudem ausreichend Platz für eine kleine Lochrasterplatine. In meinem Fall habe ich die Platine jedoch etwas gekürzt, damit sie exakt zwischen die Montageschrauben passt. Da der USB-Stecker eine gewisse Länge hat, solltest du unbedingt prüfen, wie viel Platz du bei deinem Aufbau tatsächlich zur Verfügung hast. Damit die Platine sicher an ihrem Platz bleibt, habe ich sie mit doppelseitigem Klebeband fixiert.

Programmierung des ESP32 mit MicroPython

Für die Ansteuerung des Displays gibt es verschiedene Wege. Du kannst den ESP32 entweder in der Arduino IDE mit C/C++ programmieren oder auf MicroPython bzw. CircuitPython setzen.
Gerade für diesen Anwendungsfall ist MicroPython meine bevorzugte Wahl, da sich damit HTTP-Schnittstellen und flexible Anzeige-Logiken besonders einfach umsetzen lassen.

Wie du einen ESP32 für die Programmierung mit MicroPython vorbereitest und die Firmware darauf installierst, habe ich dir bereits in folgendem YouTube-Video Schritt für Schritt erklärt:

Flashen des ESP32-C3 Super Mini für MicroPython
Dieses Video auf YouTube ansehen.

Für die Programmierung verwende ich Thonny.
Diese schlanke und benutzerfreundliche Entwicklungsumgebung bringt alles mit, was du für dieses und auch viele weitere Projekte benötigst – inklusive direkter Unterstützung für MicroPython-Geräte wie den ESP32. Damit kannst du Code schreiben, auf den Mikrocontroller übertragen und ihn sofort ausführen, ohne zusätzliche Tools installieren zu müssen.

Projektstruktur und Dateiaufteilung

Damit das „Universelle Maker Display“ wartbar bleibt, splitten wir den Code in kleine, klar zuständige Module. Du kannst alles in eine einzige Datei packen – übersichtlicher (und später erweiterbar) ist aber die folgende Struktur:

├─ main.py            # Hauptprogramm: WLAN, HTTP-Loop, Standardanzeige (Uhr+IP)
├─ secrets.py         # Zugangsdaten fürs WLAN (WLAN_SSID, WLAN_PW)
├─ utils.py           # Hilfsfunktionen
├─ http_api.py        # (vorher: anzeige.py) HTTP-Request parsing + JSON-Auswertung
├─ lcd1602util.py     # Wrapper: I²C-Init des LCD & Text anzeigen
├─ machine_i2c_lcd.py # Fremdmodul (Random Nerd Tutorials)
└─ lcd1602.py         # Fremdmodul (je nach Variante; falls benötigt)

Kurz erklärt – wofür ist welche Datei?

  • main.py
    Startet WLAN, synchronisiert die Uhr (NTP), startet den Mini-Webserver, behandelt die Hauptschleife.
    Zeigt im Leerlauf Uhrzeit (zentriert) + lokale IP und gibt temporär externen Anzeigen (per Request) Vorrang.
  • secrets.py
    Nur deine Zugangsdaten, z. B.:
    WLAN_SSID = "DeinWLAN"
    WLAN_PW = "DeinPasswort"
  • utils.py
    Gemeinsame Helfer:
    • aktuelle_uhrzeit_lokal() (CET/CEST korrekt), lokale_ip()
    • zentrieren(), rechts_pad(), umlaut_fix()
    • rtc_sync() (NTP)
    • fehler_anzeigen(code, msg, dauer_ms) (kurz am Display + Konsole)
  • http_api.py
    Minimaler HTTP-Parser und zwei Funktionen:
    • zeige_aus_json(json_text) → extrahiert zeile1/zeile2/modus/anzeigedauer und ruft die LCD-Ausgabeverarbeite_request(raw_bytes) → routed POST /anzeige + GET /status, gibt (status, json) zurück
  • lcd1602util.py
    Initialisiert I²C (SDA=8, SCL=9, Adresse 0x27) und bietet eine saubere Funktion:
    • lcd_anzeigen(zeile1, zeile2)
  • machine_i2c_lcd.py und lcd1602.py
    Das sind die Fremdmodule (Random Nerd Tutorials). Lege sie unverändert ab. Achtung Namenskollisionen vermeiden: Unser eigener Wrapper heißt deshalb lcd1602util.py.
Micropython Projekt – universelles Maker Display mit LCD1602 & ESP32Herunterladen
Ablauf - universelles Maker Display
Ablauf – universelles Maker Display

Daten an das Display senden

Die einfachste Möglichkeit, Text auf das Display zu bringen, ist das kostenfreie Tool Postman. Damit kannst du in wenigen Klicks einen HTTP-POST-Request an den ESP32 senden und den gewünschten Text in einem definierten JSON-Format übertragen. So kannst du schnell testen, ob dein Display richtig arbeitet, ohne selbst Code zu schreiben.

Beispielanzeige - Zeile1 und Zeile2 - linksbündig
Beispielanzeige – Zeile1 und Zeile2 – linksbündig
Beispielanzeige - Zeile1 und Zeile2 - zentriert
Beispielanzeige – Zeile1 und Zeile2 – zentriert
Beispielanzeige - Zeile1 und Zeile2 - scroll
Beispielanzeige – Zeile1 und Zeile2 – scroll

Ein weiterer Vorteil von Postman: Aus jedem Request lässt sich mit wenigen Klicks Code für andere Skript‑ und Programmiersprachen generieren. So kannst du die Anfrage schnell übernehmen und in eigenen Skripten weiterverwenden.

POST /anzeige HTTP/1.1
Host: 192.168.178.96
Content-Type: application/json
Content-Length: 96

{
  "zeile1": "Zeile 1",
  "zeile2": "Zeile 2",
  "anzeigedauer": 15,
  "modus": "scroll"
}

Für einen automatisierten Einsatz – beispielsweise um Bitcoinpreise, News oder Fußballergebnisse anzuzeigen – bietet sich ein PowerShell-Skript (Windows) oder ein Bash-Skript (Linux/macOS) an. Damit kannst du die Daten aus einer beliebigen Quelle abrufen, aufbereiten und direkt an das Display senden. So lassen sich regelmäßig aktuelle Informationen ausgeben, ohne dass du jedes Mal manuell eingreifen musst.

Durch diese flexible Schnittstelle kannst du nahezu jede Datenquelle einbinden – von öffentlichen APIs bis hin zu eigenen Messwerten – und so dein Display perfekt auf deine Bedürfnisse anpassen.

Daten mit PowerShell senden

Am einfachsten lassen sich Testdaten per PowerShell an das Display senden.
Das folgende Beispiel schickt die Texte „Zeile1“ und „Zeile2“ direkt an den ESP32:

# URL deines ESP32
$espUrl = "http://192.168.178.96/anzeige"

# JSON-Daten definieren
$data = @{
    zeile1 = "Zeile1"
    zeile2 = "Zeile2"
} | ConvertTo-Json

# POST-Request senden
try {
    Invoke-RestMethod -Uri $espUrl -Method Post -Body $data -ContentType "application/json"
    Write-Host "Daten erfolgreich gesendet."
}
catch {
    Write-Host "Fehler beim Senden: $($_.Exception.Message)"
}

💡 Tipp: Die IP-Adresse in $espUrl muss an die des eigenen ESP32 angepasst werden.
Optional kann ein zusätzliches Feld dauer_ms übergeben werden, um die Anzeigedauer in Millisekunden zu steuern.

Fazit und Ausblick

Mit dem universellen Maker Display hast du jetzt eine flexible Anzeige, die sich kinderleicht über HTTP mit beliebigen Daten füttern lässt – egal ob per Postman, Skript oder aus einer eigenen Anwendung.
Die modulare Code-Struktur sorgt dafür, dass du das Projekt problemlos erweitern kannst, etwa für größere Displays, mehr Zeilen oder zusätzliche Formatierungen.

In kommenden Beiträgen zeige ich dir unter anderem:

  • Wie du das Display als Ticker für Nachrichten oder Börsenkurse verwendest
  • Wie du Sensorwerte aus dem Smarthome in Echtzeit darstellst
  • Wie du die Anzeige komplett kabellos über die Cloud steuerst

Damit hast du eine solide Basis, die sich vom kleinen Bastelprojekt bis hin zur vollwertigen Statusanzeige im Maker- oder Smarthome-Bereich ausbauen lässt.

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Fragen oder Feedback?

Du hast eine Idee, brauchst Hilfe oder möchtest Feedback loswerden?
Support-Ticket erstellen

Newsletter abonnieren

Bleib auf dem Laufenden: Erhalte regelmäßig Updates zu neuen Projekten, Tutorials und Tipps rund um Arduino, ESP32 und mehr – direkt in dein Postfach.

Jetzt Newsletter abonnieren

Unterstütze meinen Blog

Wenn dir meine Inhalte gefallen, freue ich mich über deine Unterstützung auf Tipeee.
So hilfst du mit, den Blog am Leben zu halten und neue Beiträge zu ermöglichen.

draeger-it.blog auf Tipeee unterstützen

Vielen Dank für deinen Support!
– Stefan Draeger

Kategorien

Tools

  • Unix-Zeitstempel-Rechner
  • ASCII Tabelle
  • Spannung, Strom, Widerstand und Leistung berechnen
  • Widerstandsrechner
  • 8×8 LED Matrix Tool
  • 8×16 LED Matrix Modul von Keyestudio
  • 16×16 LED Matrix – Generator

Links

Blogverzeichnis Bloggerei.de TopBlogs.de das Original - Blogverzeichnis | Blog Top Liste Blogverzeichnis trusted-blogs.com

Stefan Draeger
Königsberger Str. 13
38364 Schöningen
Tel.: 01778501273
E-Mail: info@draeger-it.blog

Folge mir auf

link zu Fabook
link zu LinkedIn
link zu YouTube
link zu TikTok
link zu Pinterest
link zu Instagram
  • Impressum
  • Datenschutzerklärung
  • Disclaimer
  • Cookie-Richtlinie (EU)
©2025 Technik Blog | Built using WordPress and Responsive Blogily theme by Superb
Cookie-Zustimmung verwalten
Wir verwenden Technologien wie Cookies, um Geräteinformationen zu speichern und/oder darauf zuzugreifen. Wir tun dies, um das Surferlebnis zu verbessern und um personalisierte Werbung anzuzeigen. Wenn Sie diesen Technologien zustimmen, können wir Daten wie das Surfverhalten oder eindeutige IDs auf dieser Website verarbeiten. Wenn Sie Ihre Zustimmung nicht erteilen oder zurückziehen, können bestimmte Funktionen beeinträchtigt werden.
Funktional Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt. Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.
Optionen verwalten Dienste verwalten Verwalten von {vendor_count}-Lieferanten Lese mehr über diese Zwecke
Einstellungen anzeigen
{title} {title} {title}