Selbstgebaut / Raspberry & Arduino

Raumklima-Anzeige mit Basteldraht: Wie schwer kann es schon sein?

Raumklima-Anzeige mit Basteldraht: Wie schwer kann es schon sein?

ZUM NACHBAUEN

Das Projekt auf einen Blick

Komplexität
Etwas Erfahrung
Löten
Erforderlich
3D-Druck
Optional
Projektstand
Nachbaubar

Hardware & Voraussetzungen
D1-Mini-kompatibles ESP8266-Board (4 MB Flash, Micro-USB), GMT130-V1.0 ST7789 IPS-TFT (1,3 Zoll, 240 × 240, sieben Pins ohne CS), GY-BME/P280 mit echtem BME280, leitfähiger lötbarer Basteldraht und USB-Versorgung.

In diesem Artikel
  1. Was das kleine Ding macht
  2. Die drei Komponenten
  3. D1 Mini mit ESP8266
  4. Display: GMT130-V1.0 mit ST7789
  5. Sensor: BME280 auf GY-BME/P280-Modul
  6. Erst mal den Draht überreden
  7. Was kommt wohin?
  8. Display an D1 Mini
  9. BME280-Modul an D1 Mini
  10. Drei Bauteile. Reichlich Gelegenheit zum Fluchen.
  11. Die Software dazu
  12. Aus der Ferne ganz hübsch

Ein D1 Mini, ein Temperatursensor und ein kleines Display. Drei Platinen, ein bisschen Draht, ein paar Lötstellen. Wie schwer kann es schon sein?

Ich wollte mir eine kleine Anzeige für Temperatur und Luftfeuchte bauen. Diesmal allerdings ohne 3D-Druck. Ich mag es, wenn man Elektronik noch sehen kann: die kleinen Platinen, die Bauteile und die Verbindungen dazwischen. Also sollte der Draht gleich zwei Aufgaben übernehmen: Strom und Signale transportieren und die Komponenten in Position halten.

Die Idee war überschaubar. Die Fummelarbeit leider weniger.

Was das kleine Ding macht

Auf dem Display stehen Temperatur und relative Luftfeuchte. Große weiße Zahlen auf schwarzem Hintergrund, dazu farbige Einheiten und ein paar diagonale Streifen in den Ecken. Die Werte werden alle zehn Sekunden aktualisiert. Nach dem Start kommt die erste Messung schon nach etwa zwei Sekunden.

Die Farben geben eine grobe Orientierung: links zur Temperatur, rechts zur Luftfeuchte, wobei dort auch der aus Temperatur und Feuchte berechnete Taupunkt einfließt. Das ist eine eigene Darstellungshilfe und keine Schimmelprognose. Die drei kleinen Blöcke in Rot, Grün und Blau zwischen den Zahlen sind dagegen einfach nur Deko. Ein bisschen Retro durfte sein.

Die Firmware läuft vollständig lokal. WLAN ist abgeschaltet, ein Konto oder irgendeine Cloud braucht es nicht. Strom bekommt der Aufbau über den USB-Anschluss des D1 Mini. Der Sensor kann außerdem Luftdruck messen; den gibt die Software zur Diagnose seriell aus, auf dem Display bleiben nur die beiden Werte, die ich dort haben wollte.

Die drei Komponenten

Gerade bei solchen kleinen Modulen lohnt es sich, genauer hinzuschauen. „D1 Mini“, „ST7789“ oder „BME280“ im Angebotstitel allein reichen für einen möglichst identischen Nachbau noch nicht.

D1 Mini, violettes BME280-Sensormodul und quadratisches IPS-Display auf dem Tisch.
Drei Platinen: D1 Mini, Sensormodul und das kleine IPS-Display.

D1 Mini mit ESP8266

Das verwendete Board ist ein D1-Mini-kompatibles ESP8266-Board mit Micro-USB-Anschluss. Auf der Abschirmung steht ESP8266MOD; die Platine ist als D1 mini beschriftet. Die Firmware wird in PlatformIO für d1_mini gebaut: ESP8266, 80 MHz und 4 MB Flash.

Wichtig beim Nachkaufen: Es geht hier um den ESP8266 und die dazugehörige D1-Mini-Pinbelegung. Ein ähnlich aussehendes Board mit ESP32, ESP32-C3 oder einem anderen Chip kann diese BIN-Datei nicht verwenden. Die genaue Revision meines Boards ist bislang nicht eindeutig belegt. Bei aktuellen Angeboten deshalb auch USB-Anschluss und Platinenlayout mit dem Foto vergleichen. Die WEMOS-Dokumentation beschreibt die Boardfamilie; das dort gezeigte aktuelle Modell ist nicht exakt meine ältere Platine.

