Wetter Display mit ESP32 und 3D Druck Gehäuse

Willkommen zu einem schönen DIY-Projekt, das Technologie und Wetterliebhaber gleichermaßen begeistern wird: dem Bau eines personalisierten Wetterdisplays. Herzstück dieses Projekts ist ein ESP32-Mikrocontroller, gepaart mit einem eleganten 7,5-Zoll-E-Paper-Display, bekannt für seine augenfreundliche Darstellung und Energieeffizienz. Dieses Display holt sich seine Daten in Echtzeit von der OpenWeatherMap API, einem umfassenden Anbieter für aktuelle und prognostizierte Wetterdaten.

Was dieses Display gemeinsam mit dem ESP32 besonders macht, ist seine beeindruckende Energieeffizienz. Im Ruhezustand verbraucht das Gerät minimal Strom, was es ideal für langfristigen, autonomen Betrieb macht. Ein 3000mAh Akku ermöglicht beispielsweise bei einer Aktualisierungsrate von 30 Minuten eine Laufzeit von rund zwei Monaten. Mit einem größeren Akku oder selteneren Aktualisierungen lässt sich diese Dauer sogar noch weiter ausdehnen. Zusätzlich bietet das Gerät die Bequemlichkeit des USB-C-Ladens.
Dieses Wetterdisplay ist sehr gut anpassbar. Du kannst nicht nur Standort und Zeit-/Datumsformate wählen, sondern auch Einheiten, Sprache, Luftqualitätsindex-Skalen und sogar die Grenzen der stündlichen Prognosediagramme an deine Bedürfnisse anpassen.

Die zu erwartenden Kosten betragen etwa 80-95€ je nachdem welche teile ihr bereits besitzt.

Notwendige Teile: (Amazon Affiliate)
ESP32 Mikrochip von Waveshare mit der Möglichkeit ein Display anzuschließen.
Waveshare 7.5 E-Ink Display
Ladeelektronik (TP4056)
Akku (3.7V)
Jumperkabel (nicht zwingend erforderlich, kann stattdessen auch einfach gelötet werden)
Akku Kabel (nicht zwingend erforderlich, kann stattdessen auch einfach gelötet werden)
Software

Die Software sowie die zugehörige Dokumentation für das Wetterdisplay findest du hier: https://github.com/G6EJD/ESP32-e-Paper-Weather-Display
Wenn du die Vorlagen wie in der Doku angegeben in deine IDE kopiert hast musst du für das von mir verwendete Display die Vorlage namens „Waveshare_7_5_T7“ wählen.

Druckeinstellungen

Die 3D STL Dateien findest Du hier: https://makerworld.com/de/models/133148
Du kannst das Gehäuse mit Standard Schichthöhe von 0.2mm drucken. Verwende am besten Tree Support und Gyroid Füllung.

Zusammenbau

Das Display wird mit doppelseitigem Klebeband an der Vorderseite befestigt. Der ESP32 und der Akku können in das Gehäuse eingesetzt werden. Leider ist die Ladeelektronik ebenfalls geklebt, da sie keine Aussparungen für Schrauben hat. Ich habe Heißkleber verwendet. Achte beim Zusammenschrauben darauf, das du die Schrauben nicht in die Kabel bohrst.

🤞 1x pro Monat unsere News, Tipps und Tutorials gebündelt direkt in dein Postfach!

Wir senden keinen Spam! Erfahre mehr in unserer Datenschutzerklärung.


Kommentare

