ReferenzenMaker Lab

LoRa-Mesh auf dem Bürodach

Nachrichten ohne Internet. Wir haben eigene MeshCore-Clients gebaut, Gehäuse gedruckt und einen Solar-Repeater aufs Dach in Saarbrücken gesetzt. Hier steht, wie du das nachbaust.

HardwareLoRaMeshCore3D-Druck
entfernter Repeater am ersten Abend
45 km
Frequenzband EU
868 MHz
Material pro Client
~55 €

Warum ein eigenes Funknetz?

Wenn Strom, Mobilfunk oder Internet ausfallen, sind die meisten Geräte stumm. LoRa (Long Range) ist ein Funkverfahren, das mit sehr wenig Energie kleine Datenpakete über viele Kilometer schickt. Mit MeshCore wird daraus ein Mesh-Netz: Jeder Repeater reicht Nachrichten weiter, bis sie ankommen. Kein Provider, keine SIM-Karte, keine Cloud.

Wir wollten wissen, wie weit man damit im Saarland kommt. Also haben wir zwei eigene Clients gebaut und einen solarbetriebenen Repeater auf unser Bürodach in der Europaallee gesetzt.

  1. Funk

    868 MHz im lizenzfreien SRD-Band, Nachrichten Ende-zu-Ende verschlüsselt.

  2. Repeater

    Solarbetrieben und wetterfest auf dem Dach. Reicht alles weiter, was er hört.

  3. Geräte

    ESP32 mit OLED, GPS und Bluetooth. Gekoppelt ans Handy über die MeshCore-App.

Making-of — vom CAD über Druck und Lötkolben bis aufs Dach.

MeshCore statt Meshtastic

Angefangen haben wir mit Meshtastic, dem bekannteren der beiden Projekte. Ein Blick auf die Abdeckung hat uns dann umgestimmt: Im Saarland ist MeshCore deutlich weiter verbreitet. Die beiden Firmwares sind nicht kompatibel, laufen aber auf derselben Hardware. Der Umstieg war also nur ein neuer Flash.

Für MeshCore spricht außerdem das Routing: Nachrichten laufen gezielt über bekannte Repeater, statt das ganze Netz zu fluten. Das hält den Kanal ruhiger und skaliert besser, wenn viele mitmachen. Dazu kommt eine klare Rollentrennung: Companions sind die Handgeräte, die du per Bluetooth mit dem Handy koppelst. Repeater stehen fest und leiten nur weiter.

Hardware-Liste

Genau diese Teile haben wir bestellt. Preise Stand Oktober 2026, sie schwanken je nach Händler.

Client (Handgerät)4 Teile
  • 1×diymore ESP32 LoRa V4 ↗ESP32-S3, 16 MB Flash, 863–928 MHz, L76-GNSS-Modul. LoRa- und GPS-Antenne liegen bei. Formfaktor wie Heltec V3/V4.36,98 €
  • 1×18650-Akkupack mit Stecker ↗Einzelzelle 3,7 V / 2600 mAh mit Schutzschaltung, Kabel und Stecker fürs Board13,99 €
  • 1×Gedrucktes Gehäusezwei Hälften, siehe untenFilament
  • 4×Schrauben M2 × 9 mmhalten die beiden Gehäusehälften zusammen
Summeca. 55 €
Alle Einzelteile eines Clients ausgelegt — Gehäusehälften, Board, Akku, Antenne, Kabel und Schrauben
Alles, was in einem Client steckt.

Die mitgelieferte Antenne reicht völlig, einen zusätzlichen SMA-Adapter haben wir nicht gebraucht. Und bevor du den Akku einsteckst: Polarität am Board-Aufdruck prüfen. Rot ist Plus, und nicht jeder Stecker ist gleich belegt.

Den Repeater haben wir nicht selbst gebaut, sondern fertig gekauft. Für ein Gerät, das bei jedem Wetter auf dem Dach hängt, war uns ein wasserdichtes Komplettpaket lieber als ein Eigenbau.

