β‘ Push straight to the repeater experimental
Your browser can talk to a MeshCore companion node directly. Connect one and the repeater fills in the questions below for you β where it is, and what firmware it's running β then the settings can go over the air instead of through copy-paste. Optional: fill the form in by hand and everything still works.
You'll need the repeater's admin password, and your companion has to already know it as a contact. Connecting, reading its position and checking its firmware are all read-only β nothing is written until you press Send settings.
Stays in this browser tab β it goes to your companion node over USB or Bluetooth and then encrypted over the air. This site has no server and never saves the password or puts it in the URL. The only third-party code on the page is the meshcore.js library, vendored at a pinned commit.
1 Where is your repeater?
Pick the area your repeater covers. If you connected a companion node above, use its suggestion instead.
or browse
2 Paste this into your repeater
Your region scope
Options
Adds region home and region default so the node knows
which of its regions it actually sits in, and what scope to stamp on traffic
it originates.
A second block of read-only commands for checking the result afterwards.
3 Set the scope on your phone
Regions live on repeaters; scopes live on messages. A repeater only forwards a scoped packet when the scope matches one of its regions. In the MeshCore companion app, set the scope on outgoing traffic to the level you want it to travel:
Messages sent with no scope are still forwarded by everyone, so older nodes and unconfigured clients keep working.
How the region tree works
region def walks a chain: each token becomes a child of the one before it.
So region def west california centralcoast slo slonorth builds this,
top to bottom:
*
ββ west Western US
ββ california California
ββ centralcoast Central Coast
ββ slo SLO County
ββ slonorth Paso Robles, Atascadero and the North County
Your repeater now carries all five names. Traffic scoped slonorth stays
in the north county. Traffic scoped slo covers the whole county.
Traffic scoped west reaches every repeater in the western US that follows
this convention.
Not every chain is five names. Depth follows how big the local mesh community is:
the North Coast lists its towns straight under the region because there is nothing
in between worth naming, and Los Angeles holds its local areas directly because the
county already is the mesh. Both are four names, and region def
does not care.
Region matching is per name, not per level β a repeater that only has
slo and not centralcoast will not forward
centralcoast-scoped traffic. That is why every node defines the whole
chain from west down, even though it only physically sits in one spot.
region def arrived in firmware 1.16. Before that the same tree is built one
name at a time with region put <name> [parent]. On 1.15 that is all you
need β regions are flood-allowed as they're created. On 1.14 and older each one also
needs an explicit region allowf <name>. Switch the firmware version above
and you'll get the right form; the resulting tree is identical either way.
Things worth knowing
-
Region names never travel. A scoped packet carries two 16-bit
transport codes β an HMAC of the region's key over the packet β not the name. So a
code costs the same airtime however long it is:
sloandslocountyare identical on the air. The firmware allows 30 characters, so the codes here are words rather than abbreviations β nobody should have to look up whatsjvmeant. - SoCal is counties, then areas. Under Southern California the children are the eight counties, and under each county the named valleys and basins β San Fernando Valley, Coachella Valley, Victor Valley, and so on β not individual cities. Cities stay in search aliases so you can still type them.
- Region names are one flat namespace. Two different places using the same code will merge on any repeater that carries both. The codes on this site are checked for uniqueness across all of California.
-
region defdoes not wipe the existing tree. If a name already exists, its parent gets updated. To start clean,region removethe unwanted names first (children before parents). -
Review before you save.
region defreplies with the resulting tree. Check it, then runregion saveβ nothing persists across reboot until you do. -
160 characters per line on repeater serial. Longer trees have to be split
across several
region defcommands; the cursor resets to*between commands. Every chain on this site fits in one line. -
Region filtering needs firmware 1.10+. Newer commands landed later:
set owner.infoin 1.12,set path.hash.modein 1.14,set dutycyclein 1.15 (replacingset af), andregion defin 1.16. Check yours withverand pick the matching version above β if a command still comes back unknown, you're on older firmware than you selected. - These codes are a community convention, not a standard. MeshCore does not ship a national region list. What matters is that your neighbours use the same names β check with your local mesh group before deploying, and open a PR if your area is missing or wrong.