Repository navigation
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.
- 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).
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.
- In the mode list open IoT & sensors and choose LoRa mesh, 869.525 MHz.
- Pick the radio and start the receiver.
- Open Settings. Under Networks tick Meshtastic (and the others you want).
- 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.
- 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.
- Watch Nodes, Map, Chat, Packets and Telemetry.
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.
- 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.
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.
- 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.
A node that you own can help you test: send a message from its app and watch the packet appear.
Do not decrypt or share other people's private channels. Do not publish positions of people.
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.
Mode-Meshtastic, Tutorial-MeshCore, Tutorial-MeshCom, Tutorial-LoRa-raw, Tutorial-LoRaWAN, Live-map, Modes, Main-window, Supported-radios, Troubleshooting, FAQ, Legal.
Getting started
Using OnAir
Tools and guides (0.2.7)
- Band survey
- Message database
- Watchlists
- TV recorder
- Time machine
- Pass scheduler
- Plugin SDK
- Headless server
- All guides
Radios
Modes by group
- TV
- Broadcast radio
- Aviation
- Maritime
- Satellite & navigation
- Two-way radio
- Cellular & rail
- Pagers
- IoT & sensors
- Weather & science
- Amateur: digital
- Amateur: voice & packet
- HF utility
- General & tools
Tutorials
- DVB-T2 TV with a HackRF
- FM radio with RDS
- Aircraft with ADS-B and the map
- Ships with AIS
- DAB+ digital radio
- Weather satellite images
- HF digital: FT8 and WSPR
- Digital voice: DMR, D-STAR, P25
- Pagers: POCSAG and FLEX
- Time stations and the clock
- Record IQ, then the Signal workbench
- The signal sample library
- Control a rig with Hamlib
- Two receivers and the multi-decoder
Reference
- Command line
- Remote-control API
- OnAir Web
- Voice codecs
- Transmit
- Build from source
- Contributing
- Code map
Help
Legal and privacy
More