Repeater (Dach)2 Teile
  • 1×KEEPTEEN D5L Mesh Solar LoRa Repeater ↗RAK19007-Baseboard mit RAK4631, 5-W-Solarpanel, Laderegler, 868-MHz-Antennen, IP67-Gehäuse119,99 €
  • 2×18650-Zellennicht im Lieferumfang. Vorher voll laden und die zwei spannungsgleichsten als Paar einsetzen.ca. 10 €
Summeca. 130 €

Das Gehäuse

Ausgangspunkt war das Design „Meshtastic node body for 18650 battery“ von Gamalai auf Thingiverse (Public Domain). Das haben wir im CAD-Programm für unsere Clients angepasst und dann gedruckt: zweimal dasselbe Gehäuse, einmal in Orange und einmal in Grau-Grün. Die Platine sitzt ohne Kleber, Tasten bleiben bedienbar und das Display liegt frei.

Das Original findest du auf Thingiverse. Es besteht aus zwei Hälften (body_bottom.stl, body_top.stl), die mit vier M2-Schrauben zusammengehalten werden.

Client flashen

Wir haben die offizielle MeshCore-Firmware 1.17.1 in der Variante Companion BLE genutzt. Damit koppelt sich der Client per Bluetooth mit dem Handy. Für das diymore-Board passt die Heltec-V4-Variante. Nimm die normale heltec_v4, nicht heltec_v4_r8: Die R8-Revision hat einen anderen Leistungsverstärker und andere Pins.

Der einfache Weg: Board per USB-C anschließen, in Chrome oder Edge den MeshCore Flasher öffnen, Heltec V4 und Companion Radio (BLE) wählen, flashen. Wenn das Board nicht erkannt wird: BOOT-Taste beim Einstecken gedrückt halten.

Der Weg, den wir gegangen sind: per Kommandozeile mit esptool. Die fertige Firmware liegt auf GitHub unter Releases, du brauchst die Datei heltec_v4_companion_radio_ble-…-merged.bin.

Terminal
# esptool installieren (falls noch nicht vorhanden)
pip install esptool

# Board finden – unter macOS meist /dev/cu.usbmodem…
ls /dev/cu.usb*

# Flash komplett löschen, dann die Merged-Firmware ab Adresse 0x0 schreiben
esptool --chip esp32s3 --port /dev/cu.usbmodem2101 erase-flash
esptool --chip esp32s3 --port /dev/cu.usbmodem2101 --baud 921600 \
  write-flash 0x0 heltec_v4_companion_radio_ble-v1.17.1-merged.bin

Danach startet das Board neu und zeigt auf dem OLED eine Bluetooth-PIN. In der MeshCore-App (iOS & Android) koppelst du den Client, gibst ihm einen Namen und änderst sofort die PIN.

Repeater flashen

Der KEEPTEEN kam ab Werk mit Meshtastic. Der RAK4631 darin ist ein nRF52-Chip, und der wird nicht per esptool geflasht, sondern per UF2: Die Firmware wird einfach wie eine Datei auf ein USB-Laufwerk kopiert.

Terminal
# 1. Repeater per USB anschließen
# 2. Reset-Taste am RAK19007 zweimal schnell drücken
#    → es erscheint ein Laufwerk "RAK4631"
# 3. Repeater-Firmware aus den MeshCore-Releases daraufkopieren
cp RAK_4631_repeater-v1.17.1-d929643.uf2 /Volumes/RAK4631/

Das Laufwerk verschwindet, der RAK startet als MeshCore-Repeater neu. Alternativ geht das auch im Web-Flasher mit RAK WisBlock 4631 und Repeater.

Repeater einrichten

Wichtig: alles einrichten, bevor der Repeater aufs Dach geht. Danach kommst du per Bluetooth nicht mehr ran, nur noch über das Mesh.

