Moderne, übersichtliche Wetterstation für das Cheap Yellow Display (ESP32-2432S028R, 2,8" 320×240 Touch) – mit kantengeglätteten Schriften, gezeichneten Wettersymbolen, Wischgesten und einem Haufen versteckter Späße.
Die Bilder stammen direkt aus dem Firmware-Code (Host-Simulator, siehe unten).
- 4 Ansichten: Jetzt · Nächste 24 Stunden · 5-Tage-Vorhersage · Sonne & Wind
- Einrichtung per Handy: WLAN, Passwort und Stadt – kein Code anfassen
- Wetterdaten von Open-Meteo – kostenlos, kein API-Schlüssel, Aktualisierung alle 10 Minuten
- Hintergrund passt sich der Wetterlage und Tageszeit an (Sonne, Wolken, Regen, Gewitter, Schnee, Nebel, Nacht)
- Uhrzeit per NTP inkl. Sommerzeit, deutsches Datum
- Nachts automatisch gedimmt (beim Antippen kurz hell)
- Nach 60 s ohne Berührung zurück zur Hauptansicht
- Flimmerfreies Zeichnen über einen Streifen-Puffer (nur 38 KB RAM)
- Umlaute und
°in allen Schriften (Outfit, SIL Open Font License)
| Sonnig | Regen | Gewitter | Schnee | Nacht |
|---|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
Unter Releases → Aktuelle Firmware die passende Datei laden:
cyd-wetter-cyd.bin– CYD mit einem Micro-USB-Anschlusscyd-wetter-cyd2usb.bin– CYD mit USB-C und Micro-USB
- CYD per USB anschließen (Datenkabel!).
- https://espressif.github.io/esptool-js/ öffnen.
- Baudrate 921600, auf Connect klicken und den Port wählen (Linux:
ttyUSB0, Windows:COM…). - Bei Flash Address
0x0eintragen, die.bin-Datei auswählen. - Program klicken und warten, bis „Leaving…“ erscheint. Dann die RST-Taste am CYD drücken.
Linux (Ubuntu, Zorin, Mint …) einmalig vorbereiten:
sudo apt remove brltty && sudo usermod -aG dialout $USER, danach neu anmelden.
- Das CYD zeigt „Einrichtung“ und öffnet ein eigenes WLAN CYD-Wetter.
- Handy mit diesem WLAN verbinden – die Einrichtungsseite öffnet sich (sonst
192.168.4.1im Browser). - Configure WiFi → dein WLAN wählen, Passwort und Stadt eintragen → Save.
- Das CYD verbindet sich, sucht den Ort und zeigt das Wetter.
Passwort und Ort werden nur auf dem Gerät gespeichert. Ändern kannst du sie jederzeit: Stadtnamen oben links 2 Sekunden gedrückt halten.
- VS Code + Erweiterung PlatformIO IDE installieren und dieses Repository öffnen.
- Optional
include/config.hanpassen (Zeitzone, Helligkeit, Geburtstag, Ton …). - In PlatformIO die Umgebung
cydodercyd2usbwählen und Upload klicken – oder im Terminalpio run -e cyd -t upload.
Jeder Push baut die Firmware außerdem automatisch per GitHub Actions und aktualisiert das Release.
| Geste | Wirkung |
|---|---|
| Nach links/rechts wischen | nächste / vorige Ansicht |
| Linkes / rechtes Drittel antippen | vorige / nächste Ansicht |
| Punkte unten | zeigen, wo du bist |
| Stadtnamen 2 s gedrückt halten | WLAN und Stadt ändern |
Spoiler! Erst selbst suchen?
| Auslöser | Was passiert | |
|---|---|---|
| 🐸 Wetterfrosch | 5× schnell aufs Wettersymbol tippen | Der Frosch klettert die Leiter hoch – je besser das Wetter, desto höher – und gibt eine Bauernregel zum Besten |
| 💧 Tropfenfänger | Uhrzeit 2 s gedrückt halten | Minispiel: Regentropfen mit dem Eimer fangen (Finger steuert), Sonnen = +5, Blitze kosten ein Leben. Highscore bleibt gespeichert |
| 🟩 Matrix-Wetter | Ecken antippen: oben links → oben rechts → unten rechts → unten links | Grüner Zeichenregen mit „Wake up, Neo …“ |
| 🕜 Leet Time | um 13:37 Uhr | Die Uhr leuchtet grün und flackert |
| 🍬 Unwetterwarnung | am 1. April | „Ab 14 Uhr regnet es Gummibärchen.“ … April, April! |
| 🎅 Feiertage | 24.–26.12. / 31.10. / Neujahr 0:00 | Weihnachtsmütze aufs Wettersymbol, Kürbis neben der Stadt, Feuerwerk |
| 🎂 Geburtstag | BIRTHDAY_* in config.h setzen |
Konfetti, Glückwunsch und „Happy Birthday“ aus dem Lautsprecher |
| 😄 Flachwitz | BOOT-Taste kurz drücken | Zufälliger (Wetter-)Flachwitz, nochmal drücken = nächster |
| 🪩 Disco-Wetter | BOOT-Taste 1 s halten | RGB-LED blinkt bunt, das Display pulsiert, der Lautsprecher dudelt |
| 👀 Licht aus | Lichtsensor vorne abdecken | „Huch! Wer hat das Licht ausgemacht?“ |
| 💬 Sprüche | immer | Unter der Wetterlage steht ein passender Spruch |
| Problem | Lösung |
|---|---|
| Farben falsch / invertiert | andere Umgebung (cyd ↔ cyd2usb) probieren oder in platformio.ini -DTFT_INVERSION_ON=1 bzw. OFF tauschen |
| Bild gespiegelt oder weiß | Umgebung cyd2usb testen; bei manchen Boards hilft -DSPI_FREQUENCY=40000000 |
| Tipps landen daneben | TOUCH_DEBUG true setzen, Rohwerte im seriellen Monitor ablesen und TOUCH_X/Y_MIN/MAX anpassen; ggf. TOUCH_FLIP_X/Y |
| Einrichtung meldet „Verbindung fehlgeschlagen“ | Passwort prüfen – der ESP32 kann nur 2,4-GHz-WLAN |
| „Ort nicht gefunden“ | Nur den Ortsnamen eingeben, z. B. Leipzig oder Bad Honnef |
| Board wird beim Flashen nicht gefunden | Datenkabel verwenden; Linux: brltty entfernen, Gruppe dialout (siehe oben) |
| Lautsprecher zu nervig | SOUND_ENABLED false |
| „Licht aus“ löst zu oft / nie aus | LDR_DARK_DELTA anpassen oder LDR_EGG_ENABLED false |
include/config.h Deine Einstellungen
src/main.cpp Einrichtung (WLAN + Ort), Zeit, Wetterabruf, Navigation, Dimmen
src/ui.cpp Die vier Ansichten + Startbildschirm
src/icons.cpp Gezeichnete Wettersymbole
src/gfx.cpp Streifen-Rendering, kantengeglättete Formen, Text
src/weather.cpp Open-Meteo-Parser, WMO-Codes → deutsche Texte, Sprüche
src/eggs.cpp Alle Easter Eggs
src/input.cpp Touch-Gesten und BOOT-Taste
src/hw.cpp RGB-LED, Lautsprecher, Lichtsensor, Speicher
src/fonts/ Erzeugte Schriften (tools/make_fonts.py)
sim/ Host-Simulator für Screenshots
pip install pillow
python3 tools/make_fonts.py
Größen, Gewichte und Zeichensatz stehen oben im Skript.
sim/run.sh kompiliert den Zeichen-Code der Firmware (UI, Symbole, Easter Eggs, JSON-Parser) für den PC gegen eine kleine TFT_eSPI-Nachbildung und schreibt Screenshots nach sim/build/. Voraussetzung: g++, Python mit Pillow und die ArduinoJson-Quellen (Pfad per ARDUINOJSON=.../src).
Code: MIT. Schrift Outfit: SIL Open Font License (tools/Outfit-OFL.txt).

















