Swiss Mesh
Meshtastic Tutorial
Complete Meshtastic tutorial for Swiss Mesh network. Learn setup, configuration, and best practices for Meshtastic devices in Switzerland. Includes recommended settings for EU 868MHz operation.
Decentralized community mesh for field communication
Meshtastic enables local, off-grid communication for people in the field. It’s built for mobile nodes, communities, and ad-hoc networks.
Key features:
- Portable LoRa nodes and gateways
- Local mesh routing for communities
- Ideal for mobile, battery-powered devices
- Messaging, location sharing, and telemetry
- Shared setup guides and community playbooks
Basic setup
- Install the antenna.
- Warning: if you power on your board before the antenna is mounted it may burn out.
- Plug it into the USB port.
Flash the firmware
- Go to https://flasher.meshtastic.org/
- Select your board.
- Select the firmware.
- Put your board into flash mode (Flash button at the top of the webpage or google search)
- Press flash.
- Select the USB port.
- Flash the firmware.
Configure the client
Web client
- Go to https://client.meshtastic.org/messages/broadcast/0 or clone the repo and run the client locally https://github.com/meshtastic/web
Mobile
- For Android go to https://meshtastic.org/docs/software/android/installation/ and install the app.
- For iOS go to https://meshtastic.org/docs/software/apple/installation/
Python CLI
pip install meshtastic
For usage see: https://meshtastic.org/docs/software/python/cli/
Settings
LoRa
| Setting | Value |
|---|---|
| Region | European Union 868MHz |
| Preset | Medium Range - Fast |
| Ignore MQTT | On |
Device
| Setting | Value |
|---|---|
| Node info broadcast interval | 10800 seconds (3h) |
Position
| Setting | Value |
|---|---|
| Position broadcast interval | 21600 seconds (6h) |
Telemetry
| Setting | Value |
|---|---|
| Device metrics interval | 259200 seconds (72h) |
Python CLI set channel preset
meshtastic --ch-medfast
meshtastic --host 192.168.1.xxx --ch-set lora.use_preset true --ch-index 0
meshtastic --host 192.168.1.xxx --ch-set lora.modem_preset MEDIUM_FAST --ch-index 0
meshtastic --reboot
meshtastic info
meshtastic --info | grep -i modem
More links
- https://mesh-schweiz.ch (information in German)
- https://drive.google.com/file/d/14Wd3UXRfnrliED6sUjJXb7UYsQ3iZCbp/edit
Swiss settings recommendations
| Category | Sub Category | Setting | Recommended Value | Reason / Notes |
|---|---|---|---|---|
| Radio Config | Device | Role | Client or Client_Mute | Client_Mute if you rely on a nearby mountaintop node; Client if others rely on your node. Avoid unnecessary routers. |
| Radio Config | Device | Role | Router / Repeater -> Only on topographically meaningful positions | e.g., mountain peaks with clear view; not for home/indoor nodes. |
| Radio Config | Device | NodeInfo Broadcast Interval | 10800s (3h) | Smartphones store this info; no need to send more often. Default is correct. |
| Radio Config | Device | Rebroadcast Mode | ALL, optional: Local Only | ALL recommended. Use Local Only only if your airtime approaches the 10 percent legal limit. |
| Radio Config | Position | Position Broadcast Interval | 21600s (6h) | Fixed nodes only need updates every 6h. Increase only when hiking or moving. |
| Radio Config | Position | Smart Position | Disabled | Causes nodes to transmit frequently and can flood the mesh. Disable, especially when GPS is via smartphone. |
| Radio Config | Position | Position Payload Options | Optional (altitude, sats, etc.) | Only include if needed; each added field increases airtime load. |
| Radio Config | LoRa | Hop Limit | 3-5 | Mesh is large; hop limit should not exceed 5. |
| Radio Config | LoRa | Override Duty Cycle | Disabled | EU/CH legal requirement: 10 percent airtime per hour. Do not override. |
| Radio Config | LoRa | Ignore MQTT | Enabled | Use MQTT only for specific applications; disable upload to MediumFast. |
| Module Config | Telemetry | Device Metrics Interval | 259200s (72h) | Longest interval; prevents spammy telemetry. |
| Module Config | Telemetry | Sensor Metrics Interval | Off (if no sensors) | Set sensors off unless they exist. If sensors exist, use a long interval (3600s). |
| Module Config | Telemetry | Power Metrics Interval | Off | Only for external power sensors, not battery level. |
| Firmware | Firmware Updates | Update regularly | New firmware improves efficiency; Web-Flasher recommended. | |
| General | Multiple Home Nodes | Only one should be Client; others Client_Mute | Prevents unnecessary airtime and duplicate relaying. | |
| General | Car Node at Home | Client_Mute | Avoid cluttering the mesh with redundant nodes. |
Settings summarized
| Setting / Module | What It Does | Always On? | Notes |
|---|---|---|---|
| Device Role: Router | Keeps node awake, rebroadcasts all packets | Yes | Essential for backbone nodes |
| Device Role: Client | Standard user mode | Yes | Default behavior |
| Device Role: Client Mute | Does not beacon, only sends user messages | Situational | Use for mobile nodes in dense networks |
| Primary Channel | Core channel for mesh | Yes | All nodes must match |
| Secondary Channels (Fast/MediumFast/LongFast) | Extra modulation channels | Situational | Only use deliberately; can split mesh |
| Position Broadcast | Sends periodic GPS | Situational | Too frequent updates consume airtime |
| Smart Position Broadcast | Sends only on movement | Yes | Best for network health |
| Store and Forward | Stores messages and replays later | Yes (single node) | Enable only on one fixed node |
| Range Test Module | Sends constant probe packets | Testing only | Heavy airtime usage |
| Telemetry Basic | Sends node battery/temp/etc | Yes | Minimal network impact |
| Telemetry Rapid / Debug | High-frequency telemetry | Testing only | Floods network |
| Neighbor Info (Passive) | Tracks direct neighbors | Yes | No airtime impact |
| Neighbor Beaconing | Announces node presence | Yes | Critical for routing |
| Serial Module (Data over LoRa) | Sends raw serial bytes across mesh | Situational | Only if you really need UART-over-LoRa |
| External Notification Module | LED/buzzer alerts | Yes | No mesh impact |
| MQTT Uplink | Publishes packets to broker | Yes (one gateway) | Enable only on designated gateway node |
| MQTT Downlink | Receives broker messages | Yes (one gateway) | Avoid multiple downlink nodes |
| Bluetooth | App pairing | Yes | No mesh impact |
| Wi-Fi (AP / Web UI) | Local config interface | Yes | No mesh impact |
| Detection Sensor Module | PIR/sensor event reporting | Situational | Only for sensor setups |
| Ambient Light / LED Module | LED behavior control | Yes | No mesh effect |
| Canned Messages | Predefined message buttons | Yes | Safe |
| Serial Debug Output | Prints logs to USB | Testing only | Very verbose |
| NodeDB Sync | Syncs known nodes for routing | Yes | Helps all mesh nodes |
| Routing Metrics | Reports hop SNR/RSSI | Yes | Crucial for stable routing |
| Hop Limit Setting | Max hops allowed | Yes | Default is optimal |
| PAX Counter | Counts Wi-Fi/BLE devices | Situational | Optional |
| Trickle Rate / Heartbeats | Maintains routing tables | Yes | Required for multi-hop health |
| LoRa Region Setting | Regional RF compliance | Yes | Must match physical region |
| LoRa Modulation (BW/SF/CR) | Link speed and range settings | Yes | Must match mesh defaults |
| LongFast / RouterFast Experimental | Experimental fast modes | Testing only | Breaks compatibility |
| Text Message Compression | Compresses payloads | Yes | Reduces airtime |
| Broadcast Hop Limiting | Limits mesh flooding | Yes | Protects network stability |
| MQTT JSON Output | Sends structured JSON | Yes | Needed for dashboards |
| Encrypted (e/) MQTT Topics | Raw encrypted payloads | Yes | Core protocol mechanism |
| Advertised Position Flag | Lets others know you broadcast GPS | Yes | Needed for topology |