naHalt - mini DFI
Ein Mini-Abfahrtsmonitor für den Schreibtisch mit echten Fahrplandaten aus dem VMT-Netz, vom ersten Breadboard bis zu den ersten Geräten, die inzwischen bei anderen stehen.
Angelegt: 20. Juli 2026
Ein Mini-Abfahrtsmonitor für die Haltestelle, der echte Fahrplandaten aus dem VMT-Netz zeigt, vom ersten Breadboard bis zu den ersten Geräten, die inzwischen bei anderen stehen.
Die Idee
Ich arbeite im Nahverkehr und beschäftige mich privat mit Mikroelektronik und Netzwerktechnik. Aus dieser Kombination entstand naHalt: eine Mini-Version der dynamischen Fahrgastinformationsanzeigen, wie sie an echten Haltestellen hängen, so originalgetreu wie möglich, aber im Kleinformat für zuhause. Der Name verschmilzt „nah” (wie in Nahverkehr) und „Halt” (wie Bushaltestelle). Angefangen habe ich damit schon vor rund zwei Jahren, erst als reine Bastelei, ohne den Anspruch, daraus jemals mehr zu machen.
Die Planung
Bevor der erste Lötkolben heiß wurde, standen ein paar grundsätzliche Fragen im Raum: Woher kommen die Daten, wie nah am Original soll die Anzeige sein, welches Anzeige-Konzept passt, und wie kommt das Gerät ins Netz?
- Woher kommen die Daten? Das VMT (Verkehrsverbund Mittelthüringen) stellt Fahrplan- und Echtzeitdaten bereit. Die Herausforderung war, dranzukommen und sie so aufzubereiten, dass ein winziger Mikrocontroller damit umgehen kann.
- Wie nah am Original? Die echten Anzeigen an den Haltestellen in Jena kannte ich gut, und genau die wollte ich so originalgetreu wie möglich nachbilden.
- Welches Anzeige-Konzept? Ein Display, das auch aus der Ferne gut ablesbar ist, sich aber trotzdem in ein kleines Gehäuse fügt.
- Wie kommt das Gerät ins Netz? Die WLAN-Einrichtung musste auch ohne PC funktionieren, damit man das Gerät einfach zuhause anschließen und einrichten kann.
Daraus ergab sich die Grobplanung: ein WLAN-fähiger Mikrocontroller, ein gut lesbares OLED-Display, eine schlanke Firmware und eine Einrichtung, die auch ohne Technikwissen klappt.
Die Bauteile
- Seeed Studio XIAO ESP32-S3: winziger Mikrocontroller mit WLAN, dazu eine externe IPEX-Antenne für stabilen Empfang.
- SSD1309 2,42″ OLED (128 × 64 Pixel, 7-Pin-SPI): groß genug zum Ablesen, klein genug fürs Gehäuse. Erhältlich in gelb, grün, weiß und blau.
- USB-C-Stromversorgung über ein Breakout-Modul, dazu eine kleine Schutzbeschaltung (Polyfuse + Zener-Diode).
- Firmware in PlatformIO, mit WiFiManager für die Einrichtung, mDNS, NTP (Zeitzone Europe/Berlin) und OTA-Updates, damit sich die Geräte aus der Ferne aktualisieren lassen.
Die Umsetzung
Die ersten Schritte
Am Anfang stand ein Steckbrett: erst das Display zum Leuchten bringen, dann die WLAN-Verbindung, dann die erste Fahrplan-Anfrage. Dabei zeigte sich schnell ein Detail, das ich unterschätzt hatte: Das Display war zunächst schräg nach unten angewinkelt eingebaut, genau wie das Original an der Haltestelle, das man von unten schräg anschaut. Bei einer Mini-DFI auf dem Tisch schaut man aber eher von oben oder frontal drauf, die Neigung war also eher hinderlich, und ich habe auf gerade umgestellt.
Aus dem Steckbrett wurde nach und nach eine festverdrahtete Schaltung, aus dem losen Aufbau ein Gerät mit Gehäuse. Das Gehäuse habe ich komplett selbst in Tinkercad entworfen und mit meinem eigenen 3D-Drucker ausgedruckt, über mehrere Prototypen hinweg, bis Form und Größe gepasst haben. Bei der Firmware habe ich mir immer wieder von einer KI helfen lassen, vor allem bei der Fehlersuche.
Das Webinterface
Damit man das Gerät nicht neu flashen muss, um irgendetwas einzustellen, hat naHalt ein eigenes Webinterface, erreichbar über nahalt.local im Browser, ganz ohne App. Dort lässt sich die Haltestelle suchen und auswählen, zwischen den drei Anzeigemodi wechseln (eine Haltestelle, zwei gleichzeitig, oder mehrere im Wechsel), Helligkeit und automatische Abschaltzeiten einstellen, ein Sondertext als Laufschrift einrichten und ein Firmware-Update anstoßen. Genau deshalb musste die WLAN-Einrichtung ohne PC funktionieren: Sobald das Gerät im Netz ist, läuft alles Weitere über den Browser.
Vom Prototyp zum fertigen Gerät
Irgendwann kippte das Projekt von „Bastelei für mich” zu „das könnten auch andere gebrauchen”. Damit kamen neue Aufgaben dazu, die mit Löten nichts mehr zu tun hatten: eine Bedienungsanleitung auf Deutsch, eine kompakte A5-Schnellstart-Anleitung (gestaltet in Canva, mit eigenem Design), eine eigene Domain (naHalt.de) und eine Adresse für Rückfragen (support@nahalt.de), sowie ein eigener Update-Server, damit alle Geräte, die gerade bei anderen laufen, auf demselben Stand bleiben.
Herausforderungen
- Die Fahrplan-Schnittstelle. Zeiten im
HHMMSS-Format, index-basierte Verweise zwischen den Datenblöcken, Unterscheidung zwischen geplanter und tatsächlicher Abfahrt. Damit ich API-Parameter ändern kann, ohne jedes Gerät neu zu flashen, liegen die relevanten Einstellungen in einer separaten Konfigurationsdatei. - USB-C und die fehlenden Widerstände. Das verwendete USB-C-Breakout hatte keine Pull-Down-Widerstände an den CC-Leitungen. Moderne PD-Netzteile (z. B. iPad-Ladegeräte) liefern dann schlicht keinen Strom, weil ihnen der „Handschlag” fehlt. Die Lösung für bestehende Geräte: ein kleiner Adapter-Dongle mit je 5,1 kΩ gegen GND. Für die nächsten Geräte kommt ein Modul zum Einsatz, das diese Widerstände schon mitbringt.
- Zwei Displays an einer Leitung. Der Versuch, zwei Displays parallel mit identischem Inhalt zu betreiben, ist grundsätzlich machbar, aber parallele Pull-up-Widerstände halbieren den Widerstand und können die Signalflanken beim Start verschlechtern. Die SPI-Taktrate testweise zu senken, war dabei ein nützliches Diagnosewerkzeug.
Der aktuelle Stand
Fünf Geräte sind fertig gebaut und an erste Interessenten vergeben. Ich sammle strukturiertes Feedback, vor allem zu technischer Stabilität und zur Einrichtung, und die Dokumentation (Bedienungsanleitung und Schnellstart) ist fertig. Der bekannte USB-C-Fallstrick ist per Dongle gelöst, die eigentliche Ursache wird in der nächsten Bauteil-Auswahl beseitigt.
Ausblick
Ein paar Dinge stehen noch auf der Liste: eine sauberere USB-C-Versorgung bei den nächsten Geräten durch ein Modul mit vorbestückten CC-Widerständen, eine Proxy-/Middleware-Architektur auf naHalt.de, die zwischen dem ESP32 und der komplexen Fahrplan-Schnittstelle übersetzt (für die aktuelle Phase noch zu aufwendig, aber interessant, sobald es mehr Geräte gibt), und weiteres Feedback der Leute, die gerade testen, um die Einrichtung noch idiotensicherer zu machen.
Was ich gelernt habe
Die eigentliche Hürde beim Schritt vom Prototyp zum fertigen Gerät liegt selten in der Technik, sondern im Drumherum: Anleitung schreiben, Rückfragen beantworten, Updates bereitstellen, Robustheit gegenüber Netzwerken und Netzteilen, die man selbst nie getestet hätte. Und man kommt am weitesten, wenn man Randfälle früh mitdenkt, statt zu warten, bis sie zum Problem werden.
naHalt ist noch lange nicht fertig, aber aus einer Idee ist ein kleines Gerät geworden, das jetzt bei anderen Menschen auf dem Tisch steht und ihnen sagt, wann der nächste Bus fährt.