OFF-GRID
COMMUNICATION
FOR AUSTRIA
MeshCore is the open LoRa mesh network for Austria. It connects you with others — over mountains, through valleys, without internet, without cellular, without a provider. Decentralized, resilient and community-driven.
Aktuelle NewsLatest News
- + Fortsetzung: c't zeigt, wie man einen MeshCore-Repeater flasht und einrichtet
- + Admin-Zugang, Funk, Adverts, Hop-Grenzen, Pfad-Hash, TX Delay
- + Werte im Abgleich mit unseren Empfehlungen – rund 14 Minuten
- + Wio Tracker L1 Pro als Relais
- + Temporäre Reichweitenverlängerung
- + Feldtest-Ergebnisse und Tipps
- + Standortwahl verbessert Reichweite
- + Antennen-Upgrade für Profis
- + Firmware-Update mit MeshCore Flasher
MeshCore Firmware 1.18.0: Stabilität, erweiterte Kompatibilität und neue FunktionenMeshCore Firmware 1.18.0: Stability, Extended Compatibility, and New Features
- + Überarbeiteter WLAN- und Bluetooth-Support
- + Verbesserungen im Companion-Modus
- + Zahlreiche Fixes für Stabilität und Leistung
- + Nachricht stammt nicht von meshcore.at
- + Unsere Empfehlung bleibt SF8/CR8
- + Umstellungen nur gemeinsam abstimmen
- + c't (heise) erklärt MeshCore im YouTube-Video: Kommunikation ohne Internet beim Blackout
- + Themen: LoRa, Reichweite, Routing, Sicherheit, Room Server, MeshCore vs. Meshtastic
- + Mit Einrichtung der Software und Hardware-Tipps – rund 22 Minuten
Erkunde deine Region
Explore Your Region
Warum Meshcore?
Why Meshcore?
MESH NETWORK
Automatic multi-hop routing. Every node strengthens the network. No central infrastructure needed.
ENCRYPTED TRANSPORT
Every message encrypted. Direct messages end-to-end, channels via shared keys. No provider in between.
COMPANION APPS
Android & iOS. Bluetooth connection to your node. Messages, GPS tracking, telemetry at a glance.
OUTDOOR & EMERGENCY
Works without cell coverage. Perfect for mountain hikes, events and disaster preparedness in the Alps.
ZERO RUNNING COSTS
No SIM, no contract, no subscription. License-free SRD band EU868. Hardware from around €25.
OPEN SOURCE
Firmware, protocol and tools — open source. Community-driven, transparent and free.
Anleitungen & Referenz
Guides & Reference
Firmware flashen — Schritt für Schritt
Die MeshCore-Firmware wird direkt im Browser auf dein Board geflasht — kein Programm installieren, kein Kabel-Treiber-Chaos. Alles was du brauchst: ein USB-C Kabel und einen Browser mit WebSerial (Chrome, Edge oder Firefox ab Version 151).
Board per USB anschließen
Board mit USB-C Kabel am Computer anstecken. Falls das Board nicht erkannt wird: Boot-Taste gedrückt halten während du USB einsteckst.
Web Flasher öffnen
Gehe zu flasher.meshcore.io — der offizielle MeshCore Web Flasher.
Board & Firmware wählen
Dein Board-Modell auswählen (z.B. Heltec V3, T-Beam, RAK4631). Dann den Firmware-Typ wählen: Companion (Client/Handheld), Repeater (Relay-Station) oder Room Server (BBS).
Verbinden & Flashen
Auf Connect klicken, den seriellen Port deines Boards im Browser-Dialog wählen, dann Flash drücken. Der Vorgang dauert ca. 30–60 Sekunden.
Fertig — App verbinden
Board startet automatisch neu. Jetzt die MeshCore Companion App öffnen und per Bluetooth oder USB verbinden. Funk-Preset EU/UK (Narrow) wählen — fertig!
Hinweis: OTA-Updates (Over-The-Air) per BLE über die Companion App sind möglich, aber experimentell und fehleranfällig. Der Vorgang kann abbrechen und das Gerät in einem unbrauchbaren Zustand hinterlassen. Im Zweifelsfall immer per USB flashen.
MeshCore firmware is flashed directly in the browser — no software to install, no driver hassle. All you need: a USB-C cable and a browser with WebSerial (Chrome, Edge or Firefox 151+).
Connect board via USB
Plug the board into your computer with a USB-C cable. If not recognized: hold the boot button while plugging in USB.
Open Web Flasher
Go to flasher.meshcore.io — the official MeshCore Web Flasher.
Select board & firmware
Choose your board model (e.g. Heltec V3, T-Beam, RAK4631). Then select the firmware type: Companion (client/handheld), Repeater (relay station) or Room Server (BBS).
Connect & Flash
Click Connect, select your board's serial port in the browser dialog, then press Flash. The process takes about 30–60 seconds.
Done — Connect app
Board restarts automatically. Now open the MeshCore Companion App and connect via Bluetooth or USB. Select the radio preset EU/UK (Narrow) — done!
Note: OTA updates (Over-The-Air) via BLE through the Companion App are possible but experimental and error-prone. The process can fail and leave the device in an unusable state. When in doubt, always flash via USB.
Frequenz-Preset EU868
Alle MeshCore-Nodes in Österreich und dem DACH-Raum verwenden das gleiche Frequenz-Preset. Wenn dein Node andere Einstellungen hat, kann er keine anderen Nodes hören — und niemand hört dich.
All MeshCore nodes in Austria and the DACH region use the same frequency preset. If your node has different settings, it can't hear other nodes — and nobody hears you.
Node-Benennung
Damit Nodes im Netz sofort zugeordnet werden können, hat sich in Österreich ein einheitliches Namensschema etabliert. Es basiert auf dem KFZ-Bezirkskennzeichen und sorgt dafür, dass man auf der Karte sofort sieht, woher ein Node stammt.
Das Länderkürzel AT kommt zuerst, dann der Bezirk als KFZ-Kürzel, und danach ein frei wählbarer Name — z.B. Standort, Rufzeichen oder Spitzname. So erkennt jeder auf einen Blick: das ist ein österreichischer Node aus dem Bezirk X.
Längenlimit beachten: Der Advert-Name darf 23 Byte lang sein, wenn Koordinaten mitgesendet werden — ohne Positionsangabe sind es 31 Byte. Umlaute und Emoji brauchen mehr als ein Byte pro Zeichen. Halte den Namen also kurz, sonst wird er abgeschnitten.
To make nodes instantly identifiable on the network, the Austrian community has established a standardized naming scheme. It's based on vehicle registration district codes, so you can immediately see where a node is from on the map.
The country code AT comes first, then the district as a vehicle registration code, followed by a freely chosen name — e.g. location, callsign or nickname. This way, everyone can see at a glance: this is an Austrian node from district X.
Mind the length limit: the advertised name may be 23 bytes long when coordinates are included — without a location it's 31 bytes. Umlauts and emoji take more than one byte per character. Keep the name short, otherwise it gets truncated.
Alle Bezirkskürzel anzeigen Show all district codes
Kanäle & Verschlüsselung
Neben dem Public Channel, über den alle Nodes standardmäßig kommunizieren, gibt es in MeshCore sogenannte Hashtag Channels. Das sind thematische oder regionale Gruppen-Kanäle — ähnlich wie Chatrooms. Du kannst mehreren Kanälen gleichzeitig beitreten und erreichst damit gezielt Nodes in deiner Region oder zu einem bestimmten Thema.
Wie funktionieren Hashtag Channels?
Jeder Channel hat einen Namen (z.B. #austria); der Schlüssel ergibt sich aus diesem Namen. Private Kanäle haben stattdessen einen eigenen, geheimen Schlüssel. Wichtig zu verstehen: Kanal-Nachrichten werden im Mesh an alle Nodes verteilt — dein Gerät empfängt also auch Pakete aus Kanälen, in denen du gar nicht bist. Anzeigen kann es nur die, für die es den passenden Schlüssel hat; alles andere wird still verworfen. Repeater leiten ohnehin alles weiter, ohne selbst Mitglied sein zu müssen.
Einem Channel beitreten
In der Companion App unter Kanäle → Kanal hinzufügen den Namen eingeben. Oder am Computer mit dem Kommandozeilen-Tool meshcore-cli:
# Hashtag-Kanal beitreten
meshcli -s /dev/ttyUSB0 add_channel #austria
# Privaten Kanal anlegen (zufälliger Schlüssel, 32 Hex-Zeichen)
meshcli -s /dev/ttyUSB0 add_channel Verein $(openssl rand -hex 16)
# Alle Kanäle samt Schlüssel anzeigen
meshcli -s /dev/ttyUSB0 get_channels
# Kanal entfernen
meshcli -s /dev/ttyUSB0 remove_channel #austria
# Per Bluetooth statt USB: -a <Gerätename> statt -s <Port>
Eigenen Channel erstellen
Einen neuen Channel zu erstellen ist simpel: Jeder Node, der einem Channel mit einem bestimmten Namen beitritt, ist automatisch Mitglied. Es gibt keine zentrale Registrierung. Wenn du den Kanal #mein-verein hinzufügst und andere dasselbe tun, seid ihr im selben Kanal. Für einen privaten Kanal legst du einen Kanal mit eigenem, zufälligem Schlüssel an und teilst ihn per QR-Code — dann können nur Nodes mit diesem Schlüssel mitlesen.
Regionale Kanäle in Österreich
Die Community hat sich auf folgende Kanäle geeinigt. Tritt den für dich relevanten bei, um Nachrichten aus deiner Region zu empfangen:
Besides the Public Channel, which all nodes use by default, MeshCore supports Hashtag Channels. These are topic-based or regional group channels — similar to chatrooms. You can join multiple channels at once to reach nodes in your area or around a specific topic.
How do Hashtag Channels work?
Each channel has a name (e.g. #austria); the key is derived from that name. Private channels have their own secret key instead. One thing to understand: channel messages are distributed to every node in the mesh — your device also receives packets from channels you never joined. It can only display the ones it holds the matching key for; everything else is silently discarded. Repeaters forward all of it anyway, without having to be members themselves.
Join a Channel
In the Companion App go to Channels → Add Channel and enter the name. Or on a computer with the command-line tool meshcore-cli:
# Join a hashtag channel
meshcli -s /dev/ttyUSB0 add_channel #austria
# Create a private channel (random key, 32 hex characters)
meshcli -s /dev/ttyUSB0 add_channel Club $(openssl rand -hex 16)
# Show all channels including keys
meshcli -s /dev/ttyUSB0 get_channels
# Remove a channel
meshcli -s /dev/ttyUSB0 remove_channel #austria
# Via Bluetooth instead of USB: -a <device name> instead of -s <port>
Create Your Own Channel
Creating a new channel is simple: Any node that joins a channel with a specific name is automatically a member. There is no central registration. If you add the channel #my-club and others do the same, you're in the same channel. For a private channel, create a channel with its own random key and share it via QR code — then only nodes holding that key can read along.
Regional Channels in Austria
The community has agreed on the following channels. Join the relevant ones to receive messages from your region:
#austria
Landesweiter Kanal — für alle in AT
#vienna
Wien / Vienna
#noe
Niederösterreich
#ooe
Oberösterreich
#inn-salzach
Innviertel / Salzburg Grenzregion
#english
Internationaler Kanal (EN)
Tipp: Der #austria Kanal ist der beste Einstieg. Dort erreichst du die meisten aktiven Nodes in Österreich. Regionale Kanäle werden mit der Zeit aktiver, je mehr Nodes beitreten.
Verschlüsselung & Sicherheit
MeshCore verschlüsselt jede Nachricht — auf dem Public Channel genauso wie in einer Direktnachricht. Der Unterschied liegt nicht darin, ob verschlüsselt wird, sondern wer den Schlüssel hat.
Der Public Channel
Jeder Node hat ab Werk einen öffentlichen Kanal. Die Nachrichten darauf sind zwar verschlüsselt — aber mit einem Schlüssel, den jedes MeshCore-Gerät ab Werk kennt. Praktisch heißt das: Jeder im Netz kann mitlesen. Das ist gewollt: Der Public Channel ist für allgemeine Kommunikation, Notrufe und Community-Austausch gedacht.
meshcli -s /dev/ttyUSB0 public "Hallo aus Oberösterreich!"
Hashtag Channels (öffentlich)
Hashtag Channels wie #austria sind ebenfalls verschlüsselt — der Schlüssel wird allerdings direkt aus dem Kanalnamen abgeleitet (die ersten 16 Byte von SHA-256 über #austria). Wer den exakten Namen kennt, kann also mitlesen; wer ihn nicht kennt, sieht nur Chiffretext. Als Geheimhaltung taugt das nicht — es ist thematische Trennung, kein Zugriffsschutz.
meshcli -s /dev/ttyUSB0 add_channel #austria
Private Kanäle (geheimer Schlüssel)
Ein privater Kanal hat einen eigenen, zufälligen 128-Bit-Schlüssel (32 Hex-Zeichen), der nicht aus dem Namen abgeleitet wird. Damit können nur Nodes mitlesen, die diesen Schlüssel haben — den Namen zu kennen reicht nicht. Repeater leiten die Pakete weiter, können den Inhalt aber nicht entschlüsseln.
meshcli -s /dev/ttyUSB0 add_channel Verein $(openssl rand -hex 16)
# Schlüssel anzeigen und an die Mitglieder weitergeben
meshcli -s /dev/ttyUSB0 get_channels
# Mitglieder tragen denselben Namen und Schlüssel ein
meshcli -s /dev/ttyUSB0 add_channel Verein <32-stelliger-Schlüssel>
Der Schlüssel wird nie über Funk übertragen — er wird lokal auf dem Gerät gespeichert und dient als Schlüssel für die AES-128-Verschlüsselung. In der App teilst du einen privaten Kanal per QR-Code; sonst persönlich oder über einen sicheren Messenger.
Direkte Nachrichten (immer verschlüsselt)
Direktnachrichten zwischen zwei Nodes sind immer Ende-zu-Ende verschlüsselt — automatisch, ohne Konfiguration. Ein Handshake wie im Browser (TLS) findet dabei aber nicht statt: Jeder Node sendet seinen öffentlichen Schlüssel in seinen Advertisements mit, dein Gerät kombiniert ihn per X25519-ECDH mit deinem privaten Schlüssel zu einem gemeinsamen Geheimnis. Repeater dazwischen leiten nur Chiffretext weiter.
Das heißt aber auch: Der öffentliche Schlüssel deines Gegenübers kommt aus dem Funk. Wer dir einen untergeschobenen Schlüssel einspielt, kann sich als jemand anderes ausgeben. Auf der sicheren Seite bist du, wenn du den Kontakt per QR-Code oder persönlich austauschst statt ihn nur aus der Luft aufzuschnappen.
→ Kontakt hinzufügen → QR-Code scannen oder Pairing-Link teilen
# Oder per meshcore-cli mit dem Kontakt-Link des Gegenübers
meshcli -s /dev/ttyUSB0 import_contact meshcore://…
Übersicht: Was ist wann verschlüsselt?
MeshCore encrypts every message — on the public channel just as much as in a direct message. The difference isn't whether something is encrypted, but who holds the key.
The Public Channel
Every node has a public channel out of the box. Messages on it are encrypted — but with a key every MeshCore device knows out of the box. In practice that means anyone on the network can read along. This is intentional: the public channel is for general communication, emergency calls and community chat.
meshcli -s /dev/ttyUSB0 public "Hello from Upper Austria!"
Hashtag Channels (public)
Hashtag channels like #austria are encrypted too — but the key is derived straight from the channel name (the first 16 bytes of SHA-256 over #austria). So anyone who knows the exact name can read along; anyone who doesn't just sees ciphertext. That's topic separation, not secrecy — don't treat it as access control.
meshcli -s /dev/ttyUSB0 add_channel #austria
Private Channels (secret key)
A private channel has its own random 128-bit key (32 hex characters) that is not derived from its name. Only nodes holding that key can read along — knowing the name is not enough. Repeaters forward the packets but cannot decrypt the content.
meshcli -s /dev/ttyUSB0 add_channel Club $(openssl rand -hex 16)
# Show the key and pass it on to the members
meshcli -s /dev/ttyUSB0 get_channels
# Members enter the same name and key
meshcli -s /dev/ttyUSB0 add_channel Club <32-digit-key>
The key is never transmitted over radio — it's stored locally on the device and serves as the key for AES-128 encryption. In the app you share a private channel via QR code; otherwise in person or through a secure messenger.
Direct Messages (always encrypted)
Direct messages between two nodes are always end-to-end encrypted — automatically, no configuration needed. But there is no handshake like TLS in a browser: every node broadcasts its public key in its advertisements, and your device combines it with your private key into a shared secret via X25519 ECDH. Repeaters in between only ever forward ciphertext.
Which also means: the other party's public key arrives over the air. Anyone who feeds you a substituted key can impersonate someone else. You're on the safe side when you exchange contacts via QR code or in person rather than just picking them up off the air.
→ Add Contact → Scan QR code or share pairing link
# Or via meshcore-cli with the other node's contact link
meshcli -s /dev/ttyUSB0 import_contact meshcore://…
Overview: What is encrypted when?
| Kommunikationsart | Verschlüsselt? | Wer kann mitlesen? |
|---|---|---|
| Public Channel | Ja — Schlüssel öffentlich bekannt | Jeder Node im Netz |
| Hashtag Channel | Ja — Schlüssel aus dem Kanalnamen | Jeder der den Kanal-Namen kennt |
| Privater Kanal | Ja — AES-128, eigener geheimer Schlüssel | Nur Nodes mit dem Kanalschlüssel |
| Direktnachricht (DM) | Ja — AES-128, X25519-ECDH | Nur Sender & Empfänger |
Grenzen der VerschlüsselungWhere the encryption ends
MeshCore verschlüsselt zuverlässig gegen zufälliges Mitlesen. Es ist aber kein Signal und kein Threema — der Aufbau ist bewusst schlank gehalten, weil ein LoRa-Paket nur wenige hundert Byte hat. Was das konkret bedeutet:
- –Keine Forward Secrecy. Die Schlüsselpaare sind statisch. Wer einmal an einen privaten Schlüssel kommt, kann damit auch alten, mitgeschnittenen Verkehr entschlüsseln.
- –Keine Absenderauthentifizierung. In Kanälen steht der Absendername zwar verschlüsselt im Paket, wird aber nicht geprüft — jeder mit dem Kanalschlüssel kann sich als jemand anderes ausgeben. Nachrichten sind nicht signiert.
- –Nur 2 Byte Authentifizierungscode. Der auf 2 Byte gekürzte HMAC-SHA256 prüft die Integrität — gegen gezielte Fälschungsversuche ist er zu kurz.
- –AES-128 im ECB-Modus, ohne Initialisierungsvektor. Gleiche Klartextblöcke ergeben gleiche Chiffreblöcke — Muster im Verkehr bleiben erkennbar.
- –Kein echter Replay-Schutz. Abgesichert wird nur über Zeitstempel, nicht über kryptografische Nonces.
Fazit: Für Funkbetrieb, Community-Chat und Notfall-Koordination ist das völlig in Ordnung. Für alles, was wirklich vertraulich bleiben muss, nimm einen Messenger, der genau dafür gebaut wurde.
MeshCore reliably keeps casual listeners out. But it is not Signal and not Threema — the design is deliberately lean, because a LoRa packet only carries a few hundred bytes. What that means in practice:
- –No forward secrecy. Key pairs are static. Anyone who ever obtains a private key can also decrypt old, recorded traffic.
- –No sender authentication. In channels the sender name is encrypted in the packet but never verified — anyone holding the channel key can pose as someone else. Messages are not signed.
- –Only a 2-byte authentication code. The HMAC-SHA256 truncated to 2 bytes checks integrity — against targeted forgery attempts it is too short.
- –AES-128 in ECB mode, without an initialisation vector. Identical plaintext blocks produce identical ciphertext blocks — patterns in the traffic stay visible.
- –No real replay protection. Only timestamps guard against it, not cryptographic nonces.
Bottom line: For radio operation, community chat and emergency coordination this is perfectly fine. For anything that genuinely has to stay confidential, use a messenger built for exactly that.
Regionen & Scoping
Stell dir vor, jemand in Vorarlberg schickt eine Nachricht auf #vienna. Ohne Filterung würde diese Nachricht über jeden Repeater in ganz Österreich geflutet — unnötige AirTime auf einem Band, das ohnehin limitiert ist. Regionen lösen dieses Problem.
Jeder Repeater bekommt eine Liste von Regionen zugewiesen, für die er zuständig ist. Kanäle können mit einer Region verknüpft werden. Sendet ein Client eine Nachricht mit Region-Scope, prüft jeder Repeater auf dem Weg: „Bin ich für diese Region zuständig?" Wenn nein, wird das Paket verworfen. So bleibt lokaler Traffic lokal.
Die Hierarchie
Regionen sind hierarchisch aufgebaut — von global bis zum Bundesland:
Die Makroregionen folgen der offiziellen NUTS-1-Klassifikation der EU (Ostösterreich, Südösterreich, Westösterreich).
Region auf dem Repeater konfigurieren
Per CLI werden Regionen geladen und freigeschaltet:
region
# Region erlauben (Forwarding aktivieren)
region allowf at-ooe
# Region sperren (Pakete verwerfen)
region denyf at-t
# Erlaubte Regionen auflisten
region list allowed
# Änderungen speichern
region save
Empfohlene Konfiguration pro Bundesland
Jeder Repeater sollte mindestens * und at erlauben, plus die eigene Region:
Imagine someone in Vorarlberg sends a message on #vienna. Without filtering, this message would flood through every repeater across Austria — wasting airtime on an already limited band. Regions solve this problem.
Each repeater gets a list of regions it's responsible for. Channels can be linked to a region. When a client sends a message with a region scope, every repeater checks: "Am I responsible for this region?" If not, the packet is dropped. This keeps local traffic local.
The Hierarchy
Regions are hierarchical — from global to federal state:
Configure Regions on Your Repeater
Use the CLI to load and enable regions:
region
# Allow region (enable forwarding)
region allowf at-ooe
# Deny region (drop packets)
region denyf at-t
# List allowed regions
region list allowed
# Save changes
region save
Recommended Config per Federal State
Every repeater should allow at least * and at, plus its own region:
| BundeslandState | RegionenRegions | |
|---|---|---|
| WienVienna | * · at · at-w · at-ost | |
| Niederösterreich | Lower Austria | * · at · at-noe · at-ost |
| Burgenland | * · at · at-bgld · at-ost | |
| Kärnten | Carinthia | * · at · at-ktn · at-sued |
| Steiermark | Styria | * · at · at-stmk · at-sued |
| Oberösterreich | Upper Austria | * · at · at-ooe · at-west |
| Salzburg | * · at · at-sbg · at-west | |
| Tirol | * · at · at-t · at-west | |
| Vorarlberg | * · at · at-vbg · at-west |
Praxis-Beispiel: Eine Nachricht auf #austria mit Scope at wird von allen österreichischen Repeatern weitergeleitet. Eine Nachricht auf #vienna mit Scope at-w dagegen nur von Repeatern in Wien — ein Tiroler Repeater verwirft sie.
Konfigurations-Referenz
Repeater sind das Rückgrat des Mesh-Netzes. Sie leiten Nachrichten weiter und machen das Netz dichter. Hier die empfohlene Konfiguration für Österreich.
Repeaters are the backbone of the mesh network. They forward messages and make the network denser. Here's the recommended configuration for Austria.
Empfohlenes Setup (Copy & Paste)
Recommended Setup (Copy & Paste)
owner.info — Kontaktdaten hinterlegen: Das Feld set owner.info ist dafür gedacht, dass andere Node-Betreiber dich erreichen können — z.B. bei Störungen oder Koordination. Hinterlege eine E-Mail-Adresse, einen Telegram-Username, dein Amateurfunk-Rufzeichen, oder einen Link zu einer Social-Media-Gruppe. Trenne mehrere Einträge mit |. Beispiel: set owner.info oe1abc@email.at|@meintelegram|OE1ABC
Parameter-Erklärung
Parameter Explanation
| Parameter | Bereich | Beschreibung | |
|---|---|---|---|
| set tx | max. 22 dBm | Sendeleistung am LoRa-Chip (bei Boards mit Endstufe höher am Antennenausgang) | TX power at the LoRa chip (higher at the antenna on boards with an amplifier) |
| set dutycycle | 1–100 % | Sendezeit-Limit in Prozent (ab v1.15.0, Default 50) | Airtime limit in percent (since v1.15.0, default 50) |
| set af | 0–9 | Veraltet seit v1.15.0 — durch dutycycle ersetzt | |
| set advert.interval | 0 / 60–240 min | Zero-Hop Advert (lokal, nicht geflutet; 0 = aus; neue Repeater senden alle 2 min, bis die Konfiguration gespeichert ist) | Zero-hop advert (local, not flooded; 0 = off; new repeaters send every 2 min until the configuration is saved) |
| set flood.advert.interval | 3–168 h | Flood Advert (netzweit, sparsam nutzen! Default 47) | Flood advert (network-wide, use sparingly! Default 47) |
| set flood.max | 0–64 | Max. Flood-Hops (Default 64) | Max flood hops (default 64) |
| set path.hash.mode | 0/1/2 | 1-Byte (64 Hops) / 2-Byte (32) / 3-Byte (21) — ab v1.14, Default 0 | 1-byte (64 hops) / 2-byte (32) / 3-byte (21) — since v1.14, default 0 |
| powersaving on|off | — | Energiesparmodus (Solar/Batterie) | Power saving mode (solar/battery) |
| set agc.reset.interval | 0/4/8… | AGC-Reset bei Störsignalen (0 = aus) | AGC reset for interference (0 = off) |
| set rxdelay | 0.0–20.0 | Empfangs-Verzögerung (Standard: 0.0) | RX processing delay (default: 0.0) |
| set txdelay | 0.0–2.0 | Sende-Verzögerung bei Flood (Standard: 0.5) | TX delay for flood forwarding (default: 0.5) |
| set repeat on|off | — | Repeater-Funktion ein/aus (Hauptfunktion) | Repeater function on/off (core function) |
Wichtige Hinweise
Important Notes
Uhrzeit synchronisieren: Repeater brauchen eine korrekte Systemzeit — sonst gibt es Probleme mit Adverts und Routing. Drei Möglichkeiten: Remote Management über die Companion App (Android/iOS), GPS-Sync bei Boards mit GPS-Modul (gps sync), oder ein RTC-Modul (empfohlen für RAK-Boards) für dauerhafte Zeithaltung.
Gast-Passwort leer lassen: Setze kein Gast-Passwort auf deinem Repeater. Damit können andere Nutzer Telemetrie, Statistiken und Nachbar-Informationen abrufen — das ist kein Sicherheitsrisiko, denn alle Einstellungen sind durch das Admin-Passwort geschützt. Ein offener Repeater hilft der Community bei der Netzwerk-Analyse.
Sendeleistung & ERP: 22 dBm ist die maximale Ausgangsleistung des LoRa-Chips (SX1262) und für Boards ohne eigene Endstufe (z. B. Heltec V3, RAK4631, T-Beam) die passende Einstellung. Boards mit eingebauter Endstufe (z. B. Heltec V4, Station G2, T-Beam 1W) verstärken den eingestellten Wert — dort den Werkswert belassen, sonst wird der Grenzwert überschritten oder die Endstufe beschädigt. Auch mit externem Verstärker oder Hochgewinn-Antenne (>6 dBi) musst du die TX Power reduzieren: Im Teilband 869,4–869,65 MHz sind 500 mW ERP (27 dBm ERP) zulässig — nicht zu verwechseln mit EIRP, das liegt um 2,15 dB höher.
Karte: Repeater mit gesetzten Koordinaten (set lat / set lon) lassen sich auf der offiziellen MeshCore Map eintragen — das passiert nicht automatisch: In der App in der Kontaktliste auf ⋮ neben dem Repeater tippen → Share → Upload to Internet Map. Von dort übernimmt auch unsere Live-Karte die Daten.
Zero-Hop vs. Flood Advert: Manche Communities setzen den Zero-Hop-Advert auf 0 (aus), weil die Flood-Adverts das abdecken. In Österreich empfehlen wir 240 Minuten als Kompromiss — es hilft lokalen Nachbar-Nodes dich schneller zu finden, ohne das Netz zu belasten. Flood-Adverts empfehlen wir auf 48 Stunden — das entspricht etwa dem Werkswert der Firmware (47 h); kürzere Intervalle belasten das Netz unnötig.
Community & Ressourcen
Community & Resources
CHAT & COMMUNITY
CHAT & COMMUNITY
Telegram ÖsterreichTelegram Austria
Österreichweite MeshCore-Gruppe — Austausch, Hilfe beim Einstieg und Koordination im AT-Netz.
Telegram DeutschlandTelegram Germany
MeshCore DE Community — Die größte deutschsprachige Gruppe, mit AT-Untergruppe.
WhatsApp GruppeWhatsApp Group
Persönlicher Austausch unter MeshCore-Enthusiasten aus Österreich und Deutschland — direkt und unkompliziert.
Discord Server
Offizielle internationale MeshCore Community (EN)
Reddit r/meshcore
MeshCore Subreddit — Diskussionen, Projekte & Hilfe
MeshCore Facebook
Offizielle internationale MeshCore Facebook-Gruppe
HanseMesh
MeshCore Community aus Norddeutschland
MeshCore Schweiz
Unsere Freunde aus der Schweiz — Community-Portal mit Settings, Channels & Regions
TOOLS & APPS
Client Web App
Browser-basierte MeshCore App — gehostet in Österreich
Web Flasher
Firmware direkt im Browser flashen — kein Install nötig
Node Map
Globale Live-Karte aller MeshCore Nodes
Repeater & Regionen GeneratorRepeater & Region Generator
Repeater-Namen (AT-BEZIRK-ORT) und Mesh-Regionen aus der Postleitzahl erzeugen
FREUNDE & PARTNERPROJEKTE
FRIENDS & PARTNER PROJECTS
Mitmachen & Kontakt
Get Involved & Contact
Dir fehlen Informationen, du hast einen Fehler entdeckt, eine Verlinkung fehlt — oder du möchtest eine Veranstaltung, einen Stammtisch oder ein Community-Treffen ankündigen? Melde dich bei uns — wir freuen uns über jeden Beitrag, der das Netzwerk stärkt.
admin@meshcore.atHäufige Fragen
Frequently Asked Questions
Was ist MeshCore? What is MeshCore?
MeshCore ist eine quelloffene LoRa-Mesh-Funktechnologie für textbasierte Kommunikation ohne Internet, Mobilfunk oder zentrale Server. Nachrichten hüpfen über batteriebetriebene Repeater von Nutzer zu Nutzer und erreichen so auch Personen außerhalb der direkten Funkreichweite.
MeshCore is an open-source LoRa-mesh radio technology for text-based communication without internet, cellular networks, or central servers. Messages hop across battery-powered repeaters from user to user, reaching people far beyond direct radio range.
Brauche ich Internet oder Mobilfunk? Do I need internet or mobile coverage?
Nein. MeshCore funktioniert vollständig autark über das lizenzfreie 868-MHz-LoRa-Funkband. Weder Internetverbindung noch Mobilfunkanbieter werden benötigt – ideal für Notfallkommunikation, abgelegene Regionen oder als unabhängiger Kommunikationsweg.
No. MeshCore works fully off-grid on the license-free 868 MHz LoRa band. No internet connection or mobile carrier is required — perfect for emergency comms, remote areas, or as an independent backup channel.
Wie weit funkt MeshCore in Österreich? How far does MeshCore reach in Austria?
Direkt-Verbindungen zwischen zwei Geräten erreichen je nach Topografie und Antenne 1–20 km. Über das Repeater-Mesh-Netzwerk hüpfen Nachrichten Hunderte Kilometer – das österreichische Netz deckt mit über 300 aktiven Nodes bereits weite Teile des Landes ab.
Direct device-to-device range is 1–20 km depending on terrain and antenna. Through the repeater mesh, messages hop hundreds of kilometres — the Austrian network already covers large parts of the country with 300+ active nodes.
Welche Hardware brauche ich? What hardware do I need?
Ein günstiges LoRa-Board (z.B. Heltec V3, RAK4631 oder LilyGo T-Beam) für ca. 25–80 €. Auf der Seite findest du fertig konfigurierte Online-Flasher für Companion-Geräte und Repeater. Eine Companion App für Android/iOS verbindet sich per Bluetooth mit dem Board.
A cheap LoRa board (e.g. Heltec V3, RAK4631, LilyGo T-Beam) for around €25–80. We provide pre-configured online flashers for both companion devices and repeaters. The companion app for Android/iOS connects to the board via Bluetooth.
Ist MeshCore kostenlos? Is MeshCore free?
Ja. Firmware und Mesh-Protokoll sind quelloffen und kostenlos. Die offizielle Companion-App ist kostenlos nutzbar, aber nicht quelloffen; einzelne Zusatzfunktionen lassen sich per In-App-Kauf freischalten. Laufende Gebühren fallen nicht an – nur die einmaligen Hardwarekosten für ein LoRa-Board.
Yes. The firmware and the mesh protocol are open source and free. The official companion app is free to use but not open source; some extra features can be unlocked via in-app purchase. There are no running fees – only the one-off hardware cost for a LoRa board.
Brauche ich eine Funklizenz? Do I need an amateur radio licence?
Nein. MeshCore auf 868 MHz ist lizenzfreier Betrieb von Geräten mit geringer Reichweite (SRD) — kein Amateurfunk; eine Amateurfunklizenz erlaubt hier auch nicht mehr Sendeleistung. Das 868-MHz-Band zerfällt in Teilbänder mit unterschiedlichen Grenzwerten: Im Bereich 868,0–868,6 MHz gelten 25 mW e.r.p. und 1 % Sendezeitanteil — diesen Bereich nutzt MeshCore AT nicht. Das österreichische Preset (869,618 MHz, 62,5 kHz Bandbreite) belegt 869,587–869,649 MHz und liegt damit vollständig im Teilband 869,4–869,65 MHz. Dort sind 500 mW e.r.p. inklusive Antennengewinn und 10 % Sendezeitanteil pro Gerät und Stunde zulässig (alternativ Listen-Before-Talk nach EN 300 220). Die empfohlenen Einstellungen set tx 22 (≈ 158 mW, bei Boards ohne eigene Endstufe) und set dutycycle 10 halten diese Grenzen ein; bei Boards mit eingebauter Endstufe den Werkswert belassen und bei Antennen mit hohem Gewinn die Sendeleistung reduzieren. Rechtsgrundlage: Frequenznutzungsverordnung 2013, Anlage 2 (BGBl. II Nr. 397/2019), mit Verweis auf die Entscheidung 2006/771/EG der EU-Kommission (konsolidierte Fassung vom 13.08.2019, Band Nr. 54).
No. MeshCore on 868 MHz is licence-free operation of short-range devices (SRD) — not amateur radio; an amateur radio licence does not permit higher transmit power here either. The 868 MHz band is split into sub-bands with different limits: 868.0–868.6 MHz allows 25 mW e.r.p. and a 1 % duty cycle — MeshCore AT does not use this range. The Austrian preset (869.618 MHz, 62.5 kHz bandwidth) occupies 869.587–869.649 MHz and therefore lies entirely within the 869.4–869.65 MHz sub-band. This sub-band permits 500 mW e.r.p. including antenna gain and a 10 % duty cycle per device and hour (alternatively listen-before-talk according to EN 300 220). The recommended settings set tx 22 (≈ 158 mW, on boards without their own amplifier) and set dutycycle 10 stay within these limits; keep the factory setting on boards with a built-in amplifier and reduce transmit power with high-gain antennas. Legal basis: Austrian Frequency Usage Ordinance 2013 (Frequenznutzungsverordnung), Annex 2 (BGBl. II No. 397/2019), referring to Commission Decision 2006/771/EC (consolidated version of 13 August 2019, band no. 54).