Skip to content

Tutorial Meshtastic

adswill edited this page Oct 17, 2026 · 1 revision

Tutorial: Meshtastic

What it is. Meshtastic is an open LoRa mesh network for off-grid text messaging between small battery-powered nodes. Nodes announce themselves with position and telemetry and relay messages for each other. OnAir lists the nodes it hears, draws them on a map and shows chat messages from the default channel.

Read this first. Receive only. Meshtastic encrypts messages with a channel key. The built-in default channel key (the public default channel that every new node uses) is known to OnAir, so traffic on that default channel can be read. Traffic on private channels is encrypted and stays unreadable unless you are a member and add the key of your own channel yourself in Channel keys. OnAir does not guess or break keys. Treat messages and positions of other people as personal data. Check your local rules. See Legal and Privacy.

What you need

  • A radio at 2 Msps or more. An RTL-SDR works for a single region channel. Some regions have two networks in different parts of the band (for example the US pair is 3.65 MHz apart and needs about 8 Msps or more; ANZ is 4.1 MHz apart), as the Band plan tooltip says.
  • An antenna for 868 or 915 MHz (or 433 MHz).
  • Frequencies from the database: 869.525 MHz (Meshtastic EU868 default, LongFast; the mode start), 906.875 MHz (US default LongFast), 433.875 MHz (EU433 default) and 919.875 MHz (ANZ default).

Before you start

Meshtastic default settings (LongFast) are SF11, 250 kHz and a slot that depends on region and channel name. Nodes beacon every few minutes, so be patient. Moderate gain is enough.

Step by step

  1. In the mode list open IoT & sensors and choose LoRa mesh, 869.525 MHz.
  2. Pick the radio and start the receiver.
  3. Open Settings. Under Networks tick Meshtastic (and the others you want).
  4. Under LoRa setting keep Presets of the band plan, choose your Meshtastic region (the region set in the Meshtastic app under Config, LoRa, Region) and the Modem preset. The line below shows the resulting frequency, SF and bandwidth. Custom lets you type a setting of your own.
  5. Optionally tick Search every Meshtastic preset of the region. Off searches LongFast only; on also searches MediumFast, MediumSlow, ShortFast, ShortSlow, LongModerate and LongSlow, each on its own slot. This uses more CPU.
  6. Watch Nodes, Map, Chat, Packets and Telemetry.

What you should see

Nodes with name, short name, hardware model, position and last heard. Chat messages from the default channel, device telemetry (battery, voltage, environment) and a packets view with statistics by type.

Reading the screen

  • Nodes: the node table; select one for details.
  • Map: nodes with a position.
  • Chat: decoded text messages from channels you have keys for.
  • Packets: every received frame with type, hops, SNR and level, Packets by type statistics.
  • Telemetry: device and environment measurements.
  • Settings: networks, region, preset, band plan and Channel keys.

Options and settings

Channel keys lists the keys you added. The default keys are built in. Add a key for a channel you belong to: Meshtastic takes the channel name and the key in base64. Keys are kept in this computer's settings, never sent anywhere. remove deletes one. A simulated mesh is available for trying the screens.

Troubleshooting

  • No nodes. Wrong region or preset, or no nodes nearby. Check the region in the Meshtastic app of a node.
  • Nodes but no chat. Messages use a private channel; you need its key.
  • Part of the slots missed. Widen the sample rate; only slots inside the captured band are searched.
  • Nodes show only a hex id. The node has not sent its name yet.
  • Packets from nodes with other presets are missing. Tick Search every Meshtastic preset of the region.

Tips

A node that you own can help you test: send a message from its app and watch the packet appear.

Legal and privacy notes

Do not decrypt or share other people's private channels. Do not publish positions of people.

Under the hood

LoRa with sync word 0x2B. Frames carry a header with sender, destination, packet id and hop limit, then a payload encrypted with AES-CTR using the channel key; the default channel uses a published default key. Protocol messages are protocol buffers.

Related

Mode-Meshtastic, Tutorial-MeshCore, Tutorial-MeshCom, Tutorial-LoRa-raw, Tutorial-LoRaWAN, Live-map, Modes, Main-window, Supported-radios, Troubleshooting, FAQ, Legal.

Clone this wiki locally