Display: GMT130-V1.0 mit ST7789

Hier kommt ein 1,3-Zoll-IPS-TFT mit 240 × 240 Pixeln zum Einsatz. Die Platinenbeschriftung lautet GMT130-V1.0, der Displaycontroller ist ein ST7789. Entscheidend sind die sieben Anschlüsse: GND, VCC, SCK, SDA, RES, DC und BLK. Einen herausgeführten CS-Anschluss hat dieses Modul nicht. Modell und Anschlüsse sind auch in der Herstellerbeschreibung zum GMT130-V1.0 aufgeführt.

Das Display hängt per SPI am ESP. Lasst euch von SDA und einer möglichen Beschriftung SCL statt SCK nicht irritieren: Am Display sind damit hier SPI-Daten und SPI-Takt gemeint. Ein anderes ST7789-Modul mit anderem Bildausschnitt, anderer Pinbelegung oder zusätzlichem CS ist nicht automatisch ein passender Ersatz für diesen Aufbau.

Sensor: BME280 auf GY-BME/P280-Modul

Der Sensor sitzt auf einer kleinen violetten Platine mit den sechs Anschlüssen VCC, GND, SCL, SDA, CSB und SDO. Das vorhandene Modul trägt die Beschriftungen GY-BME/P280 und SAMIROB. Für die Anzeige von Temperatur und Luftfeuchte braucht ihr darauf einen echten BME280. Der BME280 von Bosch misst zusätzlich Luftdruck.

Nicht verwechseln mit dem BMP280: Der misst Temperatur und Luftdruck, aber keine Luftfeuchte. Die Platinenbeschriftung allein unterscheidet die Varianten nicht zuverlässig. Die Software prüft deshalb die Chip-ID: 0x60 steht hier für BME280, 0x58 für BMP280. Im dokumentierten Test dieses Projekts wurde ein BME280 erkannt. Mit einem BMP280 läuft die Temperaturanzeige weiter, bei der Feuchte erscheinen Striche und ein Hinweis.

Einzelaufnahme des blauen D1 Mini mit ESP8266MOD, Micro-USB-Anschluss und beschrifteten Pins.
D1 Mini mit ESP8266 und Micro-USB-Anschluss.
Vorderseite des quadratischen GMT130-V1.0-Displays mit schwarzer Anzeigefläche und sieben Anschlüssen.
GMT130-V1.0: 1,3 Zoll, 240 × 240 Pixel, ST7789 und sieben Anschlüsse ohne CS.
Einzelaufnahme des violetten Sensormoduls mit dem kleinen metallischen Sensor und zwei Befestigungslöchern.
BME280-Sensormodul für Temperatur, relative Luftfeuchte und Luftdruck.

Dazu kommen ein USB-Datenkabel, eine passende USB-Stromversorgung, Lötkolben, Lot, etwas Flussmittel, Seitenschneider, ein Multimeter und natürlich der Draht. Eine Gehäusedatei gibt es diesmal ausnahmsweise nicht.

Erst mal den Draht überreden

Den Basteldraht habe ich mir bei meiner Frau besorgt. Bevor er als Leiter und Halterung zum Einsatz kam, habe ich mit dem Multimeter geprüft, ob er vernünftig leitet. Wenn ihr ebenfalls Draht aus irgendeiner Bastelkiste nehmt: Am stromlosen Draht Durchgang und Widerstand prüfen. Ein Piepen allein sagt noch nicht viel darüber aus, wie gut sich das Material als Verbindung eignet. Auch Beschichtungen und die Lötbarkeit spielen eine Rolle.

Silberfarbener Basteldraht, dicht um einen schmalen Holzträger gewickelt.
Der Basteldraht aus der Bastelkiste meiner Frau – vor dem Geradeziehen.

Gerade war der Draht natürlich auch nicht. Also ging es in den Keller: mit dem Akkuschrauber, unter Zug und mit Drehungen nach rechts und links habe ich ihn begradigt. Aus einem Stück Basteldraht wurde so zumindest etwas, mit dem man halbwegs gerade Verbindungen bauen konnte. So weit die Theorie.

Ein Stück Basteldraht ist im Bohrfutter eines grünen Akkuschraubers eingespannt.
Zum Begradigen habe ich den Basteldraht in den Akkuschrauber eingespannt.

Bei rotierendem Draht gehören eine Schutzbrille und Abstand zu Händen, Kleidung und Gesicht dazu. Den Draht nicht mit der Hand umwickeln oder am rotierenden Ende festhalten.

Was kommt wohin?

Weil die Verbindungen gleichzeitig den Aufbau tragen, wollte ich die Pinbelegung vor dem Löten sauber festlegen. Ein vertauschtes Kabel steckt man schnell um. Einen verlöteten Drahtaufbau umzubauen ist eine andere Beschäftigung.

