Meshtastic
A high level presentation - KE2GCW | SnyderMesh.com
Just what the heck is Meshtastic?
Its a open network for building decentralized communications
Its a low data long range low power protocol
It's a mesh network that can reach
vast distances with multiple hops!
It can go really far!
The current record is 331 km in a single hop!
Or just over 200 miles
Its World Wide!
Many Sites in the USA!
Quite a few by us, and we are growing…
It can be TAKtical!
The Team Awareness Kit (TAK), for civilian uses, or Tactical Assault Kit (also TAK) for military uses is a suite of software that provides geospatial information and allows user collaboration over geography. There are numerous TAK Products in the TAK family, all developed at government expense
The Team Awareness Kit for Android (ATAK, also known as CivTAK) was originally developed by the Air Force Research Laboratory (AFRL) and is now maintained by a Joint Product Center.
ATAK (including CivTAK) is an Android smartphone geospatial infrastructure and situational awareness app. It allows for precision targeting, surrounding land formation intelligence, situational awareness, navigation, and data sharing.
All the Android variants of TAK are virtually identical and all are interoperable with each other and with other TAK products. There are small, military-specific additions in military versions of ATAK.
https://tak.gov/
It works when most other solutions won’t
NATURAL DISASTERS
GRID OUTAGES
It works in noisy environments
It’s Encrypted!
Older versions user per channel
Pre Shared Keys
Newer firmware now has
Full PKI per node encryption…
Making all messages secure
Are you excited yet!!!
It’s offline texting …That’s pretty much what it does….
Meshtastic can send text and VERY small data packets like GPS coordinates and sensor data.
Its relatively cheap, completely open, and the LoRa protocol is pretty amazing.
It has one job but it does it really well...
So it can send text messages and data chunks what's the big deal… We have cell phones and WiFi!?
Well LoRa and Meshtastic do those text messages REALLY well and with no help from anything else. No cell towers, no internet, no dependencies.
No cell service? No problem!
No wifi? No problem!
No line of sight? No problem!
No power grid? No problem!
Lots of noise? No problem!
Technical Overview
An open source data network that rides on the existing LoRa IoT protocol
Technical Overview - What is LoRa?
LoRa (from "Long Range") is a physical proprietary radio communication technique. It is based on spread spectrum modulation techniques derived from chirp spread spectrum (CSS) technology.
LoRaWAN (Long Range Wide Area Network) defines the communication protocol and system architecture. LoRaWAN is an official standard of the International Telecommunication Union (ITU), ITU-T Y.4480.
Together, LoRa and LoRaWAN define a low-power, wide-area (LPWA) networking protocol designed to wirelessly connect battery operated devices to the Internet in regional, national or global networks, and targets key Internet of things (IoT) requirements, such as bi-directional communication, end-to-end security, mobility and localization services.
Meshtastic uses LoRA P2P (Peer to Peer), not LoRaWAN.
Technical Overview - What is LoRa?
LoRa is the magic that is behind Meshtastic and other systems like it.
The technology is as mentioned based on CSS. This secret sauce allows LoRa to maintain data transmissions up to 20dB below the noise floor far beyond most other solutions. This also makes LoRa very hard to block or jam.
Think of it like FT8 mode with way more ability to handle noise and crazy low RSSI’s
Mesh? What's that?
When you send a message on your Meshtastic companion app, it is relayed to the radio using Bluetooth, Wi-Fi/Ethernet or serial connection.
That message is then broadcasted by the radio. If it hasn't received a confirmation from any other device after a certain timeout, it will retransmit the message up to three times.
When a receiving radio captures a packet, it checks to see if it has heard that message before. If it has it ignores the message. If it hasn't heard the message, it will rebroadcast it.
For each message a radio rebroadcasts, it marks the "hop limit" down by one. When a radio receives a packet with a hop limit of zero, it will not rebroadcast the message.
The radio will store a small amount of packets (around 30) in its memory for when it's not connected to a client app. If it's full, it will replace the oldest packets with newly incoming text messages only.
High level Overview (2) - Frequency Usage
There are 104 frequency slots defined in the 900mhz band for the US. After factory reset the radio will be set to frequency slot 20 with a center frequency of 906.875 MHz. (For the USA)
Think of this as the calling frequency.
High level Overview (2) - Frequency usage
Various data-rate options are available when configuring a frequency slot and are inversely proportional to the theoretical range of the devices.
Spreading Factor (SF) - How much we "spread" our data over time.
Each step up in Spreading Factor doubles the airtime to transmit.
Each step up in Spreading Factor adds about 2.5db extra link budget.
Bandwidth - How big of a slice of the spectrum we use.
Each doubling of the bandwidth is almost 3db less link budget.
Meshtastic LoRa modes
Meshtastic has several modes that vary bandwidth vs speed.
Faster means a lower link budget. The default is LongFast
High level Overview (6) - Node Operating Modes
Meshtastic nodes have roles for operation.
Most of the time you will use CLIENT mode as it will repeat messages and allow you to pair and act as a client.
There are a few special modes we will talk about here. More in the low level section!
High level Overview (6) - Node Operating Modes
App connected or stand alone messaging device.
General use for individuals needing to communicate over the Meshtastic network with support for client applications.
High level Overview (6) - Node Operating Modes
Broadcasts GPS position packets as priority.
Tracking the location of individuals or assets, especially in scenarios where timely and efficient location updates are critical.
High level Overview (6) - Node Operating Modes
Broadcasts telemetry packets as priority.
Deploying in scenarios where gathering environmental or other sensor data is crucial, with efficient power usage and frequent updates.
High level Overview (6) - Node Operating Modes
Infrastructure node for extending network coverage by always relaying messages with minimal overhead. Not visible in Nodes list.
Best avoided as poorly placed repeaters can “silently” lead to packet collisions and all the “hop gobbling”
High level Overview (6) - Node Operating Modes
Infrastructure node for extending network coverage by relaying messages. Visible in Nodes list.
Best positioned in strategic locations to maximize the network's overall coverage. Device is shown in topology. (MQTT!)
What kind of range can I expect?
Typical stock range node to node
Is from 2-5 miles.
With Line of sight this can be much farther with single hop connections hitting well over 10 miles.
With the mesh ability 3 radios could easily reach 15-30 miles on 100mw and stock antennas.
Today, SnyderMesh.com achieves a stable Mesh from Maple and North Forest in Amherst to beyond Main and Kenmore
Amateur radio operation restrictions
If you use your ham radio license with Meshtastic, consider both the privileges and restrictions:
Privileges
Restrictions
High level Overview - How does it work?
Meshtastic needs 3 things to work.
High level Overview - Nodes
What is a Meshtastic node?
This is essentially a microcontroller with a LoRA radio generally an SX1276 or SX1262 transceiver paired with an ESP32 or NRF52x MCU
High level Overview (4) - Communications
The node runs Meshtastic software this provides up to 3 ways to connect to the node
commands to it.
Once connected you can start chatting or using plugin applications that communicate over the Meshtastic network.
High level Overview (5) - Hardware (Some Examples)
WisBlock Meshtastic Starter Kit
The Basic RAK4631 Meshtastic Kit for LoRa
SKU:
115110
Regular price
$30.99
High level Overview (5) - Hardware (Some Examples)
Heltec Automation
LoRa 32 v3
Or variant.
High level Overview (5) - Hardware (Some Examples)
B&Q Consulting Devices
Meshtastic Mesh Device Station G2
$109.00
For serious range and use.
ESP32 S3 based,
SX1262 LoRa radio +
36.5 dBm TX Amplifier
18.5 dB RX Preamp
32MHz TCXO (+-1.5 ppm) for precision timing.
USB PD powered 3a required.
High level Overview (5) - Hardware (Key Differences)
ESP32 based units offer WiFi and Bluetooth as well as tons of I/O and Fast dual core 240mhz MCU, At the expense of battery usage, typically around 140~240ma.
Nordic N52840 Based units offer only Bluetooth and a single core 64mhz MCU but consume much less power typically around 80~200ma so it may be a better choice for remote battery operated and solar powered nodes.
High level Overview (6) - Let's get started!
So you bought a thingy…
High level Overview (6) - Programming!
After assembly we can see that our device is does not appear to be running Meshtastic…. Oh no!
Not to worry let's flash its brain to get Meshtastic on it.
High level Overview (6) - Programming!
So just how do we do that?
The engineers that made these microcontrollers made that easy! They have built in serial ports and will check them on boot! Lucky for us these boards almost always include a USB to serial chip for easy of use.
So let's just plug it in!
High level Overview (6) - Programming!
On connecting it to USB on your PC you should see it show up as a USB device like this in device manager.
Most PC’s will install it automatically
https://www.silabs.com/developer-tools/usb-to-uart-bridge-vcp-drivers if you need drivers (linux+mac as well)
High level Overview (6) - Programming!
If the port is there we are good to go! Just head over to flasher.meshtastic.org
High level Overview (6) - Programming!
High level Overview (6) - Programming!
When you hit flash or program you might get a prompt from chrome or firefox on what serial port to let the website use. Click the one that showed up when you connected the Meshtastic node.
High level Overview (8) Channels
The default channel is LongFast and has a predefined key and as you might guess it uses the LongFast speed setting.
High level Overview (8) Channels
Role
Each channel is assigned one of 2 roles:
0-7 Channels are available
PRIMARY or 1
This is the first channel that is created for you on initial setup.
Only one primary channel can exist and can not be disabled.
Periodic broadcasts like position and telemetry are only sent over this channel.
SECONDARY or 2
Can modify the encryption key (PSK).
Secondary Channels are mostly for private group chats.
High level Overview (8) Channel modes
High level Overview (8) Default Channel
Out of the box your node is setup for a single LongFast channel with a predefined encryption key. It will be set to channel 20 on the LoRa side and centered at 906.875. Any newly flashed node will be able to communicate with any other on this channel.
So flash it, set the region for the radio, and now you can chat on the LongFast channel in the messenger. It's that easy!
You can easily make a custom channel to chat privately with friends and family, and share the channel details using a QR Code.
Where to go from here?
There is much more! What if we connected a node to the internet with wifi?
To really explore the tech behind LoRa and some of the advance features and plugins for Meshtastic. Stay tuned for the the Low level section!
OR a BBS System
Latest changes in 2.6+
-Next-Hop Routing for DMs
-Meshtastic UI (MUI): a new standalone experience
-inkHUD for low always on e-Ink devices
-Meshtastic over LAN (UDP)
-
Links and downloads!
https://client.meshtastic.org/ - Web based Meshtastic Client for PC/MAC/Linux
https://meshmap.net/ - Meshtastic Node Map of published public nodes!
https://github.com/meshtastic/network-management-client/
Offline Meshtastic Gui Client for MAC/PC/Linux
https://flasher.pdxlocs.com/ alternate flash tool
LoRa board comparison table!
https://harukitoreda.github.io/Meshtastic-Experiments/LoRa-Boards-Comparison-Table
What else can we do with LoRa?
Nomad
Network
Reticulum
RNODE
Many new and exciting projects are popping up to use the LoRa technology from voice networks to BBS boards and synchronized data meshes.
Here are just a few to check out!
MeshCore
That’s it! For the high level overview!
Any questions?
Who can help get a node deployed?
Special thanks to KC9MNE who originally created this presentation material and allowed for its usage and modification