Ein Pi Pico, ein ePaper-Panel, ein Akku und etwas Python – viel mehr braucht es für die Smart-Home-Informationszentrale im handlichen Format nicht.
Menschen möchten gern über ganz verschiedene Dinge an einem Ort informiert sein. Unterwegs spielt das Smartphone für die meisten von uns dabei die zentrale Rolle. Zu Hause gibt es beispielsweise die klassischen Anzeigen der Heizungssteuerung, Alarmanlage oder Wetterstation. Um Daten aus unterschiedlichen Quellen zusammenzufassen, ohne erst verschiedene Apps aufzurufen oder an verschiedenen Orten ablesen zu müssen, eignen sich Info-Displays. Mithilfe eines Raspberry Pi Pico W bauen Sie sich ein eigenes Modell (Abbildung 1).

Abbildung 1: Ein schlankes, mobiles Info-Display findet überall Platz und arbeitet zudem ressourcenschonend.
Durch eine Hausautomationslösung fallen bereits viele nützliche Werte an. Für dieses Beispielprojekt ergänzte ich über eine Verbindung ins Internet zudem eine Wettervorhersage und Nachrichten. Darüber hinaus sollte das Gerät kompakt und mobil sein. Dazu verfügt es über einen Akku, Anzeige sowie Controller sollten entsprechend sparsam arbeiten. Da kommt der Pico W gerade recht, der sich mit dem WLAN verbindet, alle Informationen sammelt und sie auf einem kleinen Display ausgibt.
Die Bedienung hielt ich bewusst so einfach wie möglich. Drei Screens präsentieren die Themen News, Wetter und Haus; bei Bedarf verzweigen sie in Untermenüs. Diverse Aktoren, etwa aus der Hausautomation, wollten wir nicht schalten, sondern lediglich ihren Status anzeigen.
Besonders hoch priorisierte ich einen minimalen Stromverbrauch. Dementsprechend fiel die Wahl auf ein ePaper-Display des Typs Pico-Captouch-ePaper-2.9 von Waveshare. Es verfügt an der Rückseite über einen Steckplatz für den Pi Pico, was eine Touch-Bedienung zulässt. Zudem kann man den Mini-Bildschirm wie den Pico in einen Sleep-Modus versetzen. Außerdem lässt sich die Versorgung der kompletten Schaltung für längere Nichtbenutzung vom Akku trennen. Um auf Batteriewechsel verzichten zu können, setzte ich intern einen LiPo-Akku nebst Ladeelektronik ein, um das Gerät bei Bedarf via USB-Anschluss per Netzteil laden zu können.
Pico W
Als Basis dient der Pi Pico W mit seiner Python-Firmware. Im Unterschied zu den SBCs aus der Raspberry-Familie braucht der Mikrocontroller nur wenig Vorbereitung. Für die Programmierung genügt es, die MCU per USB an einen Rechner anzuschließen. In der Entwicklungsphase lässt sich der Controller von außen über eine IDE wie Thonny mit den entsprechenden Befehlen beschicken. Erst zum Abschluss übertragen Sie den fertigen Code permanent auf den Baustein.
Ein Vorteil von Mikrocontrollern gegenüber Rechnern mit Filesystem liegt in ihrer Robustheit. So laufen Sie nicht Gefahr, dass ein Speichermedium beim abrupten Ausschalten Schaden nimmt, was dem Projekt zugutekommt.
Aufbau
Der Pico W hat seinen Steckplatz an der Rückfront des ePaper-Panels. Als nützlich für den mechanischen Aufbau erweist sich bei der Touch-Variante des 2.9er-Panels dessen überstehende Front (Abbildung 2). So sparen Sie sich einen zusätzlichen Abdeckrahmen. In eine Aussparung im Gehäuse eingelassen, sieht von vorn alles ordentlich aus. Beim Einbau sollten Sie relativ genau arbeiten, um den knappen Kleberand nutzen zu können. Achten Sie bitte darauf, die empfindlichen Verbindungen von der Leiterplatte zum Anzeige-Panel nicht zu verletzen.

