Meshtastic Tutorial

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

Configure the client

Web client

Mobile

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

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