Die folgenden Tabellen zeigen die Belegung der aktuellen Firmware. Alle Module werden vom 3V3-Pin des D1 Mini versorgt und teilen sich Masse. Die Bezeichnungen D0, D1 und so weiter sind die Aufdrucke auf dem Board; die GPIO-Nummern stehen zusätzlich dabei.

Display an D1 Mini

Display GMT130-V1.0

D1 Mini

Funktion

GND

G / GND

Masse

VCC

3V3

Versorgung mit 3,3 V

SCK, teils SCL beschriftet

D5 / GPIO14

SPI-Takt

SDA

D7 / GPIO13

SPI-Daten / MOSI

RES

RST

Gemeinsamer Hardware-Reset

DC

D0 / GPIO16

Daten-/Befehlsauswahl

BLK

3V3

Hintergrundbeleuchtung dauerhaft an

BME280-Modul an D1 Mini

Sensor GY-BME/P280

D1 Mini

Funktion

VCC

3V3

Versorgung mit 3,3 V

GND

G / GND

Masse

SCL

D1 / GPIO5

I²C-Takt

SDA

D2 / GPIO4

I²C-Daten

CSB

bei mir nicht verdrahtet*

I²C-Auswahl; Modulhinweis beachten

SDO

bei mir nicht verdrahtet*

Adressauswahl; Modulhinweis beachten

Die SDA-Leitungen von Display und Sensor werden also nicht miteinander verbunden. Das Display nutzt SPI, der Sensor I²C. Die Firmware erwartet den Sensor auf 0x76.

* CSB und SDO habe ich bei meinem Modul tatsächlich freigelassen. Das kannte ich bereits aus einem anderen Projekt, und auch hier funktioniert der Sensor damit. Zwei Drahtverbindungen weniger kamen mir bei dieser Konstruktion ganz gelegen. Die Tabelle zeigt also meinen tatsächlichen Aufbau mit nur vier Verbindungen zum Sensormodul.

Für den Nachbau gehört allerdings ein Unterschied dazu: Das BME280-Datenblatt beschreibt den Sensorchip. Für I²C muss CSB dort HIGH sein, und SDO braucht einen definierten Pegel für die Adresse. Zusätzliche Drähte sind entbehrlich, wenn die Modulplatine diese Pegel bereits festlegt. Wie das auf meinem Modul genau gelöst ist, habe ich nicht elektrisch geprüft. Bei einer anderen Variante deshalb die Modulbeschaltung prüfen und nötigenfalls CSB mit 3V3 sowie SDO mit GND verbinden; Letzteres wählt die von der Firmware erwartete Adresse 0x76.

Die Tabellen gehören zu genau dieser Konfiguration: keine 5-V-Signale an Display oder Sensor, BLK hier an 3V3 und Display-RES an RST. Das Display hat keinen CS-Pin, deshalb ist auf diesem SPI-Bus in diesem Aufbau kein weiteres Gerät vorgesehen. Falls euer D1 Mini einen Deep-Sleep-Jumper zwischen D0 und RST besitzt, muss er offen sein: D0 wird bereits als DC-Leitung gebraucht. Die Boot-Pins D3, D4 und D8 bleiben extern unbeschaltet. Warum deren Pegel beim Start wichtig sind, erklärt die ESP8266-Dokumentation von Espressif.

Rückseite des Displaymoduls mit den Aufdrucken GMT130-V1.0, 240 × 240 und ST7789; oben sitzt ein Schaumstoffpolster.
Auf der Displayrückseite stehen Modell, Auflösung und Controller. Die genaue Platinenvariante ist für den Nachbau wichtig.
Rückseite des violetten GY-BME/P280-Moduls mit den Aufdrucken VCC, GND, SCL, SDA, CSB und SDO.
Die Sensoranschlüsse im Detail: VCC, GND, SCL, SDA, CSB und SDO.
Verdrahtungsplan V2 – mit BME-ErgänzungPDF herunterladen

Drei Bauteile. Reichlich Gelegenheit zum Fluchen.

Zuerst habe ich die Drähte an Display und Sensor befestigt und versucht, das Ganze auf das D1 Mini zu setzen. Mehrere Drahtenden gleichzeitig ins richtige Loch zu bekommen war deutlich fummeliger als gedacht. Einfacher wurde es andersherum: erst die Drähte am D1 Mini festlöten, danach Display und Sensor aufsetzen und verbinden.

Die Anschlusslöcher an Display und Sensor sollten dafür frei von Lot sein, damit sich die Platinen über die Drahtenden schieben lassen. Vorhandene Stiftleisten vorher entfernen und die Löcher mit Entlötlitze oder Entlötpumpe freimachen. Dabei nur so viel Hitze wie nötig – die Lötaugen sollen schließlich dranbleiben.

