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 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.



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.

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.

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.


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.

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.
Software- und Nutzungshinweise lesen
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.




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.