11 Antworten zu „Wetter Display mit ESP32 und 3D Druck Gehäuse“

  1. Sehr geiles Projekt. Ich weiß du hast nur das Gehäuse entworfen und der Github teil gehört nicht zu dir aber wäre Cool wenn du den GitHub teil auch beschreiben könntest denn die Doku ist echt mies 🙂

  2. Hi 🙂
    Ich habe alles so wie beschrieben zusammengebaut und das Skript angepasst (richtiges Board, Region, API, …). Nach dem Kompilieren und Hochladen werden in der Konsole die heruntergeladenen Wetterdaten angezeigt und danach kommt folgender Fehler:
    „Busy Timeout!
    _PowerOn : 10001066
    Busy Timeout!
    _Update_Full : 10001036
    Busy Timeout!
    _PowerOff : 10001037
    Entering 254-secs of sleep time
    Awake for : 35.175-secs
    Starting deep-sleep period…“

    Danach passiert nichts mehr. Auf dem Waveshare-Display wird nichts angezeigt. Kann mir jemand helfen oder hat gute Tipps?

    LG

    1. Hi 🙂

      Der Fehler „Busy Timeout!“ bedeutet meistens, dass das Display nicht richtig erkannt wird. Checke zuerst die Verkabelung und die Pin-Belegung, vielleicht hat sich da ein Fehler eingeschlichen. Auch die Kabel könnten lose oder beschädigt sein. Falls das nicht hilft, probiere den Testcode von Waveshare aus, um sicherzustellen, dass das Display grundsätzlich funktioniert. Wenn das alles nichts bringt, könnte das tatsächlich auch ein Garantiefall sein.
      https://www.waveshare.com/wiki/Template:Arduino_Guides_for_SPI_e-Paper

      1. Vielen Dank für deine Nachricht. Das hat mittlerweile zum Glück alles geklappt und ich bekomme auf diversen Waveshares eine Ausgabe.

        Das führt mich auch schon zu meinem nächsten Problem: Auf meinem Waveshare 7,5“ mit 800×480 verblasst das Schwarz der angezeigten Inhalte kurz nach der Aktualisierung etwas. Ganz kurz wird es tief schwarz angezeigt und dann ist es so, als würde ca. jeder 2. Pixel wieder auf weiß umspringen. Hat jemand eine Idee woran das liegen könnte?
        Ich verwende das Skript 7_5_T7. Bei anderen Display (z.B. 7,5“ 3C 880×528 oder 2,7“ B/W 264×176) tritt der Fehler nicht auf.

        LG

        1. Hallo zusammen,

          wenn ihr das Problem mit dem verblassen des Display nach Aktualisierung habt, die Lösung ist ganz einfach….ich habe die Doku von dem ESP32 durchgelesen und da sind mit die zwei kleinen Schalter aufgefallen die sind für verschiedene Modelle von Display gedacht.
          Lösung: schiebt den Schalter 1 auf on und den zweiten auf off, danach sollte es funktionieren.

          hoffe es hilft jemanden weiter.

          1. Avatar von Sebastian

            Hat geklappt, Danke!

  3. Hallo zusammen
    das Problem liegt daran, dass die Ausgabe auf das falsche Board geschrieben wird. Die Ports haben dort eine andere Belegung. Ich gehe davon aus, dass ihr die Datei Waveshare_7_5_T7.ino in der Arduino IDE geladen habt. Dort ist default das LOLIN D32 Board mit den Anschlüssen definiert.

    Wenn ihr also wie ich euren Kommentaren entnehmen kann alles gleich gekauft habt wie beschrieben, dann habt ihr ein ESP32 e-Paper Driver Board.
    Hierzu müsst ihr auch im Sketch das ESP32 e-Paper Driver Board aktivieren.
    Also die folgenden Zeilen entsprechend ändern (Im File Waveshare_7_5_T7.ino ab Zeile 44-60).

    // Connections for e.g. LOLIN D32
    //static const uint8_t EPD_BUSY = 4; // to EPD BUSY
    //static const uint8_t EPD_CS = 5; // to EPD CS
    //static const uint8_t EPD_RST = 16; // to EPD RST
    //static const uint8_t EPD_DC = 17; // to EPD DC
    //static const uint8_t EPD_SCK = 18; // to EPD CLK
    //static const uint8_t EPD_MISO = 19; // Master-In Slave-Out not used, as no data from display
    //static const uint8_t EPD_MOSI = 23; // to EPD DIN

    // Connections for e.g. Waveshare ESP32 e-Paper Driver Board
    static const uint8_t EPD_BUSY = 25;
    static const uint8_t EPD_CS = 15;
    static const uint8_t EPD_RST = 26;
    static const uint8_t EPD_DC = 27;
    static const uint8_t EPD_SCK = 13;
    static const uint8_t EPD_MISO = 12; // Master-In Slave-Out not used, as no data from display
    static const uint8_t EPD_MOSI = 14;

    Beachtet, dass owm_credentials.h File noch entsprechend eurer Infrastruktur anzupassen. Kompilieren uploaden und dann sollte es funktionieren.
    Viele Grüsse und viel Spass
    Didi

  4. Avatar von Gerhard Stroth
    Gerhard Stroth

    Guten Tag,
    Ich habe alle Bauteile wie angegeben gekauft, jedoch bekomme ich keine Ausgabe auf dem Display. Haben sie eine Idee woran das liegen könnte?
    Mit freundlichen Grüßen
    Gerhard

  5. Avatar von Dominic

    Guten Abend,

    Ich hab das selbe Display gekauft wie angegeben, jedoch bekomm ich mit dem Waveshare_7_5_T7 keine Ausgabe auf dem Display. In der Konsole wird aber eine Ausgabe angezeigt.
    Haben sie eine Idee woran das liegen könnte?

    Mit freundlichen Grüßen

    1. Guten Abend, verwendest Du auch den ESP32 von Waveshare oder einen anderen?

      1. Ich verwende auch den ESP32, bis auf den Akku und die Ladebuchse hab ich genau das was ihr auch verwendet

Schreibe einen Kommentar

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

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.