Abbildung 2: Dank der überstehenden Front des Panels können Sie auf einen gesonderten Abdeckrahmen verzichten.
Das Ziel des Aufbaus bestand darin, das Gehäuse so flach wie möglich zu halten. So kann man es sowohl als Tischvariante als auch als Wandaufhänger nutzen. Der Steckplatz des Pi Pico hinten auf dem ePaper zeigt sich nicht so zuträglich für eine geringe Bauhöhe. Deswegen ist es sinnvoll, den LiPo-Akku seitlich unterzubringen. Es gibt entsprechend schmale Riegel, bei denen Sie zwar etwas Abstriche bei der Kapazität machen müssen, die aber trotzdem für einige Tage Laufzeit genügen. LiPo-Akkus sind kompakt, leicht und halten vielen Hundert Ladezyklen stand – ideal für das kleine Gerät.
Die Anzahl der restlichen Komponenten bleibt überschaubar (siehe Kasten “Bauteilliste”). Es braucht noch Platz für die Ladeelektronik, die im Übrigen auch als DC/DC-Wandler für die Konvertierung der 3,7 Volt des LiPo-Akkus auf 5 Volt Betriebsspannung fungiert. Außerdem integrierten wir einen gesonderten Ein-Aus-Schalter. Die am ePaper befindlichen Taster wollte ich nicht nutzen, sondern das Gerät im laufenden Betrieb ausschließlich per Touch-Eingabe bedienen. So musste ich letztlich nur noch eine Öffnung für den USB-Ladeanschluss vorsehen.
Bauteilliste
- Raspberry Pi Pico W
- ePaper-Panel (Waveshare Pico-Captouch-ePaper-2.9)
- LiPo-Akku (1000 mAh)
- Ladeelektronik mit Pimoroni Pico LiPo Shim
- alternative 5V-Stromversorgung
- Gehäuse
- Druckschalter
- Verkabelung, Installationsmaterial
Steuerung
Die Steuerung der Schaltung übernimmt ein Skript auf dem Pico. Wie gewohnt öffnet sich vor Anlegen der Versorgungsspannung bei einem Druck auf die BOOTSEL-Taste des Pico ein Fenster im Dateimanager, in dem Sie Ihren Programmtext platzieren. Das funktioniert in Linux- wie in Windows-Umgebungen problemlos. Die Python-Firmware erwartet eine Datei namens main.py, die bei uns bereits alle benötigten Libraries enthält.
Wenn Sie nicht jedes Mal manuell zwischen Massenspeicher- und Programmiermodus umschalten möchten, dürften Sie eine Entwicklungsumgebung wie Thonny zu schätzen wissen (Abbildung 3). Auf den ersten Blick wirkt sie relativ einfach, entpuppt sich jedoch beim Integrieren verschiedener Python-Interpreter als überaus komfortabel – beim Pico mein absolutes Lieblings-Tool.

