MeshCore

From makernexuswiki

MeshCore

As we gather more tips, we'll reformat this page to be more cogent.

(We have information on other mesh networks too.)

MeshCore is an open source mesh network that runs on top of LoRa radio technology. It is low bandwidth and only suitable for text messaging. It is also very low power and long range (10's of miles) line-of-sight. It is different from Meshtastic in that it relies on dedicated repeater hardware. This hardware is still owned by individuals and deployed as they see fit. Because Meshcore repeaters are dedicated devices they tend to stay in one place and can be used to route messages instead of always flooding a message.

Documentation

Community

Live Analysis

Misc Info

Random Things

If your clock is off try clock sync. If it complains about "going backwards" then to clkreboot and then clock sync.

Radio Tips

Read our tips here.

Hardware

For a G2, transmit power of 10 = 1 watt For a Heltec V4, transmit power of 22 = 650 mw

The V4 doesn’t reboot after losing power without a physical reset button press.

Repeaters

Adverts are sent by repeaters just to help the analysis of the mesh. We could have the entire mesh set up without repeater adverts and it would work fine.
You used to worry about using the same key prefix of someone near you. You would admin via your companion to set an unused prefix. Prefix Utilization grid. But router prefix collisions do not affect message delivery, just the effectiveness of off-line mesh analysis. So it was polite to pick an unused prefix.
As of 1.14 multi-byte path support makes this unnecessary. Instead, use any two digit prefix you want to generate your repeater's keys. Connect to your repeater and set path.hash.mode 1
(Leave your companion at the default 1-byte support until all the routers in your area are up on 1.14 or later.)
set advert.interval 240 (for 0 hop adverts, in minutes)
set prv.key <key>
set owner.info <info>
for a G2 - set agc.reset.interval 4
Paths both ways get cached and if a route is bad you might get a message to the destination but the ack may not get back. If you have a repeater you own in the path force a flood by hard pressing the logon button. The path back might still be wrong so go to the console and send “reboot” 3 times … you don’t need a confirmation just spam it 3 times
Outdoor node. This is a nice one.

About Two Byte Routing

the FAQ

With one byte routing a big network will have repeaters with duplicate ids. This makes offline analysis of the mesh very difficult. It can also lead to a bit higher mesh utilization because a router that shares an id with a router in the path will also repeat the message, but that is a marginal improvement. see the FAQ

If your companion is set for two byte routing and the message hits a repeater that is not up on 1.14 then that repeater will not forward your message. Once your area's repeaters are up on 1.14 then you can move your companion to multibyte.

Companion

Hold down on a message and find the "heard repeats" button, it will give you more info what repeaters it hit
Seems a lot of folks turn off auto-add contacts and just add devices out of the discovery tab manually. Some leave on auto add Repeaters so that they will show up in the application map.

Are you connecting to the mesh?

Receiving: Tools > Rx Log will show messages coming to you.
Transmitting: To see if you make it to the mesh, add the #test channel. Post a message and look for the number of repeaters. Also try posting !path and look for a pathbot to reply.

Traceroute

Only works to repeaters.
Tools > Trace Path - Using Map Select repeaters by tapping on them. Your companion has to hear from the last one in the path so you might tap on the same nodes to make the path go out and back.

Remotely connect to a repeater: Tap the repeater in your contacts list. Long press the connect button and select Flood.

Regions

open a channel convo > 3 dots > set region scope > 3 dots > discover regions


Staleness

Staleness is based on last heard — the most recent time any traffic was seen from that node (not just adverts).

Thresholds:

Role Goes "stale" after
Repeater 72 hours
Room Server 72 hours
Companion 24 hours
Sensor 24 hours

Visual cues:

  • Nodes list: green dot → white dot, label changes from "Active" to "Stale"
  • Static map: full color → grayed out (70% opacity + grayscale)
  • Live map: full color → heavily dimmed (opacity 0.25)

Repeaters advertise every 12-24h, so 72h allows several missed cycles before flagging. Companions/sensors get 24h since they go quiet more often by design.

Observer

Help the analysis of the mesh by dedicating a device to being an Observer.

Use a Heltec v3 to be an Observer

War Driving

Download the MeshMapper app on your phone. Make sure your radio has joined #wardriving unless you want repeater discovery only.

Unexplained Things

  • All contacts not in contacts list.
With a Heltec V4 on 1.14.0 and iOS app. I see 146 contacts in my Contacts list. When I go to Discover Contacts I see 270 contacts; the ones not in my contact list have an "add" button. In Settings > Contacts I have set to Add All and Overwrite Oldest. Why aren't all the contacts in my Contacts list?

Open Questions

  • Ping Warning
You know 2 repeaters or room servers with prefix <61>. Unfortunately we won't know which of them replies to this ping request. Dismiss/Confirm.
This means that the companion can't be sure if the ping actually makes it to the repeater the user intends to test. Suppose you want to ping a repeater on your map to see if you can reach it. You send the ping to <61> and perhaps a different repeater that also uses <61> replies first. Your companion thinks the target repeater is directly reachable, but this test has not proven that.
  • Repeater Clock
The clock resets after each reboot. (verified on my G2 and my RAK Wisblock)
Login remotely and in the repeater settings -> Sync Clock
on the Wisblock it worked
on the G2 the time was displayed wrong in the status page but the Sync Clock command thought it was ok

Other Experiments

Sydney. Busy mesh. Something like 1300 nodes, and they seem to be doing well getting repeaters on top of tall buildings. They split into two presets 775kHz apart, one 62.5/SF7 and the other 250/SF11, and bridge between them, though it looks like the "narrow" is predominant. They have a txdelay scheme that groups repeaters by peer count and recommends different delay factors according to how well connected a node is and whether it bridges regions or just local area. When more info is available we will update this section (or remove it).