Skip to content
LearnUse CasesGuidesHardwareStoreCommunityGroups

How Meshtastic works

Meshtastic turns a LoRa radio into a messenger that pairs with your phone. Radios on the same settings form a mesh automatically, and messages hop from radio to radio to reach people out of direct range.

Meshtastic uses managed flooding. When a radio hears a message, it waits a moment, and if nobody else has already passed it on, it rebroadcasts it. Each message carries a hop limit that drops by one at every relay. The default is 3 hops, and the maximum is 7.

The waiting is clever. A radio that heard the message weakly (probably far away) waits less, so the farthest radios tend to relay first, which pushes the message outward faster.

Since firmware 2.6, direct messages get smarter: after the first exchange, the mesh learns which relay is the best “next hop” toward the other person, and only that relay forwards later messages. If that relay disappears, it falls back to flooding.

A role tells a radio how to behave. Most people should leave it on CLIENT or pick CLIENT_MUTE.

Role Use it for
CLIENT Your everyday radio. Relays only if nobody else did.
CLIENT_MUTE Radios in crowded places or on the move. Uses the mesh but never relays for others.
CLIENT_BASE A home base that always relays for your own favorited radios.
TRACKER GPS trackers that mainly report position.
SENSOR Nodes that mainly report sensor readings.
ROUTER / ROUTER_LATE Infrastructure on high, fixed sites with good line of sight. Always rebroadcasts. Don’t use at home.

REPEATER was deprecated in firmware 2.7.11. Ask your local group before setting any router role, since a badly placed router can make the mesh worse.

A radio can have up to 8 channels. Channel 0 (primary) decides which frequency slot you’re on, so its name must match your local mesh. Don’t rename it. Put private groups on secondary channels (1–7), so you stay on the public mesh while those conversations stay private. Groups share channels as a URL or QR code that also carries the radio settings.

Radio settings come as named presets, from fast and short-range (Short Turbo) to slow and long-range (Long Moderate). LongFast is the default, but many local meshes choose another one. All radios on a mesh must use the same preset, so ask your local group.

A radio with Wi-Fi or Ethernet can act as a gateway, copying mesh traffic to an MQTT server on the internet (uplink) and optionally back onto the radio side (downlink). That lets distant meshes see each other and feeds tools like maps and Home Assistant. The official public server only passes traffic to directly connected nodes (it doesn’t flood it back across your local mesh), filters to common message types, and only shares approximate positions.

Go deeper: chatter and big meshes

By default, radios send their position and telemetry hourly (every 12 hours for routers) and their node info every 3 hours. When a mesh has more than 40 online nodes, these intervals automatically stretch out to save airtime. Router, sensor and tracker roles are exempt.

  • Android app and Apple app (pair over Bluetooth)
  • Web client (runs in Chrome or Edge, over USB, Bluetooth or the network)
  • Python command-line tool
  • Site Planner, for predicting coverage

Next: How MeshCore works

Sources

Checked on October 18, 2026.

  1. meshtastic.org/docs/overview/mesh-algo
  2. meshtastic.org/docs/configuration/radio/device
  3. meshtastic.org/docs/configuration/radio/lora
  4. meshtastic.org/docs/overview/encryption
  5. meshtastic.org/docs/software/integrations/mqtt
  6. meshtastic.org/docs/software
  7. meshtastic.org/docs/getting-started/joining-your-local-mesh