Repeater haben keine App-Oberfläche. Eingerichtet werden sie über eine serielle Konsole: per USB mit 115200 Baud oder bequemer im Browser über config.meshcore.io.

Repeater-Konsole
set name SB zeitraum dev
set radio 869.618,62.5,8,8
set tx 22
set repeat on
set lat <breitengrad>
set lon <längengrad>
password <eigenes-admin-passwort>
advert

Die Funkparameter sind das Preset EU/UK (Narrow): 869,618 MHz, 62,5 kHz Bandbreite, Spreading Factor 8, Coding Rate 8. Das nutzt im Saarland das ganze Netz. Wer andere Werte einstellt, hört niemanden. Die Clients stellst du in der App auf dasselbe Preset.

Mit dem Admin-Passwort kannst du den Repeater später aus der App heraus über Funk administrieren, ohne aufs Dach zu müssen.

Im SaarMesh anmelden

Im Saarland organisiert sich die MeshCore-Community als SaarMesh. Der Kanal ist gut belegt, deshalb begrenzen Repeater die Reichweite von Rundrufen über Regionen. Damit unser Repeater auch regional begrenzte Nachrichten weiterleitet, muss er die Regionen kennen:

Repeater-Konsole
region def europe|* de|* de-sl|* de-west|* de-rp|* saarlorlux|* saarland|* saarbruecken|*
region allowf *
region default saarlorlux
region home saarbruecken
set flood.max.unscoped 3
set path.hash.mode 1
region save
advert

In der App stellst du unter Experimentelle Einstellungen den Default Region Scope auf saarlorlux und die Path Hash Size auf 2 Byte, so wie es SaarMesh empfiehlt. Danach haben wir uns in der Telegram-Gruppe vorgestellt und auf der Live-Karte geprüft, dass der Repeater auftaucht.

Montage

Der Repeater hängt an einem Haken auf dem Dach unseres Büros in der Europaallee. Die mitgelieferten Stabantennen sitzen direkt an der Box, ein extra Kabel brauchst du nicht.

Der Repeater auf dem Bürodach — Solarpanel unten, die zwei Antennen oben.

Ergebnis

Der erste Test lief noch ohne Dach: einen Abend lang ein Client am Fenster. Trotzdem tauchten Repeater in 20 km (auf einer Halde) und 45 km Entfernung auf. Das war der Moment, in dem klar war, dass MeshCore hier funktioniert.

Seit dem 8. September hängt unser Repeater SB zeitraum dev im SaarMesh. Schon am ersten Tag haben ihn Empfangsstationen bis nach Luxemburg gehört. Mitte Oktober leitete er rund 100 Pakete am Tag weiter.

Zwei fertige Clients nebeneinander mit eingeschalteten Displays
Zwei Clients, ein Gehäuse in zwei Farben — beide im SaarMesh.

Mitmachen

Das SaarMesh lebt davon, dass mehr Leute Repeater aufstellen. Auf der SaarMesh-Live-Karte siehst du, welche Knoten es schon in deiner Nähe gibt. Wenn du schon dabei bist oder mitbauen willst: schreib uns. Fragen zum Nachbau beantworten wir gern.

Weitere ProjekteAlle Referenzen →
Pixel-Comic aus SprintQuest
Eigenprodukt2025

SprintQuest.

KI-Anwendung, die aus Standup-Logs vollständige Comic-Strips generiert. End-to-end in zwei Minuten.

Ausführlicher Case folgt
Startseite von energis.de
Kundenprojekt2025

energis.

Komplettes Web-System für den saarländischen Vollversorger. Redaktionell pflegbar, technisch entkoppelt.

Ausführlicher Case folgt
Screenshot der Hutter & Unger App
Kundenprojekt2025

Hutter & Unger.

CMS-Backend und native App für die Werbeagentur des deutschen Textilhandels.

Ausführlicher Case folgt