Warum mein Lolin32 Lite scheiterte und der WROOM-32 rettete

Heute möchte ich euch von einem Projekt berichten, das mich ein paar Nerven gekostet hat, am Ende aber mit einem Erfolgserlebnis belohnt wurde: Ein E-Paper Weather Dashboard für meinen Standort in Köln.
Eigentlich sollte das Ganze kompakt auf einem Lolin32 Lite laufen. Doch wie das beim Basteln oft so ist: Die Theorie und die Praxis der Spannungsversorgung liegen manchmal weit auseinander.
Das Ziel: Ein stromsparendes Info-Display
Die Idee war simpel: Ein Waveshare 4.2 Inch E-Paper soll mir morgens beim Kaffee alles Wichtige anzeigen:
- Aktuelles Datum, Wochentag und Kalenderwoche.
- Aktuelle Temperatur, sowie Tages-Minima und Maxima aus der Open-Meteo API.
- Die Regenwahrscheinlichkeit für den Tag.
- Jede Stunde aktualisiert
Die Stolperfalle: Lolin32 Lite vs. E-Paper
Beim erste Versuch, um erstmal nur das E-Paper Display mit dem Arduino Uno in der Arduino IDE zu testen, funktionierte das Display einwandfrei.
Doch die Idee stromsparend einmal stündlich ins Internet zu gehen, um Wetterdaten abzurufen an einem Lolin32 Lite tat sich gar nichts: Das Display blieb unverändert, obwohl der Code im Seriellen Monitor von Visual Studio Code (VS Code) „Update abgeschlossen“ anzeigte. Auch die Debug-Informationen zu den einzelnen erwarteten Schritten waren im Seriellen Monitor alle korrekt, aber das Display blieb trotzdem weiß.
Die Diagnose:
Das Waveshare E-Paper Modul ist zwar für 3,3V Logikpegel geeignet, benötigt für seine interne Ladungspumpe (die die E-Ink Kügelchen bewegt) aber eine stabile Versorgungsspannung. Der Lolin32 Lite bietet keinen direkten 5V-Ausgang vom USB-Port an. Die 3,3V des Lolin waren wahrscheinlich schlichtweg zu schwachbrüstig, um das Panel physikalisch zu aktualisieren.
Die Rettung: Wechsel auf den ESP32 WROOM-32
Nach dem Wechsel auf ein klassisches ESP32 WROOM-32 Kit C V4 klappte es sofort. Warum? Weil dieses Board einen VIN/5V-Pin besitzt, der direkt die USB-Spannung abgreift. Damit bekommt das Display genug „Saft“, um die Anzeige sauber umzuschalten.
Das Setup & Der Code
Ich habe das Projekt komplett in Visual Studio Code mit PlatformIO umgesetzt. Hier ist der finale Stand der Verkabelung und der Software-Logik.
Verkabelung (WROOM-32):
- VCC -> VIN (5V)
- GND -> GND
- DIN -> GPIO 23
- CLK -> GPIO 18
- CS -> GPIO 5
- DC -> GPIO 17
- RST -> GPIO 16
- BUSY-> GPIO 4
Der „Wetter-Kalender“ Code-Ausschnitt
Hier seht ihr, wie ich die Daten von der API abrufe und das Logo sowie das Wetter kombiniere:

Bevor ihr meinen Sketch/Code verwendet müsst ihr noch die secrets.h anlegen mit euren WIFI Daten. Beispiel Datei liegt bei.
So findest du die Wetter-URL für deinen Ort
Damit das Display nicht das Wetter von Köln, sondern von deinem eigenen Garten anzeigt, musst du die Koordinaten in der API-URL anpassen. Wir nutzen dafür Open-Meteo, da dieser Dienst kostenlos ist und keine Registrierung oder API-Keys erfordert.
- Koordinaten ermitteln:
- Gehe auf Google Maps.
- Klicke mit der rechten Maustaste auf deinen Wohnort.
- Kopiere die beiden Zahlen (z. B.
50.9133, 6.8122). Die erste Zahl ist der Breitengrad (latitude), die zweite der Längengrad (longitude).
- Die URL im Code anpassen:
Suche in dermain.cppdie Zeileconst char* weatherUrl(Siehe Bild oben)
Du musst lediglich die Werte hinterlatitude=undlongitude=durch deine eigenen Zahlen ersetzen.
Beispiel für Berlin:https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41... - Werte kontrollieren (Optional):
Du kannst die fertige URL einfach in deinen Browser kopieren. Wenn du ein langes Textdokument (JSON) siehst, in dem Begriffe wietemperature_2mundprecipitation_probability_maxvorkommen, funktioniert deine URL perfekt.
Weitere Werte wie zum Beispiel Windgeschwindigkeit kannst du hier in Erfahrung bringen:
Free Open-Source Weather API
Erstellung und Einbindung Eures Logo/Bildes
Mit image2cpp habe ich mein schwarz/weiß Logo das als PNG-Datei vorlag in ein fertiges Byte‑Arrays für GxEPD erstellt. Hier weitere Details: Nützliche Software Apps und Tools
Fazit für eure Projekte
Wenn ihr mit E-Paper Displays arbeitet und diese an einem ESP32 betreiben wollt, achtet penibel auf die Spannung am VCC-Pin. Wenn das Log sagt „Fertig“, das Display aber weiß bleibt, „verhungert“ eure Hardware wahrscheinlich gerade an zu wenig Spannung.
Den kompletten Code und das Hex-Array für mein Logo findet ihr wie immer auf meinem GitHub-Profil (https://github.com/prilchen).
Viel Spaß beim Nachbauen!