Zwischenstand beim Bau von Skinny Temp: Display, D1 Mini und Sensor sind mit blanken Drähten verbunden und werden beim Löten mit einer Zange gehalten.
Die erste Bauphase: Der Aufbau wird ausgerichtet und verlötet, bevor er seine endgültige Form bekommt.

Plant möglichst direkte Wege zwischen GPIOs und Modulanschlüssen. Das spart Biegungen, Kreuzungen und Gefummel. Wer auf kleine Drahtskulpturen Bock hat, kann die Umwege natürlich mit einplanen.

Vor dem Einschalten den Aufbau mit dem Plan vergleichen und stromlos auf ungewollte Verbindungen prüfen. Blanke Drähte dürfen sich nur berühren, wo sie elektrisch verbunden sein sollen.

Die Software dazu

Die Firmware läuft lokal auf dem ESP8266 und aktualisiert die Werte alle zehn Sekunden. Sie überträgt nur geänderte Pixelbereiche, damit die Zahlen ruhig bleiben. Fehlt der Sensor, erscheinen Striche; die Software versucht die Erkennung erneut.

Der eigene Code steht unter MIT: Ihr dürft ihn verwenden, verändern und weitergeben, solange Lizenz- und Urheberhinweis erhalten bleiben. Die eigenen Lizenzen von Bibliotheken und Schrift liegen dem Download bei.

Das Paket skinny-temp-1.0.0.zip enthält Quellcode, fertige Firmware, Verdrahtungsplan und Lizenzhinweise. Die BIN ist für ESP8266-D1-Mini-Boards mit 4 MB Flash und die oben beschriebene Verdrahtung gebaut.

Skinny Temp 1.0.0 – Quellcode und Firmware
Software- und Nutzungshinweise lesen
Skinny Temp in der Firmware-Werkstatt installieren ↗

Zum Selbstbauen nutzt ihr PlatformIO mit der Umgebung d1_mini. Build- und Flashanleitung samt Toolchain-Hinweisen stehen in der README im Paket. Beim Flashen wird vorhandene Firmware ersetzt; wichtige Daten vorher sichern.

Aus der Ferne ganz hübsch

Sichtbare Platinen und ein paar Drähte, die alles zusammenhalten: Die Idee gefällt mir nach wie vor. Handwerklich ist sie mir nur so halb geglückt. Aus der Ferne ganz hübsch, aus der Nähe erkennt man dann auch die Handarbeit.

Das endgültige Zurechtbiegen würde ich bis ganz zum Schluss aufheben. Display und Sensor habe ich erst nach dem Funktionstest etwas nach unten gebogen. Solange noch alles gut erreichbar ist, lässt sich ein Draht deutlich angenehmer tauschen.

Der fertige Skinny-Temp-Aufbau schräg von oben, mit sichtbarem D1 Mini, Display und dem auf vier Drähten sitzenden Sensormodul in blauem Licht.
Von schräg oben sieht man, wie der Draht die Platinen verbindet und in Position hält.

DATEIEN FÜR DEN NACHBAU

Alle Downloads

  • Verdrahtungsplan V2 – mit BME-Ergänzung
  • Skinny Temp 1.0.0 – Quellcode und Firmware
    Software- und Nutzungshinweise lesen

AKTUELLE FIRMWARE

Version 1.0.0

Raumklima-Anzeige für ESP8266 D1 Mini, GMT130-V1.0 und BME280.

Zur Installation ↗

AUS DER WERKSTATT

Erfahrungen beim Nachbauen

  • Von Torsten getestet

    Für mich war es einfacher, die Drähte zuerst am D1 Mini festzulöten und danach Display und Sensor aufzusetzen. Die Anschlusslöcher der Module dafür offen und frei von Lot halten.

  • Von Torsten getestet

    Basteldraht vor der Verwendung am stromlosen Stück auf Leitfähigkeit und Widerstand prüfen. Das endgültige Zurechtbiegen erst nach dem Funktionstest vornehmen.

  • Von Torsten getestet

    Am vorhandenen GY-BME/P280-Modul habe ich nur VCC, GND, SCL und SDA verbunden; CSB und SDO blieben frei. Der Aufbau funktioniert damit. Die interne Modulbeschaltung wurde nicht elektrisch geprüft; beim Nachbau muss sie die für I²C und die Adresse erforderlichen Chippegel sicherstellen.

IM GESPRÄCH

Deine Gedanken zum Projekt

Schreib einen Kommentar

Ich lese jeden Kommentar vor der Veröffentlichung. Deine E-Mail-Adresse bleibt privat. Bitte schreibe keine vertraulichen Angaben in den Kommentartext.