Abbildung 3: Die Thonny-IDE eignet sich hervorragend zum Einbinden verschiedener Python-Interpreter.
Für das Projekt benötigt das Info-Display einen Internet-Zugriff. Dabei empfiehlt es sich, nach der ersten Inbetriebnahme über die Einstellungen des heimischen Routers das Info-Display (beziehungsweise den Pico) als legitimes Gerät im WLAN anzumelden und ihm eine permanente lokale IP-Adresse sowie einen eindeutigen Namen zuzuweisen. In der Testphase genügt eine USB-Verbindung vom PC zum Pico, der das aufgesteckte Display zudem mit Strom versorgt.
Das Skript stellt nun drei Bildschirme aus unterschiedlichen Quellen bereit. NEWS führt Schlagzeilen überregionaler Nachrichtenanbieter auf, WETTER bedient sich bei den Wetterdaten des Deutschen Wetterdiensts. ZU HAUSE präsentiert Werte vom heimischen Server.
Zur weiteren Verarbeitung importieren Sie bei den News und für die Wettervorhersage Daten in den Formaten XML und JSON. Im Python-Skript gelingt das auf einfache Art und Weise, ohne dass Sie zusätzliche Klassen mit aufwendigen Importfiltern einbauen müssen. Wechselt der Anbieter, zieht das freilich entsprechende Anpassungen nach sich.
Bei den Werten rund ums Haus, wie den Temperaturen der einzelnen Zimmer, des Außenbereichs oder des Aquariums, stellt meine Hausautomationslösung der Einfachheit halber ihre Daten in Files auf dem eigenen Server aufbereitet zur Verfügung. Ich muss sie nur noch auslesen.
ePaper-Programmierung
Als ePaper bezeichnet man nicht nur die elektronische Ausgabe einer gedruckten Zeitschrift. In der Elektronik funktionieren ePaper- oder eInk-Displays auf Basis elektrophoretischer “Tinte”. Da sie nicht selbst leuchten, lassen sie sich bei genügend Licht von außen am besten ablesen.
Eine wesentliche technische Eigenschaft solcher Anzeigen: Sie benötigen nur bei Veränderungen Energie. Im Ruhezustand nimmt lediglich die Ansteuerung einen fast zu vernachlässigenden Strom auf, was ePaper-Displays für mobile und batteriebetriebene Lösungen prädestiniert. Der Haken dabei: Beim Löschen und Aktualisieren der Inhalte müssen Sie vor allem bei großen Displays längere Zeit warten, oft treten Flackereffekte auf. Nur wenige Modelle beherrschen eine partielle Aktualisierung, die solche Probleme teilweise aufhebt.
So eignen sich ePaper- oder eInk-Displays vor allem zur Anzeige von selten wechselnden Inhalten (Abbildung 4). Kein Problem für unser Projekt, da wir Nachrichten, Wetter oder Temperaturen nicht im Minutentakt abfragen müssen. Eine ständige Zeitanzeige braucht das Info-Display ebenfalls nicht. Die monochrome Anzeige beherrscht außerdem einen partiellen Refresh – gute Voraussetzungen für angenehmes Ablesen also.
Wie bei anderen Modulen mit abweichender Technik (OLED, LCD) verlangt das ePaper-Display unter MicroPython einen entsprechenden Treiber, der einfache Methoden zur Ansteuerung bereitstellt, etwa zur Ausgabe von Text und Grafik. Er taucht als Klasse EPD_2in9_Landscape im Python-Code auf. Da das Display über keine in die Hardware eingebauten Schriften verfügt und der Pico keinen externen Speicher anspricht, sind bereits alle Font-Definitionen in den Quellcode integriert.
Eine Besonderheit des Panels verbirgt sich noch in der Eingabe per Fingertipp. Genauere Anleitungen dazu finden Sie in den Samples von Waveshare und auf Github. IRQ-gesteuert empfangen Sie die notwendigen Koordinaten und nutzen sie anschließend für die weitere Abarbeitung, um im Programmablauf verschieden verzweigen zu können.
Bedienung
Die Bedienung des Info-Displays wollte ich so einfach wie möglich halten. Nach dem Einschalten gibt die Anzeige über die erfolgreiche Verbindung ins Internet und zu den Diensten Auskunft. Danach startet der erste Bildschirm.
Von ihm aus gelangen Sie durch einmaliges Antippen zum jeweils nächsten Bildschirm (Abbildung 5). Sobald Sie alle passiert haben, fragt das Gerät im – nun geteilten – Bildschirm, ob Sie es ausschalten möchten. An dieser Stelle scrollen Sie entweder von vorn weiter oder versetzen das Display samt Pi Pico in den Sleep-Modus. Den steuert das Gerät auch dann an, wenn länger keine Eingabe erfolgt. Nach dem Aus- und Wiedereinschalten über den äußeren Schalter startet die Abarbeitung erneut.
Fazit
Beim mir liegt das Info-Display auf dem Arbeitstisch. Schließlich möchte ich es bequem in Blickweite haben, wo ich mich oft aufhalte. Seit einigen Tagen in Betrieb, hat es sich schon bewährt, gerade weil ich mich ertappe, immer wieder einen kurzen Blick darauf zu werfen.
Wie so häufig gibt es Verbesserungspotenzial. Ich möchte weitere Quellen rund um Haus und Web zur Anzeige bringen und eine Icon-Leiste integrieren, um alles noch interessanter und die Bedienung komfortabler zu machen.
Unter https://github.com/swenae/infodisplay können Sie den aktuellen Stand der Software und ausführliche Informationen rund um das Projekt abrufen. (csi)
Der Autor
Swen Hopfe arbeitet bei einem mittelständischen Unternehmen mit Schwerpunkt Chipkarte und NFC. Wenn er nicht gerade beim Fotografieren, in der Natur oder im Garten unterwegs ist, beschäftigt er sich mit Themen rund um den RasPi, IoT und Hausautomation.







