Segment7 Blog

MeshCore and Meshtastic

5 min read tags:

A few months ago I learned about mesh networking radios for local to regional personal and emergency communication. Radios like the WisMesh Tag and SenseCAP T1000-E are as small as few stacked credit cards, have battery for over day of usage, and are relatively inexpensive at $40.

Both the MeshCore and Meshtastic protocols offer end-to-end encrypted messaging. Depending on reachable repeaters communication range can reach as far as 300 miles.

Meshtastic

Meshtastic project, flasher, map

I first tried Meshtastic because it was what my radio shipped with. It seems to only work well within a very small area as most messages I see on Meshtastic networks are “test” or “Is anyone there?”

In the Seattle area there are a fair amount of Meshtastic nodes. I could see nodes from Everett, WA to Renton, WA, about 50 miles. Northbound the range restriction seemed to be due to the hop limit. Southbound seemed to be geography and lack of repeaters.

In Eastern WA with a sparse network I could see nodes from Canada to Oregon. I n Chicago there was decent range for the city itself due to repeaters mounted in downtown buildings. For the Baltimore/DC suburbs there was just barely a network.

There’s one default channel and you can set up additional encrypted channels with a pre-shared key. Some mesh groups have a local channel with a pre-shared key on their website.

Unfortunately I couldn't figure out how to block nodes on Meshtastic. There is an "ignore node" feature, but it only seems to hide the node in the node list, not prevent messages from the ignored node from appearing. You can't stop someone from flooding the network with hate speech, but you should be able to prevent the client from showing it to you.

MeshCore

MeshCore project, flasher, map

In western Washington PugetMesh maintains several MeshCore repeaters and I can see nodes as far north as Squamish, BC and, when the repeater was operating, as far south as Portland, OR with over 400 nodes visible in the mesh. The northbound range restriction appears to be mountainous terrain north of Vancouver, BC and on Vancouver Island. The southbound range restriction is a dead repeater between Olympia, WA and Portland, OR. There's a few repeaters extending the network up I-90, but not yet enough to reach Snoqualmie Pass.

Los Angeles, the San Francisco Bay area, and Sacramanto has repeaters maintained by West Coast Mesh. When in the Los Angeles suburbs I could see many repeaters along the mountains surrounding Los Angeles. I could hear parts of some conversations but was too far away from the mountains for any repeaters to hear my messages.

With MeshCore there’s a default channel (“Public”) and you can add hashtag or pre-shared key channels. There is a block feature in the client, but I haven't had a reason to try it yet.

For PugetMesh people regularly have conversations with multiple participants, and there are bot channels providing path debugging and transit info.

Differences

If you have a few close users Meshtastic seems to be the way to start out. Each client repeats messages it hears making it easy to assemble a mesh, especially over a short distance or when nodes move around frequently. A sparse network with well-placed repeaters can reach a long rage, but I've never seen communication reliable enough for conversations to take place.

MeshCore separates client and repeater functions so you’ll need at least one repeater visible to participate in the mesh. The MeshCore hop limit is much higher (64 instead of 7). This appears to make conversations possible at the cost of additional nodes to act as repeaters.

Getting started

The WisMesh Tag and SenseCAP T1000-E are good starter radios, each at $40. They're small and light, both provide Bluetooth access to your phone which will run the respective app. The WisMesh Tag has a second button to make re-flashing easier, and three status LEDs. The T1000-E has only one button and one LED so it takes a bit more effort to swap firmware. Both have a built-in GPS receiver.

There's many, many more options for radios with larger batteries, better antenna, and additional sensors that I haven't yet bothered to explore, but rarely do they come with even water-resistant cases unless you 3-D print your own.

To find a mesh in your area consult the meshcore map and meshtastic map. These list nodes that have GPS locations reported to MQTT servers so there may be more nodes in your area that are invisible on the map.

The maps also report the radio settings for your area. Depending on terrain distance or other factors a local radio group may choose different radio settings than the default. By examining nodes on the map you may find the local mesh network group, usually as a hostname for a node name. Often these have a discord in case you want more local help.

After configuring your radio it will take at least a day to discover local nodes in your area because nodes advertise a few times per day. You'll probably be able to send a test message and see that it was received immediately, but not know who is around.

Search