<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://wiki.scotmesh.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Admin</id>
	<title>ScotMesh Wiki - User contributions [en-gb]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.scotmesh.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Admin"/>
	<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/wiki/Special:Contributions/Admin"/>
	<updated>2026-11-03T20:16:13Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=MeshCore/Regions&amp;diff=55</id>
		<title>MeshCore/Regions</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=MeshCore/Regions&amp;diff=55"/>
		<updated>2026-11-03T17:58:52Z</updated>

		<summary type="html">&lt;p&gt;Admin: Add hig (Highlands) region&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Regions}}&lt;br /&gt;
&amp;lt;span id=&amp;quot;meshcore-regions&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== MeshCore Regions ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-info&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE - A Regional Framework was impelemented in the ScotMesh Meshcore Mesh at the beginning of April 2026. This was out of sheer necessity as our mesh was dying under the flood traffic from England (24,000 flood packets &amp;amp;amp; 600+ messages daily). This saved our mesh from descending into a chaotic, unusable mess of incoherent rambles and frustrated messaging failures. This is why an understaning of regions is imperative to understanding where we are today.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
This guide is for &#039;&#039;&#039;repeater owners&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The aim is simple: keep the scheme readable, predictable, and usable as the network grows.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;why-regions-are-needed&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Why regions are needed ===&lt;br /&gt;
&lt;br /&gt;
MeshCore messages travel through repeaters for onward routing. Whilst this is the core function, if every repeater carries every message everywhere, the network becomes noisy, inefficient and flooded with uneccessary traffic.&lt;br /&gt;
&lt;br /&gt;
Regions help us:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Keep local traffic local&#039;&#039;&#039; — In the future, a message that only matters in one area wont always need to be repeated across every part of Scotland.&lt;br /&gt;
# &#039;&#039;&#039;Reduce unnecessary radio traffic&#039;&#039;&#039; — LoRa is subject to a finite airtime cycle per hour (compared with Wi-Fi or mobile data), so every avoidable repeat uses valuable airtime.&lt;br /&gt;
# &#039;&#039;&#039;Improve reliability&#039;&#039;&#039; — Less unnecessary repeating leaves more room for useful messages.&lt;br /&gt;
# &#039;&#039;&#039;Make planning clearer&#039;&#039;&#039; — Regions make repeater deployment easier to map, identify needs, plan future expansion and ease of ongoing mesh maintenance.&lt;br /&gt;
# &#039;&#039;&#039;Support controlled peering&#039;&#039;&#039; — Strategic repeaters can deliberately carry neighbouring traffic, such as the &#039;&#039;&#039;IOI peering agreement&#039;&#039;&#039; between Scotland and the Island of Ireland.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;regions-and-scopes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Regions and scopes ===&lt;br /&gt;
&lt;br /&gt;
There are two related concepts: &#039;&#039;&#039;regions&#039;&#039;&#039; and &#039;&#039;&#039;scopes&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Term&lt;br /&gt;
! Meaning&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Region&#039;&#039;&#039;&lt;br /&gt;
| A label configured on a repeater to describe the area it serves.&lt;br /&gt;
| An Edinburgh-area repeater includes &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Scope&#039;&#039;&#039;&lt;br /&gt;
| A label applied to messages or channels to describe which area (or region) the traffic is intended to travel.&lt;br /&gt;
| The &amp;lt;code&amp;gt;#glasgow&amp;lt;/code&amp;gt; channel might use &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt; when traffic should stay in that area.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In a densely populated mesh, a repeater should only carry scoped traffic for regions it genuinely serves. In new or embryonic meshes, this requirment will be a future need but best practise planning mandates introducing regions as early as is practical.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;wildcard-forwarding-is-not-allowed-see-info-box-at-top-of-this-document-for-context.&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Wildcard forwarding is not allowed (see info box at top of this document for context). ===&lt;br /&gt;
&lt;br /&gt;
The wildcard marker is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;*&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-warning&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The important rule is: &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; will appear as a root parent in the region tree, but wildcard forwarding must be denied.&lt;br /&gt;
&lt;br /&gt;
In other words, &amp;lt;code&amp;gt;region put sco *&amp;lt;/code&amp;gt; is correct, but must be preceeded by &amp;lt;code&amp;gt;region denyf *&amp;lt;/code&amp;gt; .&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
The Scottish MeshCore setup does not allow wildcard forwarding. Repeater owners must deny wildcard forwarding with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;region denyf *&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
You may still see &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; as the root parent when defining the region tree, for example &amp;lt;code&amp;gt;region put sco *&amp;lt;/code&amp;gt;. That is different from allowing wildcard forwarding.&lt;br /&gt;
&lt;br /&gt;
For channel names and suggested scopes, see [[MeshCore/Channels|Channels]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;scottish-region-code-approach&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Scottish region code approach ===&lt;br /&gt;
&lt;br /&gt;
For Scotland, we use simple three-letter lowercase codes.&lt;br /&gt;
&lt;br /&gt;
We are not part of any UK wide mesh (for context see comment box at the top of this documnet) Therefore, &#039;&#039;&#039;we are not using any long prefixed names&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We use short codes such as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;sco&lt;br /&gt;
cen&lt;br /&gt;
fal&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Other countries and communities may use ISO-style hierarchical codes. That is valid for them, but the Scottish convention is designed to be short and easy to read in apps, analyser tools, and community discussions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;current-june-2026-agreed-region-codes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Agreed region codes ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code&lt;br /&gt;
! Area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&lt;br /&gt;
| Scotland — the default scope, carried by every Scottish repeater&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;sco-admin&amp;lt;/code&amp;gt;&lt;br /&gt;
| Scotland-only, for bots and utilities. Never peered out.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cen&amp;lt;/code&amp;gt;&lt;br /&gt;
| Central Scotland&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt;&lt;br /&gt;
| Edinburgh area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt;&lt;br /&gt;
| Glasgow area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;fal&amp;lt;/code&amp;gt;&lt;br /&gt;
| Falkirk area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;sti&amp;lt;/code&amp;gt;&lt;br /&gt;
| Stirling area (proposed)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;fif&amp;lt;/code&amp;gt;&lt;br /&gt;
| Fife&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;tay&amp;lt;/code&amp;gt;&lt;br /&gt;
| Tayside&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dun&amp;lt;/code&amp;gt;&lt;br /&gt;
| Dundee area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;per&amp;lt;/code&amp;gt;&lt;br /&gt;
| Perth area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;hig&amp;lt;/code&amp;gt;&lt;br /&gt;
| Highlands (Inverness area)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;&lt;br /&gt;
| Island of Ireland — peering root beside &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;wls&amp;lt;/code&amp;gt;&lt;br /&gt;
| Wales — peering root beside &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt;&lt;br /&gt;
| North East England — peering root beside &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ioi-peering-agreement&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== IOI peering agreement ===&lt;br /&gt;
&lt;br /&gt;
The Scottish and Irish MeshCore communities maintain a &#039;&#039;&#039;peering agreement&#039;&#039;&#039;: scoped traffic is carried on the other network only where &#039;&#039;&#039;both&#039;&#039;&#039; sides configure for it.&lt;br /&gt;
&lt;br /&gt;
Under that agreement, Scottish repeaters add the &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; region alongside &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; where the Scottish baseline applies, and Island of Ireland repeaters add &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; alongside their own region codes in the same spirit. Messages with matching &#039;&#039;&#039;scopes&#039;&#039;&#039; can then move between the two networks predictably, without relying on wildcard forwarding. For example channel names and typical scopes, see [[MeshCore/Channels|Channels]].&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; code is &#039;&#039;&#039;not&#039;&#039;&#039; a Scottish local region. It marks repeaters and traffic that deliberately participate in that peering.&lt;br /&gt;
&lt;br /&gt;
Do not use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;ioi-sco&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;ioi&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;peering-with-scotland-other-regions&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Peering with Scotland (other regions) ====&lt;br /&gt;
&lt;br /&gt;
If another region wants to peer with Scotland in a similar way, they should already have the following in place:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Wildcard flooding disallowed&#039;&#039;&#039; on their repeaters (the same principle as the Scottish setup: deny wildcard forwarding with &amp;lt;code&amp;gt;region denyf *&amp;lt;/code&amp;gt;; see [[#wildcard-forwarding-is-not-allowed|Wildcard forwarding is not allowed]]).&lt;br /&gt;
# &#039;&#039;&#039;Appropriate regions on their repeaters&#039;&#039;&#039; so traffic is not forwarded wider than intended, and Scottish repeaters are not flooded with scoped traffic they did not agree to carry.&lt;br /&gt;
# &#039;&#039;&#039;Neighbouring Scotland in RF terms&#039;&#039;&#039; so equipment can &#039;&#039;&#039;directly&#039;&#039;&#039; peer, rather than assuming long unofficial relay chains.&lt;br /&gt;
&lt;br /&gt;
When that fits your situation, contact the Scottish Mesh community on [https://discord.gg/ytxfyuDmSt Discord] so we can discuss scope names, boundaries, and a safe rollout.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;recommended-hierarchy&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Recommended hierarchy ===&lt;br /&gt;
&lt;br /&gt;
Although the hierarchy is not written into the code itself, it can be thought of like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;sco&lt;br /&gt;
  cen&lt;br /&gt;
    edi&lt;br /&gt;
    gla&lt;br /&gt;
    fal&lt;br /&gt;
    sti   (proposed)&lt;br /&gt;
  fif&lt;br /&gt;
  tay&lt;br /&gt;
    dun&lt;br /&gt;
    per&lt;br /&gt;
  hig&lt;br /&gt;
sco-admin&lt;br /&gt;
ioi&lt;br /&gt;
wls&lt;br /&gt;
eng-ne&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In plain English:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; is for Scotland-wide traffic, and &amp;lt;code&amp;gt;sco-admin&amp;lt;/code&amp;gt; is a Scotland-only root for bots and utilities.&lt;br /&gt;
* &amp;lt;code&amp;gt;cen&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;tay&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;fif&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;hig&amp;lt;/code&amp;gt; are Scottish sub regions.&lt;br /&gt;
* &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;fal&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sti&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;dun&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;per&amp;lt;/code&amp;gt; are local areas.&lt;br /&gt;
* &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; (Island of Ireland), &amp;lt;code&amp;gt;wls&amp;lt;/code&amp;gt; (Wales) and &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt; (North East England) are peering roots beside &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;suggested-repeater-configuration-policy&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Suggested repeater configuration policy ===&lt;br /&gt;
&lt;br /&gt;
A Scottish repeater should normally be configured with:&lt;br /&gt;
&lt;br /&gt;
# The country code &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;sco-admin&amp;lt;/code&amp;gt; for Scotland-only utility traffic.&lt;br /&gt;
# The peering roots &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;wls&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt;.&lt;br /&gt;
# The relevant regional code.&lt;br /&gt;
# The relevant local code, if appropriate.&lt;br /&gt;
# Any neighbouring codes that the repeater genuinely serves.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-warning&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do not allow wildcard forwarding.&lt;br /&gt;
&lt;br /&gt;
In command line interface (CLI) examples, this means using &amp;lt;code&amp;gt;region denyf *&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;falkirk-central-scotland-repeater&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Falkirk / Central Scotland repeater ====&lt;br /&gt;
&lt;br /&gt;
A repeater covering the Falkirk area would usually have:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;sco&lt;br /&gt;
cen&lt;br /&gt;
fal&lt;br /&gt;
sco-admin&lt;br /&gt;
ioi&lt;br /&gt;
wls&lt;br /&gt;
eng-ne&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;edinburgh-facing-central-scotland-repeater&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Edinburgh-facing Central Scotland repeater ====&lt;br /&gt;
&lt;br /&gt;
A repeater that mainly serves Central Scotland but has strong coverage towards Edinburgh might use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;sco&lt;br /&gt;
cen&lt;br /&gt;
edi&lt;br /&gt;
sco-admin&lt;br /&gt;
ioi&lt;br /&gt;
wls&lt;br /&gt;
eng-ne&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;fife-repeater&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Fife repeater ====&lt;br /&gt;
&lt;br /&gt;
A Fife repeater would usually have:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;sco&lt;br /&gt;
fif&lt;br /&gt;
sco-admin&lt;br /&gt;
ioi&lt;br /&gt;
wls&lt;br /&gt;
eng-ne&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
If it genuinely provides useful Central Scotland coverage, it may also include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;cen&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;scottish-repeaters-and-ioi&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Scottish repeaters and &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
Scottish repeaters carry the peering roots &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;wls&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt; alongside &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;sco-admin&amp;lt;/code&amp;gt; — these are included in every repeater script:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;sco&lt;br /&gt;
sco-admin&lt;br /&gt;
ioi&lt;br /&gt;
wls&lt;br /&gt;
eng-ne&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
That keeps peering-capable forwarding available where the Scottish baseline is configured. It does not make &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; a Scottish local region.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;good-practice-for-repeater-owners&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Good practice for repeater owners ===&lt;br /&gt;
&lt;br /&gt;
Use lowercase region codes. Do not use mixed case such as &amp;lt;code&amp;gt;SCO&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Cen&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;FAL&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Use agreed codes. For example, use &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt; for the Edinburgh area, not &amp;lt;code&amp;gt;edn&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;edinburgh&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;gb-edi&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Add only the areas your repeater genuinely serves. A high-site repeater may reasonably serve several areas, but a repeater should not claim every region just because it can occasionally hear distant nodes.&lt;br /&gt;
&lt;br /&gt;
Coordinate before adding new codes. If a new area needs a code, discuss it publicly before using it so that the community does not end up with competing names for the same place.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;suggested-command-examples&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Suggested command examples ===&lt;br /&gt;
&lt;br /&gt;
The exact method may vary depending on firmware version and whether you are using the app, web configurator, USB serial, or remote administration. The upstream reference is the MeshCore [https://docs.meshcore.io/cli_commands/ CLI Commands] documentation, especially the region management commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-info&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
New to repeater setup?&lt;br /&gt;
&lt;br /&gt;
Start with [[MeshCore/Repeater Quick Setup|Repeater Quick Setup]], then come back here for the fuller detail.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
On current firmware (1.16+) the whole region tree goes in one &amp;lt;code&amp;gt;region def&amp;lt;/code&amp;gt; line, followed by &amp;lt;code&amp;gt;region denyf *&amp;lt;/code&amp;gt; and the standard &amp;lt;code&amp;gt;set&amp;lt;/code&amp;gt; commands. The easiest way to get the exact script for your area is the [https://meshcore.scotmesh.net/repeater/ ScotMesh repeater builder]; the examples below show what it produces.&lt;br /&gt;
&lt;br /&gt;
For a Central Scotland / Falkirk repeater:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;region def sco cen fal|* sco-admin|* ioi|* wls|* eng-ne&lt;br /&gt;
region denyf *&lt;br /&gt;
set flood.advert.interval 24&lt;br /&gt;
set multi.acks 1&lt;br /&gt;
set path.hash.mode 2&lt;br /&gt;
region default sco&lt;br /&gt;
region save&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Then check the result with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;region&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
For a Tayside / Dundee repeater:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;region def sco tay dun|* sco-admin|* ioi|* wls|* eng-ne&lt;br /&gt;
region denyf *&lt;br /&gt;
set flood.advert.interval 24&lt;br /&gt;
set multi.acks 1&lt;br /&gt;
set path.hash.mode 2&lt;br /&gt;
region default sco&lt;br /&gt;
region save&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
For a Glasgow-area repeater:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;region def sco cen gla|* sco-admin|* ioi|* wls|* eng-ne&lt;br /&gt;
region denyf *&lt;br /&gt;
set flood.advert.interval 24&lt;br /&gt;
set multi.acks 1&lt;br /&gt;
set path.hash.mode 2&lt;br /&gt;
region default sco&lt;br /&gt;
region save&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
For a repeater that serves Scotland, Central Scotland, Glasgow, Edinburgh, and IOI peering (&amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;region def sco cen|* gla|cen edi|cen sco-admin|* ioi|* wls|* eng-ne&lt;br /&gt;
region denyf *&lt;br /&gt;
set flood.advert.interval 24&lt;br /&gt;
set multi.acks 1&lt;br /&gt;
set path.hash.mode 2&lt;br /&gt;
region default sco&lt;br /&gt;
region save&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-warning&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Set &amp;lt;code&amp;gt;region default sco&amp;lt;/code&amp;gt; on your repeater.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Without a default scope, adverts sent by your repeater go out unscoped. Because the Scottish network uses &amp;lt;code&amp;gt;region denyf *&amp;lt;/code&amp;gt;, other repeaters will reject those unscoped adverts and will never learn your repeater exists. Setting the default scope to &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; ensures your adverts are carried normally across the mesh.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
This is separate from flood forwarding permissions. For more detail, see [https://blog.meshcore.io/2026/04/17/default-scope Default Scope Region].&lt;br /&gt;
&lt;br /&gt;
Always check for an &amp;lt;code&amp;gt;OK&amp;lt;/code&amp;gt; response where applicable, and remember to save the configuration so it survives a reboot.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;firmware-and-app-version-notes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Firmware and app version notes ===&lt;br /&gt;
&lt;br /&gt;
Region and scope support depends on MeshCore firmware and app support.&lt;br /&gt;
&lt;br /&gt;
Use the latest stable MeshCore firmware and app available for your device. Older firmware may still pass some traffic, but region management and scope handling may not behave as expected.&lt;br /&gt;
&lt;br /&gt;
MeshCore region filtering was introduced across firmware and app releases, and default scope support was added later. The MeshCore posts [https://blog.meshcore.io/2026/01/20/region-filtering Region Filtering] and [https://blog.meshcore.io/2026/04/17/default-scope Default Scope Region] are useful background when checking version behaviour.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;naming-and-publishing-new-region-codes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Naming and publishing new region codes ===&lt;br /&gt;
&lt;br /&gt;
When a new Scottish area needs a code, use these rules:&lt;br /&gt;
&lt;br /&gt;
# Use three lowercase letters.&lt;br /&gt;
# Make the code obvious to local users.&lt;br /&gt;
# Avoid clashing with existing agreed codes.&lt;br /&gt;
# Avoid overly small areas unless there is a real need.&lt;br /&gt;
# Discuss the code with the local MeshCore community before publishing it.&lt;br /&gt;
&lt;br /&gt;
Examples of possible future codes might include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;sti = Stirling&lt;br /&gt;
liv = Livingston&lt;br /&gt;
abe = Aberdeen&lt;br /&gt;
inv = Inverness&lt;br /&gt;
ayr = Ayrshire&lt;br /&gt;
bor = Borders&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
These are examples only and should not be treated as agreed until the community confirms them.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;common-questions&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Common questions ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;do-regions-replace-normal-meshcore-messaging&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Do regions replace normal MeshCore messaging? ====&lt;br /&gt;
&lt;br /&gt;
No. Regions help control where scoped traffic is repeated.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;should-every-scottish-repeater-have-sco-and-ioi&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Should every Scottish repeater have the same baseline? ====&lt;br /&gt;
&lt;br /&gt;
Yes. Every Scottish repeater carries &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, plus &amp;lt;code&amp;gt;sco-admin&amp;lt;/code&amp;gt; and the peering roots &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;wls&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt; — these are included in every repeater script.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;should-every-repeater-have-every-scottish-region&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Should every repeater have every Scottish region? ====&lt;br /&gt;
&lt;br /&gt;
No. That would defeat the purpose of regions. Repeaters should only list the areas they genuinely serve.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;should-we-use-gb-sco-instead-of-sco&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Should we use &amp;lt;code&amp;gt;gb-sco&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;? ====&lt;br /&gt;
&lt;br /&gt;
Not for this Scottish scheme. Some wider UK or international guides use ISO-style codes, but the local Scottish agreement is to use short three-letter codes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;can-a-repeater-be-in-more-than-one-region&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Can a repeater be in more than one region? ====&lt;br /&gt;
&lt;br /&gt;
Yes. That is useful for high sites, border areas, or repeaters that genuinely link neighbouring areas.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;can-we-allow-for-compatibility&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Can we allow &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; for compatibility? ====&lt;br /&gt;
&lt;br /&gt;
No. The Scottish MeshCore setup does not allow wildcard forwarding. Use the correct region scope instead.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;summary&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Summary ===&lt;br /&gt;
&lt;br /&gt;
Regions give the Scottish MeshCore community a simple way to organise the network as it grows.&lt;br /&gt;
&lt;br /&gt;
Our agreed approach is:&lt;br /&gt;
&lt;br /&gt;
* Use three-letter lowercase codes.&lt;br /&gt;
* Use &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; for Scotland.&lt;br /&gt;
* Carry &amp;lt;code&amp;gt;sco-admin&amp;lt;/code&amp;gt; and the peering roots &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;wls&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt; alongside &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; on every repeater.&lt;br /&gt;
* Use &amp;lt;code&amp;gt;cen&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;tay&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;fif&amp;lt;/code&amp;gt; for major regions where they match coverage.&lt;br /&gt;
* Use &amp;lt;code&amp;gt;fal&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;dun&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;per&amp;lt;/code&amp;gt; for local areas.&lt;br /&gt;
* Use &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; for Island of Ireland traffic under the IOI peering agreement.&lt;br /&gt;
* Deny wildcard forwarding with &amp;lt;code&amp;gt;region denyf *&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Do not use long prefixes such as &amp;lt;code&amp;gt;gb-sco&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;sco-fal&amp;lt;/code&amp;gt; in this local scheme.&lt;br /&gt;
&lt;br /&gt;
This gives us a clean, readable, and expandable foundation for building a coordinated Scottish MeshCore network.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=MeshCore/Scopes&amp;diff=54</id>
		<title>MeshCore/Scopes</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=MeshCore/Scopes&amp;diff=54"/>
		<updated>2026-11-03T17:58:47Z</updated>

		<summary type="html">&lt;p&gt;Admin: Add hig scope code&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Scopes}}&lt;br /&gt;
&amp;lt;span id=&amp;quot;meshcore-scopes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== MeshCore Scopes ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-success&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Quick start for most users:&#039;&#039;&#039; open the app, go to &#039;&#039;&#039;Experimental Settings&#039;&#039;&#039;, set &#039;&#039;&#039;Default Scope Region&#039;&#039;&#039; to &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;. That is all you need for normal Scottish traffic.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-warning&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Watch out:&#039;&#039;&#039; if you do not have a suitable &#039;&#039;&#039;scope&#039;&#039;&#039; set, repeaters on the Scottish MeshCore network wont forward your traffic. You can end up &#039;&#039;&#039;shouting into the void&#039;&#039;&#039;. Check your default scope and each channel’s scope before you count on messages reaching anyone.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Scope is the single setting that makes or breaks whether your messages go anywhere on ScotMesh. The channel name is for people — the scope is for the mesh. Set your &#039;&#039;&#039;default&#039;&#039;&#039; to &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, then adjust per channel when you need something narrower.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-info&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ScotMesh setup:&#039;&#039;&#039; Under &#039;&#039;&#039;Experimental Settings&#039;&#039;&#039;, set the default scope region to &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, and keep &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; available in your scope list as well so you can pick it when you need it. For each channel, set scope to match &#039;&#039;&#039;where the traffic should travel&#039;&#039;&#039;—for example &amp;lt;code&amp;gt;#edinburgh&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt;. On &#039;&#039;&#039;&amp;lt;code&amp;gt;#ireland&amp;lt;/code&amp;gt;&#039;&#039;&#039;, you may use &#039;&#039;&#039;&amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&#039;&#039;&#039;: use &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; when the message should ride the Island of Ireland scoped path (IOI peering); use &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; when you want the same channel but Scotland-wide scoped carriage on the mesh.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;why-scope-matters&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 🤷 Why scope matters ===&lt;br /&gt;
&lt;br /&gt;
Without scope, repeaters have no way to know whether to carry your traffic. With it, messages travel through exactly the right part of the network.&lt;br /&gt;
&lt;br /&gt;
* Keep Scottish traffic inside Scotland where appropriate.&lt;br /&gt;
* Allow controlled traffic to and from the Island of Ireland (IOI peering).&lt;br /&gt;
* Reduce unnecessary flooding.&lt;br /&gt;
* Keep the network easier to grow.&lt;br /&gt;
&lt;br /&gt;
For example channel names and typical scopes, see [[MeshCore/Channels|Channels]]. For repeater region codes, see [[MeshCore/Regions|Regions]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;what-region-scope-means&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 🗺️ What region scope means ===&lt;br /&gt;
&lt;br /&gt;
Think of scope like a postcode on a letter — it tells the mesh where the message is meant to go.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;sco = Scotland-wide&lt;br /&gt;
edi = Edinburgh area (example local)&lt;br /&gt;
ioi = Island of Ireland (IOI peering)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
A message scoped to &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; is forwarded by repeaters that carry &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;as a region. A message scoped to &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; is forwarded by repeaters that carry &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;as a region. If scope is missing or wrong for your path, the message will go nowhere, it is dropped and ceases to exist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;wildcard-forwarding-is-not-allowed&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 🚫 Wildcard forwarding is not allowed ===&lt;br /&gt;
&lt;br /&gt;
The wildcard marker is &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;. Do not rely on it for routing — the Scottish MeshCore setup expects explicit region scopes.&lt;br /&gt;
&lt;br /&gt;
In the &#039;&#039;&#039;Companion App&#039;&#039;&#039;, your channel scope should always be a &#039;&#039;&#039;real region code&#039;&#039;&#039; (&amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, and so on). On &#039;&#039;&#039;repeaters&#039;&#039;&#039;, CLI examples sometimes show &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; as the &#039;&#039;&#039;parent&#039;&#039;&#039; in a region tree (for example &amp;lt;code&amp;gt;region put sco *&amp;lt;/code&amp;gt;); that is a different idea from wildcard &#039;&#039;&#039;forwarding&#039;&#039;&#039; and is covered in [[MeshCore/Regions|Regions]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;documented-scope-codes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 📋 Documented scope codes ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Scope&lt;br /&gt;
! Typical use&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&lt;br /&gt;
| Scotland-wide traffic&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;sco-admin&amp;lt;/code&amp;gt;&lt;br /&gt;
| Scotland-only, for bots and utilities (never peered out)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cen&amp;lt;/code&amp;gt;&lt;br /&gt;
| Central Scotland&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;fif&amp;lt;/code&amp;gt;&lt;br /&gt;
| Fife&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;tay&amp;lt;/code&amp;gt;&lt;br /&gt;
| Tayside&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;hig&amp;lt;/code&amp;gt;&lt;br /&gt;
| Highlands&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt;&lt;br /&gt;
| Glasgow area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt;&lt;br /&gt;
| Edinburgh area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;fal&amp;lt;/code&amp;gt;&lt;br /&gt;
| Falkirk area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;sti&amp;lt;/code&amp;gt;&lt;br /&gt;
| Stirling area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;per&amp;lt;/code&amp;gt;&lt;br /&gt;
| Perth area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dun&amp;lt;/code&amp;gt;&lt;br /&gt;
| Dundee area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;&lt;br /&gt;
| Island of Ireland / IOI peering&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;wls&amp;lt;/code&amp;gt;&lt;br /&gt;
| Wales — peering&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt;&lt;br /&gt;
| North East England — peering&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For most day-to-day traffic in Scotland, &#039;&#039;&#039;&amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&#039;&#039;&#039; is the right default. Use a &#039;&#039;&#039;local&#039;&#039;&#039; code when traffic should stay in that area, regardless of channel name.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;default-scope-and-per-channel-scope&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== ⚙️ Default scope and per-channel scope ===&lt;br /&gt;
&lt;br /&gt;
On ScotMesh, set your &#039;&#039;&#039;default&#039;&#039;&#039; scope region to &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;. In the mobile app this is usually under &#039;&#039;&#039;Experimental Settings&#039;&#039;&#039;. Flood packets from the companion then use &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; unless a &#039;&#039;&#039;group channel&#039;&#039;&#039; has its own scope.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Per-channel scope overrides the default.&#039;&#039;&#039; Examples:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;#glasgow&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt; keeps traffic in the Glasgow-area part of the mesh.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;#ireland&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;&#039;&#039;&#039; — message is scoped for the Island of Ireland path (IOI peering repeaters).&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;#ireland&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&#039;&#039;&#039; — same channel name, but the packet is Scotland-wide scoped; repeaters treat it like other &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; traffic.&lt;br /&gt;
&lt;br /&gt;
Keep both &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; in your available scopes so you can switch. For background, see MeshCore [https://blog.meshcore.io/2026/04/17/default-scope Default Scope Region].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;how-to-set-region-scope-in-the-companion-app&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 📱 How to set region scope in the Companion App ===&lt;br /&gt;
&lt;br /&gt;
Menus vary by app version and platform; the usual flow is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;1. Open the MeshCore Companion App&lt;br /&gt;
2. Open the channel you want to use&lt;br /&gt;
3. Open the channel options or channel menu&lt;br /&gt;
4. Find the region scope option&lt;br /&gt;
5. Select or add the region code you need&lt;br /&gt;
6. Send with that scope active&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Often the channel menu includes something like &#039;&#039;&#039;Set Region Scope&#039;&#039;&#039;, then you pick or type the code (for example &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;examples&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 💬 Examples ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scotland-wide&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;Channel: #scotland&lt;br /&gt;
Scope:   sco&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Local (example)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;Channel: #glasgow&lt;br /&gt;
Scope:   gla&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;#ireland&amp;lt;/code&amp;gt; with Island of Ireland scope&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;Channel: #ireland&lt;br /&gt;
Scope:   ioi&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;#ireland&amp;lt;/code&amp;gt; with Scotland-wide scope&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;Channel: #ireland&lt;br /&gt;
Scope:   sco&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The channel name does not set scope by itself — you still choose &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; (or another code) in the channel settings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;quick-choices&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== ⚡ Quick choices ===&lt;br /&gt;
&lt;br /&gt;
* Normal Scottish chat: default &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;#scotland&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Local-only: local scope such as &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt; when traffic should stay in that area.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;#ireland&amp;lt;/code&amp;gt;:&#039;&#039;&#039; &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; for IOI-scoped path, &#039;&#039;&#039;&amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&#039;&#039;&#039; when you want Scotland-wide scoped carriage on that channel.&lt;br /&gt;
* Tests: &amp;lt;code&amp;gt;#test&amp;lt;/code&amp;gt; with whichever scope you are testing (&amp;lt;code&amp;gt;tay&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, …).&lt;br /&gt;
&lt;br /&gt;
If you are unsure, &#039;&#039;&#039;&amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&#039;&#039;&#039; is the safe general default for Scottish-side traffic.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;what-to-avoid&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== ❌ What to avoid ===&lt;br /&gt;
&lt;br /&gt;
* Sending traffic with no region scope.&lt;br /&gt;
* Relying on wildcard forwarding.&lt;br /&gt;
* Assuming the channel name alone chooses routing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;summary&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 📝 Summary ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;Default: sco on ScotMesh&lt;br /&gt;
Override per channel when needed&lt;br /&gt;
#ireland: ioi OR sco&lt;br /&gt;
Local: use the local code when traffic should stay local&lt;br /&gt;
Check your companion app is scoped before you send your initial messages&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Getting scope right keeps mesh traffic logical and the mesh relaible, easier to use and simpler to grow.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=MeshCore/Channels&amp;diff=53</id>
		<title>MeshCore/Channels</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=MeshCore/Channels&amp;diff=53"/>
		<updated>2026-11-03T17:58:44Z</updated>

		<summary type="html">&lt;p&gt;Admin: Add #highlands (hig)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Channels}}&lt;br /&gt;
&amp;lt;span id=&amp;quot;meshcore-channels-now-and-in-the-future&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== MeshCore Channels (now and in the future) ==&lt;br /&gt;
&lt;br /&gt;
Channels are where the conversation happens. Think of them like group chats — anyone with the right device and scope set can join in. There is nothing stopping you creating your own, but the ones below are the agreed community channels so everyone knows where to find each other.&lt;br /&gt;
&lt;br /&gt;
In the Scottish MeshCore network, what really matters for routing is &#039;&#039;&#039;region scope&#039;&#039;&#039; — not the channel name. The channel name is for people; the scope is for the mesh.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;channel-name-and-scope&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 🏷️ Channel name and scope ===&lt;br /&gt;
&lt;br /&gt;
A channel name and a region scope are related, but they are not the same thing.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;Channel: #edinburgh&lt;br /&gt;
Scope:   edi&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The channel name is what you see. The scope is what tells the mesh to carry your message through Edinburgh-area repeaters.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-info&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Joining a channel does not automatically set the scope.&lt;br /&gt;
&lt;br /&gt;
Before sending, check the channel settings in the Companion App and make sure the scope matches where you want the message to travel.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;current-2026-and-proposed-2027-and-beyond-channels&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 📡 Current (2026) and proposed (2027 and beyond) channels ===&lt;br /&gt;
&lt;br /&gt;
The following table lists known community channels and proposed channels for Scotland.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type is documentation only; it is not a Companion App setting&#039;&#039;&#039;. It groups channels by how you pick them: &#039;&#039;&#039;Wide&#039;&#039;&#039; for large-footprint traffic (whether the scope is &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;), &#039;&#039;&#039;Regional&#039;&#039;&#039; for Scottish region area channels, and &#039;&#039;&#039;Local&#039;&#039;&#039; for Scottish City / town / metropolitan areas. Set &#039;&#039;&#039;Scope&#039;&#039;&#039; to match the reach you want.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Channel&lt;br /&gt;
! Type&lt;br /&gt;
! Scope&lt;br /&gt;
! Status&lt;br /&gt;
! Use&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#scotland&amp;lt;/code&amp;gt;&lt;br /&gt;
| Wide&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&lt;br /&gt;
| Current&lt;br /&gt;
| General Scotland-wide MeshCore traffic.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#ireland&amp;lt;/code&amp;gt;&lt;br /&gt;
| Wide&lt;br /&gt;
| &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&lt;br /&gt;
| Current&lt;br /&gt;
| General Island of Ireland traffic.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#norniron&amp;lt;/code&amp;gt;&lt;br /&gt;
| Wide&lt;br /&gt;
| &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&lt;br /&gt;
| Current&lt;br /&gt;
| Northern Ireland Traffic&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#thenorf&amp;lt;/code&amp;gt;&lt;br /&gt;
| Wide&lt;br /&gt;
| &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt;&lt;br /&gt;
| Current&lt;br /&gt;
| North East England traffic.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#northeast&amp;lt;/code&amp;gt;&lt;br /&gt;
| Wide&lt;br /&gt;
| &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt;&lt;br /&gt;
| Current&lt;br /&gt;
| North East England traffic.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#highlands&amp;lt;/code&amp;gt;&lt;br /&gt;
| Regional&lt;br /&gt;
| &amp;lt;code&amp;gt;hig&amp;lt;/code&amp;gt;&lt;br /&gt;
| Current&lt;br /&gt;
| Highlands traffic (currently used around Inverness).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#central&amp;lt;/code&amp;gt;&lt;br /&gt;
| Regional&lt;br /&gt;
| &amp;lt;code&amp;gt;cen&amp;lt;/code&amp;gt;&lt;br /&gt;
| Proposed&lt;br /&gt;
| Central Scotland traffic.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#dundee&amp;lt;/code&amp;gt;&lt;br /&gt;
| Local&lt;br /&gt;
| &amp;lt;code&amp;gt;dun&amp;lt;/code&amp;gt;&lt;br /&gt;
| Proposed&lt;br /&gt;
| Dundee area traffic.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#edinburgh&amp;lt;/code&amp;gt;&lt;br /&gt;
| Local&lt;br /&gt;
| &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt;&lt;br /&gt;
| Proposed&lt;br /&gt;
| Edinburgh area traffic.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#falkirk&amp;lt;/code&amp;gt;&lt;br /&gt;
| Local&lt;br /&gt;
| &amp;lt;code&amp;gt;fal&amp;lt;/code&amp;gt;&lt;br /&gt;
| Proposed&lt;br /&gt;
| Falkirk area traffic.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#fife&amp;lt;/code&amp;gt;&lt;br /&gt;
| Regional&lt;br /&gt;
| &amp;lt;code&amp;gt;fif&amp;lt;/code&amp;gt;&lt;br /&gt;
| Current&lt;br /&gt;
| Fife area traffic.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#glasgow&amp;lt;/code&amp;gt;&lt;br /&gt;
| Local&lt;br /&gt;
| &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt;&lt;br /&gt;
| Proposed&lt;br /&gt;
| Glasgow area traffic.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#perth&amp;lt;/code&amp;gt;&lt;br /&gt;
| Local&lt;br /&gt;
| &amp;lt;code&amp;gt;per&amp;lt;/code&amp;gt;&lt;br /&gt;
| Proposed&lt;br /&gt;
| Perth area traffic.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#tayside&amp;lt;/code&amp;gt;&lt;br /&gt;
| Regional&lt;br /&gt;
| &amp;lt;code&amp;gt;tay&amp;lt;/code&amp;gt;&lt;br /&gt;
| Proposed&lt;br /&gt;
| Tayside traffic.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#test&amp;lt;/code&amp;gt;&lt;br /&gt;
| Wide&lt;br /&gt;
| Set the scope being tested&lt;br /&gt;
| Current&lt;br /&gt;
| Test messages. Use &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt;, or another scope that matches what you are testing.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;As of Summer 2026, The ScotMesh MC Mesh is still in its early growth phase. As such there is no pressing requirement to restrict in-country traffic to sub regions or local regions. In practical terms country wide traffic will not cause us any issues for at least another year, probably longer. So the country wide region &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; will be enough until then.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Proposed channels are shared names the community is still settling on. They are listed here so that people can talk about the same idea using the same name and scope, rather than ending up with several competing versions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;choosing-the-right-channel-in-the-future-2027-and-beyond&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 🤔 Choosing the right channel in the future (2027 and beyond ===&lt;br /&gt;
&lt;br /&gt;
Use the &#039;&#039;&#039;narrowest scope&#039;&#039;&#039; that still fits what you are sending. Examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;#scotland / sco          Scotland-wide mesh (Current)&lt;br /&gt;
#edinburgh / edi         Local area (same idea for #glasgow/gla, #fife/fif, #dundee/dun, …)(Future)&lt;br /&gt;
#test / &amp;lt;scope&amp;gt;          Pick the scope you are actually testing (current)&lt;br /&gt;
#ireland / ioi or sco    Island of Ireland channel (pick scope for the path you want) (current)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;good-practice-for-the-future-expanded-mesh&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 👍 Good practice for the future expanded mesh ===&lt;br /&gt;
&lt;br /&gt;
* Keep local traffic local where possible.&lt;br /&gt;
* Use &amp;lt;code&amp;gt;#test&amp;lt;/code&amp;gt; for test messages so normal channels stay readable.&lt;br /&gt;
* Use Scotland-wide scope only when the conversation is relevant across Scotland.&lt;br /&gt;
* Use &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; when the message belongs on the Island of Ireland scope, or &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; on &amp;lt;code&amp;gt;#ireland&amp;lt;/code&amp;gt; when you want Scotland-wide scoped carriage (see [[MeshCore/Scopes|Scopes]]).&lt;br /&gt;
* Wildcard forwarding will remain disable in the Scottish setup.&lt;br /&gt;
* New public channel names tend to land better when discussed with the community first.&lt;br /&gt;
* Always check the Companion App scope before sending — a wrong scope and your message goes nowhere useful.&lt;br /&gt;
&lt;br /&gt;
For more detail on setting scope in the Companion App, see [[MeshCore/Scopes|Scopes]]. For repeater and region code guidance, see [[MeshCore/Regions|Regions]]. For &#039;&#039;&#039;MQTT observers&#039;&#039;&#039; and map uplink, see [[MeshCore/Observers|Observers]].&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=MeshCore/Getting_Started&amp;diff=52</id>
		<title>MeshCore/Getting Started</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=MeshCore/Getting_Started&amp;diff=52"/>
		<updated>2026-11-03T17:58:41Z</updated>

		<summary type="html">&lt;p&gt;Admin: Condense connect steps; scope/hash now in main Settings; cleaner intro notes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Getting Started}}&lt;br /&gt;
&amp;lt;span id=&amp;quot;getting-started-within-scotmesh&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Getting Started within ScotMesh 🏴󠁧󠁢󠁳󠁣󠁴󠁿 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;what-is-scotmesh&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 🏴󠁧󠁢󠁳󠁣󠁴󠁿 What is ScotMesh? ===&lt;br /&gt;
&lt;br /&gt;
ScotMesh is community radio messaging networks across Scotland. It uses small, low-power LoRa radios to carry short messages between people — no mobile network, no Wi-Fi, no internet required.&lt;br /&gt;
Think of it like a local text messaging service that works off-grid, powered by volunteer-run repeaters dotted across the country.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-info&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ScotMesh runs both Meshtastic and MeshCore. This guide covers &#039;&#039;&#039;MeshCore&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Never used MeshCore before? Good — this is the place to start. No radio knowledge needed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-info&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This guide is written for &#039;&#039;&#039;companion node&#039;&#039;&#039; devices — small LoRa radios that pair with the MeshCore Companion App on your phone. More capable standalone devices do exist, but those are out of scope for this guide. If you are setting one of those up, ask in the [https://discord.gg/ytxfyuDmSt Discord] for advice.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;what-you-need&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 🎒 What you need ===&lt;br /&gt;
&lt;br /&gt;
* A MeshCore &#039;&#039;&#039;companion node&#039;&#039;&#039; — a small LoRa radio that pairs with your phone over Bluetooth.&lt;br /&gt;
* A smartphone — Android or iPhone both work.&lt;br /&gt;
* That is it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-info&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not sure which companion node to get? Ask in the [https://discord.gg/ytxfyuDmSt Discord] and the community can point you in the right direction.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;get-the-app&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 📱 1. Get the app ===&lt;br /&gt;
&lt;br /&gt;
Download the &#039;&#039;&#039;MeshCore Companion App&#039;&#039;&#039; on your phone.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Android:&#039;&#039;&#039; [https://play.google.com/store/search?q=meshcore MeshCore on Google Play]&lt;br /&gt;
* &#039;&#039;&#039;iPhone:&#039;&#039;&#039; [https://apps.apple.com/search?term=meshcore MeshCore on the App Store]&lt;br /&gt;
&lt;br /&gt;
Open the app once it has installed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;flash-the-latest-firmware-to-the-lora-device&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 👨‍💻 2. Flash the Latest Firmware to the LoRa Device ===&lt;br /&gt;
&lt;br /&gt;
Before configuring the node, flash the LoRa device with the latest correct firmware for your exact hardware.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;&#039;Important:&#039;&#039;&#039; Do &#039;&#039;&#039;not&#039;&#039;&#039; use the firmware that came pre-installed on the node.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Pre-installed firmware may be outdated, built for a different board variant, or configured incorrectly for our mesh. Using the wrong firmware can cause connection issues, missing features, failed regional settings, or unreliable repeater behaviour.&lt;br /&gt;
&lt;br /&gt;
Download the latest firmware from https://meshcore.io/, making sure you select the correct build for your exact device type, for example:&lt;br /&gt;
&lt;br /&gt;
* RAK4631&lt;br /&gt;
* Heltec&lt;br /&gt;
* T114&lt;br /&gt;
* SenseCAP&lt;br /&gt;
* Waveshare&lt;br /&gt;
* Other supported hardware&lt;br /&gt;
&lt;br /&gt;
After flashing, reboot the device and confirm the firmware version before continuing with the rest of the setup.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;connect-your-device&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 🔵 3. Connect your device ===&lt;br /&gt;
&lt;br /&gt;
# Make sure your LoRa device is powered on.&lt;br /&gt;
# In the app, tap &#039;&#039;&#039;Add Device&#039;&#039;&#039; or the connect button.&lt;br /&gt;
# The app will search for nearby devices over Bluetooth. Select yours from the list.&lt;br /&gt;
# Wait a moment for it to connect. You should see your device appear in the app.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-info&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the device does not show up, make sure Bluetooth is enabled on your phone and that the device is in pairing mode. Check your device’s instructions if you are unsure.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;the-companion-node-settings&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== ⚙️ 3. The companion node settings ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-info&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Regions&#039;&#039;&#039; split the mesh into geographic areas so traffic stays local and relevant, while agreed neighbours still interconnect. Your node&#039;s &#039;&#039;&#039;default scope&#039;&#039;&#039; is the region it uses for any traffic that has no scope of its own — which is why getting it right matters.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Before you can send anything from your companion app, you need to set it up for use in the ScotMesh MC mesh.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;connecting-a-newly-flashed-companion-node-to-scotmesh&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Connecting a Newly Flashed Companion Node to ScotMesh ===&lt;br /&gt;
&lt;br /&gt;
After flashing the latest companion-node firmware, use the &#039;&#039;&#039;MeshCore app&#039;&#039;&#039; to connect to the node by Bluetooth and configure it for ScotMesh.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Power on the node, open the &#039;&#039;&#039;MeshCore app&#039;&#039;&#039;, and connect to it over Bluetooth — on the connect screen, scan and select your node.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Confirm the firmware version shown is the latest correct build for your device, then give the node a clear, recognisable name so other ScotMesh users can spot it.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open the node settings and set the radio region to &#039;&#039;&#039;UK/EU&#039;&#039;&#039;.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;On the main &#039;&#039;&#039;Settings&#039;&#039;&#039; screen, set &#039;&#039;&#039;Default Scope&#039;&#039;&#039; to &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; and &#039;&#039;&#039;Default Hash Size&#039;&#039;&#039; to &amp;lt;code&amp;gt;3 byte&amp;lt;/code&amp;gt;. (Older app versions kept these under &#039;&#039;&#039;Experimental Settings&#039;&#039;&#039;.)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Save, reboot if prompted, then reconnect and check both settings are still set.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open the ScotMesh channel and send a test message, for example &amp;lt;code&amp;gt;Test from my new ScotMesh node&amp;lt;/code&amp;gt;, to confirm it sends.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once these steps are complete, the companion node should be connected to ScotMesh and ready to send messages using the Scottish default scope.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-warning&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default scope is the most important setting on ScotMesh. Without it, your messages may not travel anywhere useful on our network.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;send-your-first-message-in-the-scotland-channel.&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 💬 4. Send your first message in the #scotland channel. ===&lt;br /&gt;
&lt;br /&gt;
# In the app, open or create a channel called &amp;lt;code&amp;gt;#scotland&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Check the channel scope is set to &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;. If the app shows a scope option, make sure it says &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Type a short hello and send it.&lt;br /&gt;
&lt;br /&gt;
That is all you need to do. If there is a repeater nearby, your message should travel through the mesh.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;nothing-coming-back&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 🤔 5. Nothing coming back? ===&lt;br /&gt;
&lt;br /&gt;
Do not worry — this is normal at first.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Check your scope.&#039;&#039;&#039; Go back to step 2 and confirm &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; is set as the default and on the &amp;lt;code&amp;gt;#scotland&amp;lt;/code&amp;gt; channel.&lt;br /&gt;
* &#039;&#039;&#039;Check repeater coverage.&#039;&#039;&#039; It is best &#039;&#039;&#039;NOT TO USE&#039;&#039;&#039; [https://map.meshcore.io/ MeshCore Node Map] to see if there are any repeaters near you. It is not up to date and can give false promise of coverage. Use the discover nearby nodes Scanner in the Meshcore app tools. &amp;amp;gt; The web map is inaccurate and alway out of date. The companion app map will be empty until it hears adverts. the only way to reliably check for repeaters is to use the repeater search tool in the companion app&lt;br /&gt;
* &#039;&#039;&#039;Try &amp;lt;code&amp;gt;#test&amp;lt;/code&amp;gt;.&#039;&#039;&#039; Send a message in a channel called &amp;lt;code&amp;gt;#test&amp;lt;/code&amp;gt; with scope &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; — this is what the community uses for testing. If someone else is active they may respond.&lt;br /&gt;
* &#039;&#039;&#039;Ask for help.&#039;&#039;&#039; The [https://discord.gg/ytxfyuDmSt Discord] is friendly and someone will help you work out what is happening.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;where-to-go-next&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 🗺️ Where to go next ===&lt;br /&gt;
&lt;br /&gt;
Once you are up and running:&lt;br /&gt;
&lt;br /&gt;
* [[MeshCore/Scopes|Scopes]] explains what scope means and how to set it properly for different channels.&lt;br /&gt;
* [[MeshCore/Channels|Channels]] lists the agreed community channels and what scope to use with each.&lt;br /&gt;
* [[MeshCore/Repeater Quick Setup|Repeater Quick Setup]] is for you if you want to set up a repeater and help the network grow.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=MeshCore/Channels&amp;diff=51</id>
		<title>MeshCore/Channels</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=MeshCore/Channels&amp;diff=51"/>
		<updated>2026-11-03T17:54:26Z</updated>

		<summary type="html">&lt;p&gt;Admin: Add #thenorf and #northeast channels (eng-ne)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Channels}}&lt;br /&gt;
&amp;lt;span id=&amp;quot;meshcore-channels-now-and-in-the-future&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== MeshCore Channels (now and in the future) ==&lt;br /&gt;
&lt;br /&gt;
Channels are where the conversation happens. Think of them like group chats — anyone with the right device and scope set can join in. There is nothing stopping you creating your own, but the ones below are the agreed community channels so everyone knows where to find each other.&lt;br /&gt;
&lt;br /&gt;
In the Scottish MeshCore network, what really matters for routing is &#039;&#039;&#039;region scope&#039;&#039;&#039; — not the channel name. The channel name is for people; the scope is for the mesh.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;channel-name-and-scope&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 🏷️ Channel name and scope ===&lt;br /&gt;
&lt;br /&gt;
A channel name and a region scope are related, but they are not the same thing.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;Channel: #edinburgh&lt;br /&gt;
Scope:   edi&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The channel name is what you see. The scope is what tells the mesh to carry your message through Edinburgh-area repeaters.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-info&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Joining a channel does not automatically set the scope.&lt;br /&gt;
&lt;br /&gt;
Before sending, check the channel settings in the Companion App and make sure the scope matches where you want the message to travel.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;current-2026-and-proposed-2027-and-beyond-channels&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 📡 Current (2026) and proposed (2027 and beyond) channels ===&lt;br /&gt;
&lt;br /&gt;
The following table lists known community channels and proposed channels for Scotland.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type is documentation only; it is not a Companion App setting&#039;&#039;&#039;. It groups channels by how you pick them: &#039;&#039;&#039;Wide&#039;&#039;&#039; for large-footprint traffic (whether the scope is &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;), &#039;&#039;&#039;Regional&#039;&#039;&#039; for Scottish region area channels, and &#039;&#039;&#039;Local&#039;&#039;&#039; for Scottish City / town / metropolitan areas. Set &#039;&#039;&#039;Scope&#039;&#039;&#039; to match the reach you want.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Channel&lt;br /&gt;
! Type&lt;br /&gt;
! Scope&lt;br /&gt;
! Status&lt;br /&gt;
! Use&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#scotland&amp;lt;/code&amp;gt;&lt;br /&gt;
| Wide&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&lt;br /&gt;
| Current&lt;br /&gt;
| General Scotland-wide MeshCore traffic.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#ireland&amp;lt;/code&amp;gt;&lt;br /&gt;
| Wide&lt;br /&gt;
| &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&lt;br /&gt;
| Current&lt;br /&gt;
| General Island of Ireland traffic.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#norniron&amp;lt;/code&amp;gt;&lt;br /&gt;
| Wide&lt;br /&gt;
| &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&lt;br /&gt;
| Current&lt;br /&gt;
| Northern Ireland Traffic&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#thenorf&amp;lt;/code&amp;gt;&lt;br /&gt;
| Wide&lt;br /&gt;
| &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt;&lt;br /&gt;
| Current&lt;br /&gt;
| North East England traffic.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#northeast&amp;lt;/code&amp;gt;&lt;br /&gt;
| Wide&lt;br /&gt;
| &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt;&lt;br /&gt;
| Current&lt;br /&gt;
| North East England traffic.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#central&amp;lt;/code&amp;gt;&lt;br /&gt;
| Regional&lt;br /&gt;
| &amp;lt;code&amp;gt;cen&amp;lt;/code&amp;gt;&lt;br /&gt;
| Proposed&lt;br /&gt;
| Central Scotland traffic.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#dundee&amp;lt;/code&amp;gt;&lt;br /&gt;
| Local&lt;br /&gt;
| &amp;lt;code&amp;gt;dun&amp;lt;/code&amp;gt;&lt;br /&gt;
| Proposed&lt;br /&gt;
| Dundee area traffic.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#edinburgh&amp;lt;/code&amp;gt;&lt;br /&gt;
| Local&lt;br /&gt;
| &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt;&lt;br /&gt;
| Proposed&lt;br /&gt;
| Edinburgh area traffic.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#falkirk&amp;lt;/code&amp;gt;&lt;br /&gt;
| Local&lt;br /&gt;
| &amp;lt;code&amp;gt;fal&amp;lt;/code&amp;gt;&lt;br /&gt;
| Proposed&lt;br /&gt;
| Falkirk area traffic.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#fife&amp;lt;/code&amp;gt;&lt;br /&gt;
| Regional&lt;br /&gt;
| &amp;lt;code&amp;gt;fif&amp;lt;/code&amp;gt;&lt;br /&gt;
| Current&lt;br /&gt;
| Fife area traffic.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#glasgow&amp;lt;/code&amp;gt;&lt;br /&gt;
| Local&lt;br /&gt;
| &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt;&lt;br /&gt;
| Proposed&lt;br /&gt;
| Glasgow area traffic.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#perth&amp;lt;/code&amp;gt;&lt;br /&gt;
| Local&lt;br /&gt;
| &amp;lt;code&amp;gt;per&amp;lt;/code&amp;gt;&lt;br /&gt;
| Proposed&lt;br /&gt;
| Perth area traffic.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#tayside&amp;lt;/code&amp;gt;&lt;br /&gt;
| Regional&lt;br /&gt;
| &amp;lt;code&amp;gt;tay&amp;lt;/code&amp;gt;&lt;br /&gt;
| Proposed&lt;br /&gt;
| Tayside traffic.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#test&amp;lt;/code&amp;gt;&lt;br /&gt;
| Wide&lt;br /&gt;
| Set the scope being tested&lt;br /&gt;
| Current&lt;br /&gt;
| Test messages. Use &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt;, or another scope that matches what you are testing.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;As of Summer 2026, The ScotMesh MC Mesh is still in its early growth phase. As such there is no pressing requirement to restrict in-country traffic to sub regions or local regions. In practical terms country wide traffic will not cause us any issues for at least another year, probably longer. So the country wide region &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; will be enough until then.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Proposed channels are shared names the community is still settling on. They are listed here so that people can talk about the same idea using the same name and scope, rather than ending up with several competing versions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;choosing-the-right-channel-in-the-future-2027-and-beyond&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 🤔 Choosing the right channel in the future (2027 and beyond ===&lt;br /&gt;
&lt;br /&gt;
Use the &#039;&#039;&#039;narrowest scope&#039;&#039;&#039; that still fits what you are sending. Examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;#scotland / sco          Scotland-wide mesh (Current)&lt;br /&gt;
#edinburgh / edi         Local area (same idea for #glasgow/gla, #fife/fif, #dundee/dun, …)(Future)&lt;br /&gt;
#test / &amp;lt;scope&amp;gt;          Pick the scope you are actually testing (current)&lt;br /&gt;
#ireland / ioi or sco    Island of Ireland channel (pick scope for the path you want) (current)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;good-practice-for-the-future-expanded-mesh&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 👍 Good practice for the future expanded mesh ===&lt;br /&gt;
&lt;br /&gt;
* Keep local traffic local where possible.&lt;br /&gt;
* Use &amp;lt;code&amp;gt;#test&amp;lt;/code&amp;gt; for test messages so normal channels stay readable.&lt;br /&gt;
* Use Scotland-wide scope only when the conversation is relevant across Scotland.&lt;br /&gt;
* Use &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; when the message belongs on the Island of Ireland scope, or &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; on &amp;lt;code&amp;gt;#ireland&amp;lt;/code&amp;gt; when you want Scotland-wide scoped carriage (see [[MeshCore/Scopes|Scopes]]).&lt;br /&gt;
* Wildcard forwarding will remain disable in the Scottish setup.&lt;br /&gt;
* New public channel names tend to land better when discussed with the community first.&lt;br /&gt;
* Always check the Companion App scope before sending — a wrong scope and your message goes nowhere useful.&lt;br /&gt;
&lt;br /&gt;
For more detail on setting scope in the Companion App, see [[MeshCore/Scopes|Scopes]]. For repeater and region code guidance, see [[MeshCore/Regions|Regions]]. For &#039;&#039;&#039;MQTT observers&#039;&#039;&#039; and map uplink, see [[MeshCore/Observers|Observers]].&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=MeshCore/Repeater_Quick_Setup&amp;diff=50</id>
		<title>MeshCore/Repeater Quick Setup</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=MeshCore/Repeater_Quick_Setup&amp;diff=50"/>
		<updated>2026-11-03T17:37:41Z</updated>

		<summary type="html">&lt;p&gt;Admin: Tidy callout spacing (remove empty paragraph)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Repeater Quick Setup}}&lt;br /&gt;
&amp;lt;span id=&amp;quot;meshcore-repeater-quick-setup&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== MeshCore Repeater Quick Setup ==&lt;br /&gt;
&lt;br /&gt;
This is the short version for setting up a MeshCore repeater on ScotMesh.&lt;br /&gt;
&lt;br /&gt;
A repeater helps the network by hearing MeshCore traffic and passing it on. A good repeater in a good location can make a big difference for everyone nearby.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-warning&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ScotMesh does not use wildcard forwarding.&lt;br /&gt;
&lt;br /&gt;
Add the right regions, allow those regions, and deny wildcard forwarding with &amp;lt;code&amp;gt;region denyf *&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;quick-settings&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Quick settings ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Setting&lt;br /&gt;
! Use&lt;br /&gt;
|-&lt;br /&gt;
| Configurator&lt;br /&gt;
| MeshCore web flasher: &amp;lt;code&amp;gt;https://meshcore.io/flasher&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Preset&lt;br /&gt;
| UK / EU Narrow&lt;br /&gt;
|-&lt;br /&gt;
| Device role&lt;br /&gt;
| Repeater&lt;br /&gt;
|-&lt;br /&gt;
| Browser&lt;br /&gt;
| Chrome or Edge&lt;br /&gt;
|-&lt;br /&gt;
| Baseline regions&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sco-admin&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;wls&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Local regions&lt;br /&gt;
| Add only the areas the repeater genuinely serves&lt;br /&gt;
|-&lt;br /&gt;
| Wildcard forwarding&lt;br /&gt;
| Deny with &amp;lt;code&amp;gt;region denyf *&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Flood advert interval&lt;br /&gt;
| 24 hours&lt;br /&gt;
|-&lt;br /&gt;
| Path hash&lt;br /&gt;
| &amp;lt;code&amp;gt;set path.hash.mode 2&amp;lt;/code&amp;gt; (3-byte, avoids collisions)&lt;br /&gt;
|-&lt;br /&gt;
| Double ACKs&lt;br /&gt;
| &amp;lt;code&amp;gt;set multi.acks 1&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Default scope&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; — &#039;&#039;&#039;required&#039;&#039;&#039; so other repeaters accept your adverts&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;before-you-start&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Before you start ===&lt;br /&gt;
&lt;br /&gt;
You will need:&lt;br /&gt;
&lt;br /&gt;
* A supported LoRa device — open the [https://meshcore.io/flasher MeshCore Flasher] to see what can be flashed, or ask on [https://discord.gg/ytxfyuDmSt Discord].&lt;br /&gt;
* A USB data cable, not a charge-only cable.&lt;br /&gt;
* A laptop or desktop with Chrome or Edge.&lt;br /&gt;
* A sensible repeater location.&lt;br /&gt;
* Reliable power.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-info&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Location matters more than almost anything else.&lt;br /&gt;
&lt;br /&gt;
A modest repeater in a high, clear spot is usually more useful than a powerful setup hidden indoors.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;choose-your-region-settings&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Choose your region settings ===&lt;br /&gt;
&lt;br /&gt;
Start with the baseline &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sco-admin&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;wls&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt;, then add the local areas the repeater genuinely covers.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Location / coverage&lt;br /&gt;
! Regions to add&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Any Scottish repeater&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sco-admin&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;wls&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt;&lt;br /&gt;
| Baseline ScotMesh setup.&lt;br /&gt;
|-&lt;br /&gt;
| Fife&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;fif&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sco-admin&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;wls&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt;&lt;br /&gt;
| Fife-wide coverage.&lt;br /&gt;
|-&lt;br /&gt;
| Central Scotland&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cen&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sco-admin&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;wls&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt;&lt;br /&gt;
| Wider Central belt coverage.&lt;br /&gt;
|-&lt;br /&gt;
| Falkirk&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cen&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;fal&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sco-admin&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;wls&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt;&lt;br /&gt;
| Falkirk local coverage.&lt;br /&gt;
|-&lt;br /&gt;
| Edinburgh area&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cen&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sco-admin&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;wls&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt;&lt;br /&gt;
| Edinburgh-facing Central Scotland coverage.&lt;br /&gt;
|-&lt;br /&gt;
| Glasgow area&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cen&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sco-admin&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;wls&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt;&lt;br /&gt;
| Glasgow-facing Central Scotland coverage.&lt;br /&gt;
|-&lt;br /&gt;
| Tayside&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;tay&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sco-admin&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;wls&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt;&lt;br /&gt;
| Wider Tayside coverage.&lt;br /&gt;
|-&lt;br /&gt;
| Dundee area&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;tay&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;dun&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sco-admin&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;wls&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt;&lt;br /&gt;
| Dundee local coverage.&lt;br /&gt;
|-&lt;br /&gt;
| Perth area&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;tay&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;per&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sco-admin&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;wls&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt;&lt;br /&gt;
| Perth local coverage.&lt;br /&gt;
|-&lt;br /&gt;
| High site / bridge&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sco-admin&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;wls&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt;, plus genuinely served areas&lt;br /&gt;
| Do not add every region just because it is listed.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;simple-setup-flow&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Simple setup flow ===&lt;br /&gt;
&lt;br /&gt;
# Open the MeshCore web flasher in Chrome or Edge.&lt;br /&gt;
# Select your device.&lt;br /&gt;
# Choose the repeater role.&lt;br /&gt;
# Use the UK / EU Narrow preset.&lt;br /&gt;
# Flash the device with the latest stable firmware&lt;br /&gt;
# Set a clear repeater name.&lt;br /&gt;
# Add the right regions from the table above.&lt;br /&gt;
# Set flood adverts to 24 hours.&lt;br /&gt;
# Deny wildcard forwarding.&lt;br /&gt;
# Set &amp;lt;code&amp;gt;region default sco&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Save the region configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;simple-command-examples&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Simple command examples ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;baseline-scottish-repeater&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Baseline Scottish repeater ====&lt;br /&gt;
&lt;br /&gt;
Use this when the repeater is part of ScotMesh but does not have a more specific local region yet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;region def sco|* sco-admin|* ioi|* wls|* eng-ne&lt;br /&gt;
region denyf *&lt;br /&gt;
set flood.advert.interval 24&lt;br /&gt;
set multi.acks 1&lt;br /&gt;
set path.hash.mode 2&lt;br /&gt;
region default sco&lt;br /&gt;
region save&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-warning&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Without &amp;lt;code&amp;gt;region default sco&amp;lt;/code&amp;gt;, your repeater’s adverts are sent unscoped. The Scottish network denies unscoped forwarding (&amp;lt;code&amp;gt;region denyf *&amp;lt;/code&amp;gt;), so other repeaters will reject those adverts and will not know your repeater is there.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;fife-repeater&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Fife repeater ====&lt;br /&gt;
&lt;br /&gt;
Use this when the repeater serves Fife.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;region def sco fif|* sco-admin|* ioi|* wls|* eng-ne&lt;br /&gt;
region denyf *&lt;br /&gt;
set flood.advert.interval 24&lt;br /&gt;
set multi.acks 1&lt;br /&gt;
set path.hash.mode 2&lt;br /&gt;
region default sco&lt;br /&gt;
region save&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;central-scotland-falkirk-repeater&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Central Scotland / Falkirk repeater ====&lt;br /&gt;
&lt;br /&gt;
Use this when the repeater serves Falkirk and wider Central Scotland.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;region def sco cen fal|* sco-admin|* ioi|* wls|* eng-ne&lt;br /&gt;
region denyf *&lt;br /&gt;
set flood.advert.interval 24&lt;br /&gt;
set multi.acks 1&lt;br /&gt;
set path.hash.mode 2&lt;br /&gt;
region default sco&lt;br /&gt;
region save&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;good-repeater-habits&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Good repeater habits ===&lt;br /&gt;
&lt;br /&gt;
* Put the repeater as high and clear as you reasonably can.&lt;br /&gt;
* Use stable power.&lt;br /&gt;
* Keep the antenna vertical.&lt;br /&gt;
* Give the repeater a name people can recognise.&lt;br /&gt;
* Add only the regions it genuinely serves.&lt;br /&gt;
* Use &amp;lt;code&amp;gt;region denyf *&amp;lt;/code&amp;gt;; do not allow wildcard forwarding.&lt;br /&gt;
* Set &amp;lt;code&amp;gt;region default sco&amp;lt;/code&amp;gt; so your adverts are accepted by the rest of the mesh.&lt;br /&gt;
* Set flood adverts to 24 hours.&lt;br /&gt;
* Ask the community before inventing new region codes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;where-to-go-next&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Where to go next ===&lt;br /&gt;
&lt;br /&gt;
* [[MeshCore/Regions|Regions]] has the fuller region guide and more command examples.&lt;br /&gt;
* [[MeshCore/Scopes|Scopes]] explains what Companion App users need to set.&lt;br /&gt;
* [[MeshCore/Channels|Channels]] lists the agreed and proposed channels.&lt;br /&gt;
* [https://docs.meshcore.io/cli_commands/ MeshCore CLI Commands] is the upstream command reference.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;appendix-what-the-key-commands-mean&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Appendix: what the key commands mean ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Command&lt;br /&gt;
! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;region def sco …&amp;lt;/code&amp;gt;&lt;br /&gt;
| Define the whole region tree in one line: the default scope first, then each code, with &amp;lt;code&amp;gt;name|*&amp;lt;/code&amp;gt; resetting to the root.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;set multi.acks 1&amp;lt;/code&amp;gt;&lt;br /&gt;
| Turn on double ACKs.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;set path.hash.mode 2&amp;lt;/code&amp;gt;&lt;br /&gt;
| Use the 3-byte path hash (avoids collisions).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;region denyf *&amp;lt;/code&amp;gt;&lt;br /&gt;
| Deny unscoped wildcard forwarding.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;set flood.advert.interval 24&amp;lt;/code&amp;gt;&lt;br /&gt;
| Set flood adverts to 24 hours.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;region default sco&amp;lt;/code&amp;gt;&lt;br /&gt;
| Set the default scope so adverts from this repeater are scoped to &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; and accepted by the mesh.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;region save&amp;lt;/code&amp;gt;&lt;br /&gt;
| Save the region configuration.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=MeshCore/Regions&amp;diff=49</id>
		<title>MeshCore/Regions</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=MeshCore/Regions&amp;diff=49"/>
		<updated>2026-11-03T17:37:36Z</updated>

		<summary type="html">&lt;p&gt;Admin: Tidy callout spacing (remove empty paragraph)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Regions}}&lt;br /&gt;
&amp;lt;span id=&amp;quot;meshcore-regions&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== MeshCore Regions ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-info&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE - A Regional Framework was impelemented in the ScotMesh Meshcore Mesh at the beginning of April 2026. This was out of sheer necessity as our mesh was dying under the flood traffic from England (24,000 flood packets &amp;amp;amp; 600+ messages daily). This saved our mesh from descending into a chaotic, unusable mess of incoherent rambles and frustrated messaging failures. This is why an understaning of regions is imperative to understanding where we are today.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
This guide is for &#039;&#039;&#039;repeater owners&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The aim is simple: keep the scheme readable, predictable, and usable as the network grows.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;why-regions-are-needed&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Why regions are needed ===&lt;br /&gt;
&lt;br /&gt;
MeshCore messages travel through repeaters for onward routing. Whilst this is the core function, if every repeater carries every message everywhere, the network becomes noisy, inefficient and flooded with uneccessary traffic.&lt;br /&gt;
&lt;br /&gt;
Regions help us:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Keep local traffic local&#039;&#039;&#039; — In the future, a message that only matters in one area wont always need to be repeated across every part of Scotland.&lt;br /&gt;
# &#039;&#039;&#039;Reduce unnecessary radio traffic&#039;&#039;&#039; — LoRa is subject to a finite airtime cycle per hour (compared with Wi-Fi or mobile data), so every avoidable repeat uses valuable airtime.&lt;br /&gt;
# &#039;&#039;&#039;Improve reliability&#039;&#039;&#039; — Less unnecessary repeating leaves more room for useful messages.&lt;br /&gt;
# &#039;&#039;&#039;Make planning clearer&#039;&#039;&#039; — Regions make repeater deployment easier to map, identify needs, plan future expansion and ease of ongoing mesh maintenance.&lt;br /&gt;
# &#039;&#039;&#039;Support controlled peering&#039;&#039;&#039; — Strategic repeaters can deliberately carry neighbouring traffic, such as the &#039;&#039;&#039;IOI peering agreement&#039;&#039;&#039; between Scotland and the Island of Ireland.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;regions-and-scopes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Regions and scopes ===&lt;br /&gt;
&lt;br /&gt;
There are two related concepts: &#039;&#039;&#039;regions&#039;&#039;&#039; and &#039;&#039;&#039;scopes&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Term&lt;br /&gt;
! Meaning&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Region&#039;&#039;&#039;&lt;br /&gt;
| A label configured on a repeater to describe the area it serves.&lt;br /&gt;
| An Edinburgh-area repeater includes &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Scope&#039;&#039;&#039;&lt;br /&gt;
| A label applied to messages or channels to describe which area (or region) the traffic is intended to travel.&lt;br /&gt;
| The &amp;lt;code&amp;gt;#glasgow&amp;lt;/code&amp;gt; channel might use &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt; when traffic should stay in that area.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In a densely populated mesh, a repeater should only carry scoped traffic for regions it genuinely serves. In new or embryonic meshes, this requirment will be a future need but best practise planning mandates introducing regions as early as is practical.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;wildcard-forwarding-is-not-allowed-see-info-box-at-top-of-this-document-for-context.&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Wildcard forwarding is not allowed (see info box at top of this document for context). ===&lt;br /&gt;
&lt;br /&gt;
The wildcard marker is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;*&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-warning&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The important rule is: &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; will appear as a root parent in the region tree, but wildcard forwarding must be denied.&lt;br /&gt;
&lt;br /&gt;
In other words, &amp;lt;code&amp;gt;region put sco *&amp;lt;/code&amp;gt; is correct, but must be preceeded by &amp;lt;code&amp;gt;region denyf *&amp;lt;/code&amp;gt; .&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
The Scottish MeshCore setup does not allow wildcard forwarding. Repeater owners must deny wildcard forwarding with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;region denyf *&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
You may still see &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; as the root parent when defining the region tree, for example &amp;lt;code&amp;gt;region put sco *&amp;lt;/code&amp;gt;. That is different from allowing wildcard forwarding.&lt;br /&gt;
&lt;br /&gt;
For channel names and suggested scopes, see [[MeshCore/Channels|Channels]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;scottish-region-code-approach&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Scottish region code approach ===&lt;br /&gt;
&lt;br /&gt;
For Scotland, we use simple three-letter lowercase codes.&lt;br /&gt;
&lt;br /&gt;
We are not part of any UK wide mesh (for context see comment box at the top of this documnet) Therefore, &#039;&#039;&#039;we are not using any long prefixed names&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We use short codes such as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;sco&lt;br /&gt;
cen&lt;br /&gt;
fal&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Other countries and communities may use ISO-style hierarchical codes. That is valid for them, but the Scottish convention is designed to be short and easy to read in apps, analyser tools, and community discussions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;current-june-2026-agreed-region-codes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Agreed region codes ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code&lt;br /&gt;
! Area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&lt;br /&gt;
| Scotland — the default scope, carried by every Scottish repeater&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;sco-admin&amp;lt;/code&amp;gt;&lt;br /&gt;
| Scotland-only, for bots and utilities. Never peered out.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cen&amp;lt;/code&amp;gt;&lt;br /&gt;
| Central Scotland&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt;&lt;br /&gt;
| Edinburgh area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt;&lt;br /&gt;
| Glasgow area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;fal&amp;lt;/code&amp;gt;&lt;br /&gt;
| Falkirk area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;sti&amp;lt;/code&amp;gt;&lt;br /&gt;
| Stirling area (proposed)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;fif&amp;lt;/code&amp;gt;&lt;br /&gt;
| Fife&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;tay&amp;lt;/code&amp;gt;&lt;br /&gt;
| Tayside&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dun&amp;lt;/code&amp;gt;&lt;br /&gt;
| Dundee area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;per&amp;lt;/code&amp;gt;&lt;br /&gt;
| Perth area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;&lt;br /&gt;
| Island of Ireland — peering root beside &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;wls&amp;lt;/code&amp;gt;&lt;br /&gt;
| Wales — peering root beside &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt;&lt;br /&gt;
| North East England — peering root beside &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ioi-peering-agreement&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== IOI peering agreement ===&lt;br /&gt;
&lt;br /&gt;
The Scottish and Irish MeshCore communities maintain a &#039;&#039;&#039;peering agreement&#039;&#039;&#039;: scoped traffic is carried on the other network only where &#039;&#039;&#039;both&#039;&#039;&#039; sides configure for it.&lt;br /&gt;
&lt;br /&gt;
Under that agreement, Scottish repeaters add the &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; region alongside &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; where the Scottish baseline applies, and Island of Ireland repeaters add &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; alongside their own region codes in the same spirit. Messages with matching &#039;&#039;&#039;scopes&#039;&#039;&#039; can then move between the two networks predictably, without relying on wildcard forwarding. For example channel names and typical scopes, see [[MeshCore/Channels|Channels]].&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; code is &#039;&#039;&#039;not&#039;&#039;&#039; a Scottish local region. It marks repeaters and traffic that deliberately participate in that peering.&lt;br /&gt;
&lt;br /&gt;
Do not use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;ioi-sco&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;ioi&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;peering-with-scotland-other-regions&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Peering with Scotland (other regions) ====&lt;br /&gt;
&lt;br /&gt;
If another region wants to peer with Scotland in a similar way, they should already have the following in place:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Wildcard flooding disallowed&#039;&#039;&#039; on their repeaters (the same principle as the Scottish setup: deny wildcard forwarding with &amp;lt;code&amp;gt;region denyf *&amp;lt;/code&amp;gt;; see [[#wildcard-forwarding-is-not-allowed|Wildcard forwarding is not allowed]]).&lt;br /&gt;
# &#039;&#039;&#039;Appropriate regions on their repeaters&#039;&#039;&#039; so traffic is not forwarded wider than intended, and Scottish repeaters are not flooded with scoped traffic they did not agree to carry.&lt;br /&gt;
# &#039;&#039;&#039;Neighbouring Scotland in RF terms&#039;&#039;&#039; so equipment can &#039;&#039;&#039;directly&#039;&#039;&#039; peer, rather than assuming long unofficial relay chains.&lt;br /&gt;
&lt;br /&gt;
When that fits your situation, contact the Scottish Mesh community on [https://discord.gg/ytxfyuDmSt Discord] so we can discuss scope names, boundaries, and a safe rollout.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;recommended-hierarchy&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Recommended hierarchy ===&lt;br /&gt;
&lt;br /&gt;
Although the hierarchy is not written into the code itself, it can be thought of like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;sco&lt;br /&gt;
  cen&lt;br /&gt;
    edi&lt;br /&gt;
    gla&lt;br /&gt;
    fal&lt;br /&gt;
    sti   (proposed)&lt;br /&gt;
  fif&lt;br /&gt;
  tay&lt;br /&gt;
    dun&lt;br /&gt;
    per&lt;br /&gt;
sco-admin&lt;br /&gt;
ioi&lt;br /&gt;
wls&lt;br /&gt;
eng-ne&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In plain English:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; is for Scotland-wide traffic, and &amp;lt;code&amp;gt;sco-admin&amp;lt;/code&amp;gt; is a Scotland-only root for bots and utilities.&lt;br /&gt;
* &amp;lt;code&amp;gt;cen&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;tay&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;fif&amp;lt;/code&amp;gt; are Scottish sub regions.&lt;br /&gt;
* &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;fal&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sti&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;dun&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;per&amp;lt;/code&amp;gt; are local areas.&lt;br /&gt;
* &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; (Island of Ireland), &amp;lt;code&amp;gt;wls&amp;lt;/code&amp;gt; (Wales) and &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt; (North East England) are peering roots beside &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;suggested-repeater-configuration-policy&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Suggested repeater configuration policy ===&lt;br /&gt;
&lt;br /&gt;
A Scottish repeater should normally be configured with:&lt;br /&gt;
&lt;br /&gt;
# The country code &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;sco-admin&amp;lt;/code&amp;gt; for Scotland-only utility traffic.&lt;br /&gt;
# The peering roots &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;wls&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt;.&lt;br /&gt;
# The relevant regional code.&lt;br /&gt;
# The relevant local code, if appropriate.&lt;br /&gt;
# Any neighbouring codes that the repeater genuinely serves.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-warning&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do not allow wildcard forwarding.&lt;br /&gt;
&lt;br /&gt;
In command line interface (CLI) examples, this means using &amp;lt;code&amp;gt;region denyf *&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;falkirk-central-scotland-repeater&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Falkirk / Central Scotland repeater ====&lt;br /&gt;
&lt;br /&gt;
A repeater covering the Falkirk area would usually have:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;sco&lt;br /&gt;
cen&lt;br /&gt;
fal&lt;br /&gt;
sco-admin&lt;br /&gt;
ioi&lt;br /&gt;
wls&lt;br /&gt;
eng-ne&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;edinburgh-facing-central-scotland-repeater&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Edinburgh-facing Central Scotland repeater ====&lt;br /&gt;
&lt;br /&gt;
A repeater that mainly serves Central Scotland but has strong coverage towards Edinburgh might use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;sco&lt;br /&gt;
cen&lt;br /&gt;
edi&lt;br /&gt;
sco-admin&lt;br /&gt;
ioi&lt;br /&gt;
wls&lt;br /&gt;
eng-ne&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;fife-repeater&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Fife repeater ====&lt;br /&gt;
&lt;br /&gt;
A Fife repeater would usually have:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;sco&lt;br /&gt;
fif&lt;br /&gt;
sco-admin&lt;br /&gt;
ioi&lt;br /&gt;
wls&lt;br /&gt;
eng-ne&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
If it genuinely provides useful Central Scotland coverage, it may also include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;cen&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;scottish-repeaters-and-ioi&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Scottish repeaters and &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
Scottish repeaters carry the peering roots &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;wls&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt; alongside &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;sco-admin&amp;lt;/code&amp;gt; — these are included in every repeater script:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;sco&lt;br /&gt;
sco-admin&lt;br /&gt;
ioi&lt;br /&gt;
wls&lt;br /&gt;
eng-ne&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
That keeps peering-capable forwarding available where the Scottish baseline is configured. It does not make &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; a Scottish local region.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;good-practice-for-repeater-owners&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Good practice for repeater owners ===&lt;br /&gt;
&lt;br /&gt;
Use lowercase region codes. Do not use mixed case such as &amp;lt;code&amp;gt;SCO&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Cen&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;FAL&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Use agreed codes. For example, use &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt; for the Edinburgh area, not &amp;lt;code&amp;gt;edn&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;edinburgh&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;gb-edi&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Add only the areas your repeater genuinely serves. A high-site repeater may reasonably serve several areas, but a repeater should not claim every region just because it can occasionally hear distant nodes.&lt;br /&gt;
&lt;br /&gt;
Coordinate before adding new codes. If a new area needs a code, discuss it publicly before using it so that the community does not end up with competing names for the same place.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;suggested-command-examples&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Suggested command examples ===&lt;br /&gt;
&lt;br /&gt;
The exact method may vary depending on firmware version and whether you are using the app, web configurator, USB serial, or remote administration. The upstream reference is the MeshCore [https://docs.meshcore.io/cli_commands/ CLI Commands] documentation, especially the region management commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-info&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
New to repeater setup?&lt;br /&gt;
&lt;br /&gt;
Start with [[MeshCore/Repeater Quick Setup|Repeater Quick Setup]], then come back here for the fuller detail.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
On current firmware (1.16+) the whole region tree goes in one &amp;lt;code&amp;gt;region def&amp;lt;/code&amp;gt; line, followed by &amp;lt;code&amp;gt;region denyf *&amp;lt;/code&amp;gt; and the standard &amp;lt;code&amp;gt;set&amp;lt;/code&amp;gt; commands. The easiest way to get the exact script for your area is the [https://meshcore.scotmesh.net/repeater/ ScotMesh repeater builder]; the examples below show what it produces.&lt;br /&gt;
&lt;br /&gt;
For a Central Scotland / Falkirk repeater:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;region def sco cen fal|* sco-admin|* ioi|* wls|* eng-ne&lt;br /&gt;
region denyf *&lt;br /&gt;
set flood.advert.interval 24&lt;br /&gt;
set multi.acks 1&lt;br /&gt;
set path.hash.mode 2&lt;br /&gt;
region default sco&lt;br /&gt;
region save&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Then check the result with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;region&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
For a Tayside / Dundee repeater:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;region def sco tay dun|* sco-admin|* ioi|* wls|* eng-ne&lt;br /&gt;
region denyf *&lt;br /&gt;
set flood.advert.interval 24&lt;br /&gt;
set multi.acks 1&lt;br /&gt;
set path.hash.mode 2&lt;br /&gt;
region default sco&lt;br /&gt;
region save&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
For a Glasgow-area repeater:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;region def sco cen gla|* sco-admin|* ioi|* wls|* eng-ne&lt;br /&gt;
region denyf *&lt;br /&gt;
set flood.advert.interval 24&lt;br /&gt;
set multi.acks 1&lt;br /&gt;
set path.hash.mode 2&lt;br /&gt;
region default sco&lt;br /&gt;
region save&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
For a repeater that serves Scotland, Central Scotland, Glasgow, Edinburgh, and IOI peering (&amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;region def sco cen|* gla|cen edi|cen sco-admin|* ioi|* wls|* eng-ne&lt;br /&gt;
region denyf *&lt;br /&gt;
set flood.advert.interval 24&lt;br /&gt;
set multi.acks 1&lt;br /&gt;
set path.hash.mode 2&lt;br /&gt;
region default sco&lt;br /&gt;
region save&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-warning&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Set &amp;lt;code&amp;gt;region default sco&amp;lt;/code&amp;gt; on your repeater.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Without a default scope, adverts sent by your repeater go out unscoped. Because the Scottish network uses &amp;lt;code&amp;gt;region denyf *&amp;lt;/code&amp;gt;, other repeaters will reject those unscoped adverts and will never learn your repeater exists. Setting the default scope to &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; ensures your adverts are carried normally across the mesh.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
This is separate from flood forwarding permissions. For more detail, see [https://blog.meshcore.io/2026/04/17/default-scope Default Scope Region].&lt;br /&gt;
&lt;br /&gt;
Always check for an &amp;lt;code&amp;gt;OK&amp;lt;/code&amp;gt; response where applicable, and remember to save the configuration so it survives a reboot.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;firmware-and-app-version-notes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Firmware and app version notes ===&lt;br /&gt;
&lt;br /&gt;
Region and scope support depends on MeshCore firmware and app support.&lt;br /&gt;
&lt;br /&gt;
Use the latest stable MeshCore firmware and app available for your device. Older firmware may still pass some traffic, but region management and scope handling may not behave as expected.&lt;br /&gt;
&lt;br /&gt;
MeshCore region filtering was introduced across firmware and app releases, and default scope support was added later. The MeshCore posts [https://blog.meshcore.io/2026/01/20/region-filtering Region Filtering] and [https://blog.meshcore.io/2026/04/17/default-scope Default Scope Region] are useful background when checking version behaviour.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;naming-and-publishing-new-region-codes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Naming and publishing new region codes ===&lt;br /&gt;
&lt;br /&gt;
When a new Scottish area needs a code, use these rules:&lt;br /&gt;
&lt;br /&gt;
# Use three lowercase letters.&lt;br /&gt;
# Make the code obvious to local users.&lt;br /&gt;
# Avoid clashing with existing agreed codes.&lt;br /&gt;
# Avoid overly small areas unless there is a real need.&lt;br /&gt;
# Discuss the code with the local MeshCore community before publishing it.&lt;br /&gt;
&lt;br /&gt;
Examples of possible future codes might include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;sti = Stirling&lt;br /&gt;
liv = Livingston&lt;br /&gt;
abe = Aberdeen&lt;br /&gt;
inv = Inverness&lt;br /&gt;
ayr = Ayrshire&lt;br /&gt;
bor = Borders&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
These are examples only and should not be treated as agreed until the community confirms them.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;common-questions&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Common questions ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;do-regions-replace-normal-meshcore-messaging&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Do regions replace normal MeshCore messaging? ====&lt;br /&gt;
&lt;br /&gt;
No. Regions help control where scoped traffic is repeated.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;should-every-scottish-repeater-have-sco-and-ioi&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Should every Scottish repeater have the same baseline? ====&lt;br /&gt;
&lt;br /&gt;
Yes. Every Scottish repeater carries &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, plus &amp;lt;code&amp;gt;sco-admin&amp;lt;/code&amp;gt; and the peering roots &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;wls&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt; — these are included in every repeater script.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;should-every-repeater-have-every-scottish-region&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Should every repeater have every Scottish region? ====&lt;br /&gt;
&lt;br /&gt;
No. That would defeat the purpose of regions. Repeaters should only list the areas they genuinely serve.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;should-we-use-gb-sco-instead-of-sco&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Should we use &amp;lt;code&amp;gt;gb-sco&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;? ====&lt;br /&gt;
&lt;br /&gt;
Not for this Scottish scheme. Some wider UK or international guides use ISO-style codes, but the local Scottish agreement is to use short three-letter codes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;can-a-repeater-be-in-more-than-one-region&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Can a repeater be in more than one region? ====&lt;br /&gt;
&lt;br /&gt;
Yes. That is useful for high sites, border areas, or repeaters that genuinely link neighbouring areas.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;can-we-allow-for-compatibility&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Can we allow &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; for compatibility? ====&lt;br /&gt;
&lt;br /&gt;
No. The Scottish MeshCore setup does not allow wildcard forwarding. Use the correct region scope instead.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;summary&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Summary ===&lt;br /&gt;
&lt;br /&gt;
Regions give the Scottish MeshCore community a simple way to organise the network as it grows.&lt;br /&gt;
&lt;br /&gt;
Our agreed approach is:&lt;br /&gt;
&lt;br /&gt;
* Use three-letter lowercase codes.&lt;br /&gt;
* Use &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; for Scotland.&lt;br /&gt;
* Carry &amp;lt;code&amp;gt;sco-admin&amp;lt;/code&amp;gt; and the peering roots &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;wls&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt; alongside &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; on every repeater.&lt;br /&gt;
* Use &amp;lt;code&amp;gt;cen&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;tay&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;fif&amp;lt;/code&amp;gt; for major regions where they match coverage.&lt;br /&gt;
* Use &amp;lt;code&amp;gt;fal&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;dun&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;per&amp;lt;/code&amp;gt; for local areas.&lt;br /&gt;
* Use &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; for Island of Ireland traffic under the IOI peering agreement.&lt;br /&gt;
* Deny wildcard forwarding with &amp;lt;code&amp;gt;region denyf *&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Do not use long prefixes such as &amp;lt;code&amp;gt;gb-sco&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;sco-fal&amp;lt;/code&amp;gt; in this local scheme.&lt;br /&gt;
&lt;br /&gt;
This gives us a clean, readable, and expandable foundation for building a coordinated Scottish MeshCore network.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=MeshCore/Channels&amp;diff=48</id>
		<title>MeshCore/Channels</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=MeshCore/Channels&amp;diff=48"/>
		<updated>2026-11-03T17:37:34Z</updated>

		<summary type="html">&lt;p&gt;Admin: Tidy callout spacing (remove empty paragraph)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Channels}}&lt;br /&gt;
&amp;lt;span id=&amp;quot;meshcore-channels-now-and-in-the-future&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== MeshCore Channels (now and in the future) ==&lt;br /&gt;
&lt;br /&gt;
Channels are where the conversation happens. Think of them like group chats — anyone with the right device and scope set can join in. There is nothing stopping you creating your own, but the ones below are the agreed community channels so everyone knows where to find each other.&lt;br /&gt;
&lt;br /&gt;
In the Scottish MeshCore network, what really matters for routing is &#039;&#039;&#039;region scope&#039;&#039;&#039; — not the channel name. The channel name is for people; the scope is for the mesh.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;channel-name-and-scope&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 🏷️ Channel name and scope ===&lt;br /&gt;
&lt;br /&gt;
A channel name and a region scope are related, but they are not the same thing.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;Channel: #edinburgh&lt;br /&gt;
Scope:   edi&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The channel name is what you see. The scope is what tells the mesh to carry your message through Edinburgh-area repeaters.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-info&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Joining a channel does not automatically set the scope.&lt;br /&gt;
&lt;br /&gt;
Before sending, check the channel settings in the Companion App and make sure the scope matches where you want the message to travel.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;current-2026-and-proposed-2027-and-beyond-channels&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 📡 Current (2026) and proposed (2027 and beyond) channels ===&lt;br /&gt;
&lt;br /&gt;
The following table lists known community channels and proposed channels for Scotland.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type is documentation only; it is not a Companion App setting&#039;&#039;&#039;. It groups channels by how you pick them: &#039;&#039;&#039;Wide&#039;&#039;&#039; for large-footprint traffic (whether the scope is &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;), &#039;&#039;&#039;Regional&#039;&#039;&#039; for Scottish region area channels, and &#039;&#039;&#039;Local&#039;&#039;&#039; for Scottish City / town / metropolitan areas. Set &#039;&#039;&#039;Scope&#039;&#039;&#039; to match the reach you want.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Channel&lt;br /&gt;
! Type&lt;br /&gt;
! Scope&lt;br /&gt;
! Status&lt;br /&gt;
! Use&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#scotland&amp;lt;/code&amp;gt;&lt;br /&gt;
| Wide&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&lt;br /&gt;
| Current&lt;br /&gt;
| General Scotland-wide MeshCore traffic.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#ireland&amp;lt;/code&amp;gt;&lt;br /&gt;
| Wide&lt;br /&gt;
| &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&lt;br /&gt;
| Current&lt;br /&gt;
| General Island of Ireland traffic.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#norniron&amp;lt;/code&amp;gt;&lt;br /&gt;
| Wide&lt;br /&gt;
| &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&lt;br /&gt;
| Current&lt;br /&gt;
| Northern Ireland Traffic&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#central&amp;lt;/code&amp;gt;&lt;br /&gt;
| Regional&lt;br /&gt;
| &amp;lt;code&amp;gt;cen&amp;lt;/code&amp;gt;&lt;br /&gt;
| Proposed&lt;br /&gt;
| Central Scotland traffic.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#dundee&amp;lt;/code&amp;gt;&lt;br /&gt;
| Local&lt;br /&gt;
| &amp;lt;code&amp;gt;dun&amp;lt;/code&amp;gt;&lt;br /&gt;
| Proposed&lt;br /&gt;
| Dundee area traffic.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#edinburgh&amp;lt;/code&amp;gt;&lt;br /&gt;
| Local&lt;br /&gt;
| &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt;&lt;br /&gt;
| Proposed&lt;br /&gt;
| Edinburgh area traffic.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#falkirk&amp;lt;/code&amp;gt;&lt;br /&gt;
| Local&lt;br /&gt;
| &amp;lt;code&amp;gt;fal&amp;lt;/code&amp;gt;&lt;br /&gt;
| Proposed&lt;br /&gt;
| Falkirk area traffic.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#fife&amp;lt;/code&amp;gt;&lt;br /&gt;
| Regional&lt;br /&gt;
| &amp;lt;code&amp;gt;fif&amp;lt;/code&amp;gt;&lt;br /&gt;
| Current&lt;br /&gt;
| Fife area traffic.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#glasgow&amp;lt;/code&amp;gt;&lt;br /&gt;
| Local&lt;br /&gt;
| &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt;&lt;br /&gt;
| Proposed&lt;br /&gt;
| Glasgow area traffic.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#perth&amp;lt;/code&amp;gt;&lt;br /&gt;
| Local&lt;br /&gt;
| &amp;lt;code&amp;gt;per&amp;lt;/code&amp;gt;&lt;br /&gt;
| Proposed&lt;br /&gt;
| Perth area traffic.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#tayside&amp;lt;/code&amp;gt;&lt;br /&gt;
| Regional&lt;br /&gt;
| &amp;lt;code&amp;gt;tay&amp;lt;/code&amp;gt;&lt;br /&gt;
| Proposed&lt;br /&gt;
| Tayside traffic.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#test&amp;lt;/code&amp;gt;&lt;br /&gt;
| Wide&lt;br /&gt;
| Set the scope being tested&lt;br /&gt;
| Current&lt;br /&gt;
| Test messages. Use &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt;, or another scope that matches what you are testing.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;As of Summer 2026, The ScotMesh MC Mesh is still in its early growth phase. As such there is no pressing requirement to restrict in-country traffic to sub regions or local regions. In practical terms country wide traffic will not cause us any issues for at least another year, probably longer. So the country wide region &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; will be enough until then.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Proposed channels are shared names the community is still settling on. They are listed here so that people can talk about the same idea using the same name and scope, rather than ending up with several competing versions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;choosing-the-right-channel-in-the-future-2027-and-beyond&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 🤔 Choosing the right channel in the future (2027 and beyond ===&lt;br /&gt;
&lt;br /&gt;
Use the &#039;&#039;&#039;narrowest scope&#039;&#039;&#039; that still fits what you are sending. Examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;#scotland / sco          Scotland-wide mesh (Current)&lt;br /&gt;
#edinburgh / edi         Local area (same idea for #glasgow/gla, #fife/fif, #dundee/dun, …)(Future)&lt;br /&gt;
#test / &amp;lt;scope&amp;gt;          Pick the scope you are actually testing (current)&lt;br /&gt;
#ireland / ioi or sco    Island of Ireland channel (pick scope for the path you want) (current)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;good-practice-for-the-future-expanded-mesh&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 👍 Good practice for the future expanded mesh ===&lt;br /&gt;
&lt;br /&gt;
* Keep local traffic local where possible.&lt;br /&gt;
* Use &amp;lt;code&amp;gt;#test&amp;lt;/code&amp;gt; for test messages so normal channels stay readable.&lt;br /&gt;
* Use Scotland-wide scope only when the conversation is relevant across Scotland.&lt;br /&gt;
* Use &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; when the message belongs on the Island of Ireland scope, or &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; on &amp;lt;code&amp;gt;#ireland&amp;lt;/code&amp;gt; when you want Scotland-wide scoped carriage (see [[MeshCore/Scopes|Scopes]]).&lt;br /&gt;
* Wildcard forwarding will remain disable in the Scottish setup.&lt;br /&gt;
* New public channel names tend to land better when discussed with the community first.&lt;br /&gt;
* Always check the Companion App scope before sending — a wrong scope and your message goes nowhere useful.&lt;br /&gt;
&lt;br /&gt;
For more detail on setting scope in the Companion App, see [[MeshCore/Scopes|Scopes]]. For repeater and region code guidance, see [[MeshCore/Regions|Regions]]. For &#039;&#039;&#039;MQTT observers&#039;&#039;&#039; and map uplink, see [[MeshCore/Observers|Observers]].&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=MeshCore/Scopes&amp;diff=47</id>
		<title>MeshCore/Scopes</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=MeshCore/Scopes&amp;diff=47"/>
		<updated>2026-11-03T17:37:31Z</updated>

		<summary type="html">&lt;p&gt;Admin: Tidy callout spacing (remove empty paragraph)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Scopes}}&lt;br /&gt;
&amp;lt;span id=&amp;quot;meshcore-scopes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== MeshCore Scopes ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-success&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Quick start for most users:&#039;&#039;&#039; open the app, go to &#039;&#039;&#039;Experimental Settings&#039;&#039;&#039;, set &#039;&#039;&#039;Default Scope Region&#039;&#039;&#039; to &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;. That is all you need for normal Scottish traffic.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-warning&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Watch out:&#039;&#039;&#039; if you do not have a suitable &#039;&#039;&#039;scope&#039;&#039;&#039; set, repeaters on the Scottish MeshCore network wont forward your traffic. You can end up &#039;&#039;&#039;shouting into the void&#039;&#039;&#039;. Check your default scope and each channel’s scope before you count on messages reaching anyone.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Scope is the single setting that makes or breaks whether your messages go anywhere on ScotMesh. The channel name is for people — the scope is for the mesh. Set your &#039;&#039;&#039;default&#039;&#039;&#039; to &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, then adjust per channel when you need something narrower.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-info&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ScotMesh setup:&#039;&#039;&#039; Under &#039;&#039;&#039;Experimental Settings&#039;&#039;&#039;, set the default scope region to &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, and keep &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; available in your scope list as well so you can pick it when you need it. For each channel, set scope to match &#039;&#039;&#039;where the traffic should travel&#039;&#039;&#039;—for example &amp;lt;code&amp;gt;#edinburgh&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt;. On &#039;&#039;&#039;&amp;lt;code&amp;gt;#ireland&amp;lt;/code&amp;gt;&#039;&#039;&#039;, you may use &#039;&#039;&#039;&amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&#039;&#039;&#039;: use &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; when the message should ride the Island of Ireland scoped path (IOI peering); use &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; when you want the same channel but Scotland-wide scoped carriage on the mesh.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;why-scope-matters&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 🤷 Why scope matters ===&lt;br /&gt;
&lt;br /&gt;
Without scope, repeaters have no way to know whether to carry your traffic. With it, messages travel through exactly the right part of the network.&lt;br /&gt;
&lt;br /&gt;
* Keep Scottish traffic inside Scotland where appropriate.&lt;br /&gt;
* Allow controlled traffic to and from the Island of Ireland (IOI peering).&lt;br /&gt;
* Reduce unnecessary flooding.&lt;br /&gt;
* Keep the network easier to grow.&lt;br /&gt;
&lt;br /&gt;
For example channel names and typical scopes, see [[MeshCore/Channels|Channels]]. For repeater region codes, see [[MeshCore/Regions|Regions]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;what-region-scope-means&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 🗺️ What region scope means ===&lt;br /&gt;
&lt;br /&gt;
Think of scope like a postcode on a letter — it tells the mesh where the message is meant to go.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;sco = Scotland-wide&lt;br /&gt;
edi = Edinburgh area (example local)&lt;br /&gt;
ioi = Island of Ireland (IOI peering)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
A message scoped to &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; is forwarded by repeaters that carry &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;as a region. A message scoped to &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; is forwarded by repeaters that carry &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;as a region. If scope is missing or wrong for your path, the message will go nowhere, it is dropped and ceases to exist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;wildcard-forwarding-is-not-allowed&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 🚫 Wildcard forwarding is not allowed ===&lt;br /&gt;
&lt;br /&gt;
The wildcard marker is &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;. Do not rely on it for routing — the Scottish MeshCore setup expects explicit region scopes.&lt;br /&gt;
&lt;br /&gt;
In the &#039;&#039;&#039;Companion App&#039;&#039;&#039;, your channel scope should always be a &#039;&#039;&#039;real region code&#039;&#039;&#039; (&amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, and so on). On &#039;&#039;&#039;repeaters&#039;&#039;&#039;, CLI examples sometimes show &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; as the &#039;&#039;&#039;parent&#039;&#039;&#039; in a region tree (for example &amp;lt;code&amp;gt;region put sco *&amp;lt;/code&amp;gt;); that is a different idea from wildcard &#039;&#039;&#039;forwarding&#039;&#039;&#039; and is covered in [[MeshCore/Regions|Regions]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;documented-scope-codes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 📋 Documented scope codes ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Scope&lt;br /&gt;
! Typical use&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&lt;br /&gt;
| Scotland-wide traffic&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;sco-admin&amp;lt;/code&amp;gt;&lt;br /&gt;
| Scotland-only, for bots and utilities (never peered out)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cen&amp;lt;/code&amp;gt;&lt;br /&gt;
| Central Scotland&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;fif&amp;lt;/code&amp;gt;&lt;br /&gt;
| Fife&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;tay&amp;lt;/code&amp;gt;&lt;br /&gt;
| Tayside&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt;&lt;br /&gt;
| Glasgow area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt;&lt;br /&gt;
| Edinburgh area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;fal&amp;lt;/code&amp;gt;&lt;br /&gt;
| Falkirk area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;sti&amp;lt;/code&amp;gt;&lt;br /&gt;
| Stirling area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;per&amp;lt;/code&amp;gt;&lt;br /&gt;
| Perth area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dun&amp;lt;/code&amp;gt;&lt;br /&gt;
| Dundee area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;&lt;br /&gt;
| Island of Ireland / IOI peering&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;wls&amp;lt;/code&amp;gt;&lt;br /&gt;
| Wales — peering&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt;&lt;br /&gt;
| North East England — peering&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For most day-to-day traffic in Scotland, &#039;&#039;&#039;&amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&#039;&#039;&#039; is the right default. Use a &#039;&#039;&#039;local&#039;&#039;&#039; code when traffic should stay in that area, regardless of channel name.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;default-scope-and-per-channel-scope&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== ⚙️ Default scope and per-channel scope ===&lt;br /&gt;
&lt;br /&gt;
On ScotMesh, set your &#039;&#039;&#039;default&#039;&#039;&#039; scope region to &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;. In the mobile app this is usually under &#039;&#039;&#039;Experimental Settings&#039;&#039;&#039;. Flood packets from the companion then use &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; unless a &#039;&#039;&#039;group channel&#039;&#039;&#039; has its own scope.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Per-channel scope overrides the default.&#039;&#039;&#039; Examples:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;#glasgow&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt; keeps traffic in the Glasgow-area part of the mesh.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;#ireland&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;&#039;&#039;&#039; — message is scoped for the Island of Ireland path (IOI peering repeaters).&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;#ireland&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&#039;&#039;&#039; — same channel name, but the packet is Scotland-wide scoped; repeaters treat it like other &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; traffic.&lt;br /&gt;
&lt;br /&gt;
Keep both &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; in your available scopes so you can switch. For background, see MeshCore [https://blog.meshcore.io/2026/04/17/default-scope Default Scope Region].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;how-to-set-region-scope-in-the-companion-app&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 📱 How to set region scope in the Companion App ===&lt;br /&gt;
&lt;br /&gt;
Menus vary by app version and platform; the usual flow is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;1. Open the MeshCore Companion App&lt;br /&gt;
2. Open the channel you want to use&lt;br /&gt;
3. Open the channel options or channel menu&lt;br /&gt;
4. Find the region scope option&lt;br /&gt;
5. Select or add the region code you need&lt;br /&gt;
6. Send with that scope active&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Often the channel menu includes something like &#039;&#039;&#039;Set Region Scope&#039;&#039;&#039;, then you pick or type the code (for example &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;examples&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 💬 Examples ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scotland-wide&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;Channel: #scotland&lt;br /&gt;
Scope:   sco&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Local (example)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;Channel: #glasgow&lt;br /&gt;
Scope:   gla&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;#ireland&amp;lt;/code&amp;gt; with Island of Ireland scope&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;Channel: #ireland&lt;br /&gt;
Scope:   ioi&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;#ireland&amp;lt;/code&amp;gt; with Scotland-wide scope&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;Channel: #ireland&lt;br /&gt;
Scope:   sco&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The channel name does not set scope by itself — you still choose &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; (or another code) in the channel settings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;quick-choices&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== ⚡ Quick choices ===&lt;br /&gt;
&lt;br /&gt;
* Normal Scottish chat: default &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;#scotland&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Local-only: local scope such as &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt; when traffic should stay in that area.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;#ireland&amp;lt;/code&amp;gt;:&#039;&#039;&#039; &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; for IOI-scoped path, &#039;&#039;&#039;&amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&#039;&#039;&#039; when you want Scotland-wide scoped carriage on that channel.&lt;br /&gt;
* Tests: &amp;lt;code&amp;gt;#test&amp;lt;/code&amp;gt; with whichever scope you are testing (&amp;lt;code&amp;gt;tay&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, …).&lt;br /&gt;
&lt;br /&gt;
If you are unsure, &#039;&#039;&#039;&amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&#039;&#039;&#039; is the safe general default for Scottish-side traffic.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;what-to-avoid&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== ❌ What to avoid ===&lt;br /&gt;
&lt;br /&gt;
* Sending traffic with no region scope.&lt;br /&gt;
* Relying on wildcard forwarding.&lt;br /&gt;
* Assuming the channel name alone chooses routing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;summary&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 📝 Summary ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;Default: sco on ScotMesh&lt;br /&gt;
Override per channel when needed&lt;br /&gt;
#ireland: ioi OR sco&lt;br /&gt;
Local: use the local code when traffic should stay local&lt;br /&gt;
Check your companion app is scoped before you send your initial messages&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Getting scope right keeps mesh traffic logical and the mesh relaible, easier to use and simpler to grow.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=MeshCore/Getting_Started&amp;diff=46</id>
		<title>MeshCore/Getting Started</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=MeshCore/Getting_Started&amp;diff=46"/>
		<updated>2026-11-03T17:37:31Z</updated>

		<summary type="html">&lt;p&gt;Admin: Tidy callout spacing (remove empty paragraph)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Getting Started}}&lt;br /&gt;
&amp;lt;span id=&amp;quot;getting-started-within-scotmesh&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Getting Started within ScotMesh 🏴󠁧󠁢󠁳󠁣󠁴󠁿 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;what-is-scotmesh&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 🏴󠁧󠁢󠁳󠁣󠁴󠁿 What is ScotMesh? ===&lt;br /&gt;
&lt;br /&gt;
ScotMesh is community radio messaging networks across Scotland. It uses small, low-power LoRa radios to carry short messages between people — no mobile network, no Wi-Fi, no internet required.&lt;br /&gt;
Think of it like a local text messaging service that works off-grid, powered by volunteer-run repeaters dotted across the country.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Currently both Meshtastic and Mescore networks are available&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;note-this-document-focuses-on-meschore&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== &#039;&#039;&#039;NOTE This document focuses on Meschore&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Never used MeshCore before? Good — this is the place to start. No radio knowledge needed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-info&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This guide is written for &#039;&#039;&#039;companion node&#039;&#039;&#039; devices — small LoRa radios that pair with the MeshCore Companion App on your phone. More capable standalone devices do exist, but those are out of scope for this guide. If you are setting one of those up, ask in the [https://discord.gg/ytxfyuDmSt Discord] for advice.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;what-you-need&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 🎒 What you need ===&lt;br /&gt;
&lt;br /&gt;
* A MeshCore &#039;&#039;&#039;companion node&#039;&#039;&#039; — a small LoRa radio that pairs with your phone over Bluetooth.&lt;br /&gt;
* A smartphone — Android or iPhone both work.&lt;br /&gt;
* That is it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-info&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not sure which companion node to get? Ask in the [https://discord.gg/ytxfyuDmSt Discord] and the community can point you in the right direction.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;get-the-app&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 📱 1. Get the app ===&lt;br /&gt;
&lt;br /&gt;
Download the &#039;&#039;&#039;MeshCore Companion App&#039;&#039;&#039; on your phone.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Android:&#039;&#039;&#039; [https://play.google.com/store/search?q=meshcore MeshCore on Google Play]&lt;br /&gt;
* &#039;&#039;&#039;iPhone:&#039;&#039;&#039; [https://apps.apple.com/search?term=meshcore MeshCore on the App Store]&lt;br /&gt;
&lt;br /&gt;
Open the app once it has installed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;flash-the-latest-firmware-to-the-lora-device&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 👨‍💻 2. Flash the Latest Firmware to the LoRa Device ===&lt;br /&gt;
&lt;br /&gt;
Before configuring the node, flash the LoRa device with the latest correct firmware for your exact hardware.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;&#039;Important:&#039;&#039;&#039; Do &#039;&#039;&#039;not&#039;&#039;&#039; use the firmware that came pre-installed on the node.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Pre-installed firmware may be outdated, built for a different board variant, or configured incorrectly for our mesh. Using the wrong firmware can cause connection issues, missing features, failed regional settings, or unreliable repeater behaviour.&lt;br /&gt;
&lt;br /&gt;
Download the latest firmware from https://meshcore.io/, making sure you select the correct build for your exact device type, for example:&lt;br /&gt;
&lt;br /&gt;
* RAK4631&lt;br /&gt;
* Heltec&lt;br /&gt;
* T114&lt;br /&gt;
* SenseCAP&lt;br /&gt;
* Waveshare&lt;br /&gt;
* Other supported hardware&lt;br /&gt;
&lt;br /&gt;
After flashing, reboot the device and confirm the firmware version before continuing with the rest of the setup.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;connect-your-device&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 🔵 3. Connect your device ===&lt;br /&gt;
&lt;br /&gt;
# Make sure your LoRa device is powered on.&lt;br /&gt;
# In the app, tap &#039;&#039;&#039;Add Device&#039;&#039;&#039; or the connect button.&lt;br /&gt;
# The app will search for nearby devices over Bluetooth. Select yours from the list.&lt;br /&gt;
# Wait a moment for it to connect. You should see your device appear in the app.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-info&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the device does not show up, make sure Bluetooth is enabled on your phone and that the device is in pairing mode. Check your device’s instructions if you are unsure.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;the-companion-node-settings&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== ⚙️ 3. The companion node settings ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;For these settings, understanding the regional framework is important because it defines how traffic is organised and routed across the mesh. Regions (set on repeater nodes) allow the wider mesh to be split into sensible geographic areas, helping messages, adverts, and repeater traffic stay relevant to the area they are intended for while still allowing agreed neighbouring regions to interconnect where required. Setting the &#039;&#039;&#039;default scope&#039;&#039;&#039; tells the node which region it should use automatically when sending or repeating traffic that does not already have a specific scope applied. In practice, this helps keep local traffic local, reduces unnecessary flooding across unrelated areas, and improves the reliability and manageability of the mesh.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Before you can send anything from your companion app, you need to set it up for use in the ScotMesh MC mesh.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;connecting-a-newly-flashed-companion-node-to-scotmesh&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Connecting a Newly Flashed Companion Node to ScotMesh ===&lt;br /&gt;
&lt;br /&gt;
After flashing the latest companion-node firmware, use the &#039;&#039;&#039;MeshCore app&#039;&#039;&#039; to connect to the node by Bluetooth and configure it for ScotMesh.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Power on the newly flashed companion node.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Open the &#039;&#039;&#039;MeshCore app&#039;&#039;&#039; on your phone.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Make sure Bluetooth is enabled on your phone.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;In the MeshCore app, go to the Bluetooth connection screen.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Scan for nearby Bluetooth MeshCore devices.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Select your newly flashed companion node from the list.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Wait for the app to connect to the node.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Confirm the node shows as connected in the MeshCore app.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Check the firmware version shown in the app and confirm it is the latest correct firmware for your device.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Give the node a clear and recognisable name so other ScotMesh users can identify it.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Open the node settings in the MeshCore app.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Set the LoRa/radio region to the correct UK/EU setting.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Open &#039;&#039;&#039;Experimental Settings&#039;&#039;&#039; and set the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&#039;&#039;&#039;Default Scope:&#039;&#039;&#039; &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&#039;&#039;&#039;Default Hash Size:&#039;&#039;&#039; &amp;lt;code&amp;gt;3 byte&amp;lt;/code&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Save or apply the settings.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Reboot the companion node if the app asks you to do so.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Reconnect to the companion node by Bluetooth after it restarts.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Confirm the &#039;&#039;&#039;Default Scope&#039;&#039;&#039; is still set to &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Confirm the &#039;&#039;&#039;Default Hash Size&#039;&#039;&#039; is still set to &amp;lt;code&amp;gt;3 byte&amp;lt;/code&amp;gt;.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Open the ScotMesh public channel.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Send a short test message, for example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;code&amp;gt;Test from newly configured ScotMesh companion node&amp;lt;/code&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Confirm that the message sends successfully.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once these steps are complete, the companion node should be connected to ScotMesh and ready to send messages using the Scottish default scope.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-warning&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default scope is the most important setting on ScotMesh. Without it, your messages may not travel anywhere useful on our network.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;send-your-first-message-in-the-scotland-channel.&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 💬 4. Send your first message in the #scotland channel. ===&lt;br /&gt;
&lt;br /&gt;
# In the app, open or create a channel called &amp;lt;code&amp;gt;#scotland&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Check the channel scope is set to &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;. If the app shows a scope option, make sure it says &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Type a short hello and send it.&lt;br /&gt;
&lt;br /&gt;
That is all you need to do. If there is a repeater nearby, your message should travel through the mesh.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;nothing-coming-back&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 🤔 5. Nothing coming back? ===&lt;br /&gt;
&lt;br /&gt;
Do not worry — this is normal at first.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Check your scope.&#039;&#039;&#039; Go back to step 2 and confirm &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; is set as the default and on the &amp;lt;code&amp;gt;#scotland&amp;lt;/code&amp;gt; channel.&lt;br /&gt;
* &#039;&#039;&#039;Check repeater coverage.&#039;&#039;&#039; It is best &#039;&#039;&#039;NOT TO USE&#039;&#039;&#039; [https://map.meshcore.io/ MeshCore Node Map] to see if there are any repeaters near you. It is not up to date and can give false promise of coverage. Use the discover nearby nodes Scanner in the Meshcore app tools. &amp;amp;gt; The web map is inaccurate and alway out of date. The companion app map will be empty until it hears adverts. the only way to reliably check for repeaters is to use the repeater search tool in the companion app&lt;br /&gt;
* &#039;&#039;&#039;Try &amp;lt;code&amp;gt;#test&amp;lt;/code&amp;gt;.&#039;&#039;&#039; Send a message in a channel called &amp;lt;code&amp;gt;#test&amp;lt;/code&amp;gt; with scope &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; — this is what the community uses for testing. If someone else is active they may respond.&lt;br /&gt;
* &#039;&#039;&#039;Ask for help.&#039;&#039;&#039; The [https://discord.gg/ytxfyuDmSt Discord] is friendly and someone will help you work out what is happening.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;where-to-go-next&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 🗺️ Where to go next ===&lt;br /&gt;
&lt;br /&gt;
Once you are up and running:&lt;br /&gt;
&lt;br /&gt;
* [[MeshCore/Scopes|Scopes]] explains what scope means and how to set it properly for different channels.&lt;br /&gt;
* [[MeshCore/Channels|Channels]] lists the agreed community channels and what scope to use with each.&lt;br /&gt;
* [[MeshCore/Repeater Quick Setup|Repeater Quick Setup]] is for you if you want to set up a repeater and help the network grow.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=MeshCore&amp;diff=45</id>
		<title>MeshCore</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=MeshCore&amp;diff=45"/>
		<updated>2026-11-03T17:37:30Z</updated>

		<summary type="html">&lt;p&gt;Admin: Tidy callout spacing (remove empty paragraph)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:ScotMesh-meshcore-lockup.svg|link=|alt=ScotMesh MeshCore|240px|class=mc-pagelogo]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;meshes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Meshes ==&lt;br /&gt;
&lt;br /&gt;
ScotMesh has both Meshtastic and MeshCore — radio messaging systems for small LoRa devices. It lets people send short messages across a volunteer-run network without needing mobile coverage, Wi-Fi, or the internet. Carry a small companion node in your pocket, connect it to your phone, and you’re on the mesh.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;the-remainder-of-this-document-focuses-on-meshcore.&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== The remainder of this document focuses on Meshcore. ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;key-ideas&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 💡 Key ideas ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Term&lt;br /&gt;
! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Channel&#039;&#039;&#039;&lt;br /&gt;
| A named place for conversation, such as &amp;lt;code&amp;gt;#scotland&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;#glasgow&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;#ireland&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Scope&#039;&#039;&#039;&lt;br /&gt;
| The region code applied to messages in a channel, such as &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Region&#039;&#039;&#039;&lt;br /&gt;
| A code configured on a repeater to describe the area it serves.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Repeater&#039;&#039;&#039;&lt;br /&gt;
| A fixed node that hears MeshCore traffic and repeats it to extend coverage.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;new-to-scotmesh&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 👋 New to ScotMesh? ===&lt;br /&gt;
&lt;br /&gt;
* [[MeshCore/Getting Started|Getting Started]] — what it is, what you need, your first message.&lt;br /&gt;
* [[MeshCore/Scopes|Scopes]] — the one setting that matters most.&lt;br /&gt;
* [[MeshCore/Channels|Channels]] — where to talk and what scope to use.&lt;br /&gt;
* [[MeshCore/FAQ|FAQ]] — quick answers to common questions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;setting-up-a-repeater&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 📡 Setting up a repeater? ===&lt;br /&gt;
&lt;br /&gt;
* [[MeshCore/Repeater Quick Setup|Repeater Quick Setup]] — start here for hardware and commands.&lt;br /&gt;
* [[MeshCore/Regions|Regions]] — full region code reference and configuration policy.&lt;br /&gt;
* [[MeshCore/Observers|Observers]] — MQTT map uplink setup.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;interested-in-the-technical-detail&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 🔧 Interested in the technical detail? ===&lt;br /&gt;
&lt;br /&gt;
* [https://blog.meshcore.io/2026/01/20/region-filtering Region Filtering]&lt;br /&gt;
* [https://blog.meshcore.io/2026/04/17/default-scope Default Scope Region]&lt;br /&gt;
* [https://docs.meshcore.io/cli_commands/ CLI Commands]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-warning&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ScotMesh network policy:&#039;&#039;&#039; wildcard &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; forwarding is not allowed. Companion App users should set their default region scope to &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; under &#039;&#039;&#039;Experimental Settings&#039;&#039;&#039;. Repeater owners should use &amp;lt;code&amp;gt;region denyf *&amp;lt;/code&amp;gt;. See [[MeshCore/Regions|Regions]] for detail.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=MediaWiki:Common.css&amp;diff=44</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=MediaWiki:Common.css&amp;diff=44"/>
		<updated>2026-11-03T17:37:28Z</updated>

		<summary type="html">&lt;p&gt;Admin: Fix callout box empty-paragraph spacing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* ScotMesh content styles. Core brand (colours/fonts/cards) is render-blocking in LocalSettings. */&lt;br /&gt;
.sm-cx{border-radius:6px;padding:.75rem 1.1rem;margin:1.1rem 0;border-left:4px solid #22324D;background:#101C30}&lt;br /&gt;
.sm-cx-info{border-left-color:#005EB8}&lt;br /&gt;
.sm-cx-warning{border-left-color:#F2B33D}&lt;br /&gt;
.sm-cx-success{border-left-color:#65C281}&lt;br /&gt;
.sm-cx &amp;gt; :first-child{margin-top:0}&lt;br /&gt;
.sm-cx &amp;gt; :last-child{margin-bottom:0}&lt;br /&gt;
.sm-cx p{margin:.5rem 0}&lt;br /&gt;
/* network lockup at the top of a network section page */&lt;br /&gt;
.mc-pagelogo{display:block;margin:.2rem 0 1.3rem}&lt;br /&gt;
.mc-pagelogo img,.mc-pagelogo .mw-file-element{width:min(240px,62%);height:auto}&lt;br /&gt;
/* front-page community join (legacy, still used on Main Page note) */&lt;br /&gt;
.sm-join-note{display:block;font-family:&amp;quot;IBM Plex Mono&amp;quot;,ui-monospace,monospace;font-size:.82rem;color:#8FA2BD;margin:.2rem 0 0}&lt;br /&gt;
.sm-join-note code{color:#E6EDF7;background:#0C1729;border:1px solid #22324D;padding:.05rem .4rem;border-radius:3px}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=MeshCore/MeshMapper-Friendly_Repeaters&amp;diff=43</id>
		<title>MeshCore/MeshMapper-Friendly Repeaters</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=MeshCore/MeshMapper-Friendly_Repeaters&amp;diff=43"/>
		<updated>2026-11-03T17:27:24Z</updated>

		<summary type="html">&lt;p&gt;Admin: Normalise preset label to UK / EU Narrow&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:MeshMapper-Friendly Repeaters}}&lt;br /&gt;
&amp;lt;span id=&amp;quot;meshmapper-friendly-repeater-configuration-spec-for-scotmesh-meshcore&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== MeshMapper-Friendly Repeater Configuration Spec for Scotmesh MeshCore ==&lt;br /&gt;
&lt;br /&gt;
These are guidelines for a uniform configuration of repeaters taking part in &#039;&#039;&#039;Scotmesh MeshCore&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
These are not hard and fast rules, but certain specifications are necessary for smooth MeshMapper reporting. Using these settings will help ensure a smooth-running mesh.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;identification&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Identification ===&lt;br /&gt;
&lt;br /&gt;
Use &#039;&#039;&#039;ASCII characters only&#039;&#039;&#039; for the repeater name.&lt;br /&gt;
&lt;br /&gt;
This makes MeshMapper management much easier, as most emoji characters are &#039;&#039;&#039;not&#039;&#039;&#039; read by MeshMapper.&lt;br /&gt;
&lt;br /&gt;
You can use a single emoji to customise your MeshCore app icon on your companion radio, but this has no effect on the repeater name as seen by MeshMapper.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;location&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Location ===&lt;br /&gt;
&lt;br /&gt;
Repeater location should be set as accurately as possible, while still protecting the safety and security of the repeater site.&lt;br /&gt;
&lt;br /&gt;
For example, setting the repeater location around &#039;&#039;&#039;200 metres&#039;&#039;&#039; from the real location gives a search area of approximately &#039;&#039;&#039;12.6 hectares&#039;&#039;&#039;. This would take a careful walking search of around &#039;&#039;&#039;8 hours&#039;&#039;&#039; to cover.&lt;br /&gt;
&lt;br /&gt;
Setting the location &#039;&#039;&#039;200–250 metres away&#039;&#039;&#039; from the real position gives a useful level of obfuscation while still allowing the repeater to appear correctly on MeshMapper.&lt;br /&gt;
&lt;br /&gt;
If no location is set:&lt;br /&gt;
&lt;br /&gt;
* The repeater will be excluded from MeshMapper&lt;br /&gt;
* You will not see useful telemetry, such as zero-hop neighbours&lt;br /&gt;
* Routing path analysis, enhancements and other mesh planning will not be possible&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;basic-owner-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Basic Owner Information ===&lt;br /&gt;
&lt;br /&gt;
Please ensure basic owner information is set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;advert-settings&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Advert Settings ===&lt;br /&gt;
&lt;br /&gt;
Recommended settings:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Zero-hop advert:&#039;&#039;&#039; 60–120 minutes&lt;br /&gt;
* &#039;&#039;&#039;Flood advert:&#039;&#039;&#039; 24 hours&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;radio-settings&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Radio Settings ===&lt;br /&gt;
&lt;br /&gt;
Please use:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;UK / EU Narrow&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Frequency:&#039;&#039;&#039; 869.618 MHz&lt;br /&gt;
* &#039;&#039;&#039;Spreading Factor:&#039;&#039;&#039; SF8&lt;br /&gt;
* &#039;&#039;&#039;Coding Rate:&#039;&#039;&#039; CR8&lt;br /&gt;
* &#039;&#039;&#039;Bandwidth:&#039;&#039;&#039; 62.5 kHz&lt;br /&gt;
&lt;br /&gt;
Recommended CLI settings:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;set multi.acks 1&lt;br /&gt;
set path.hash.mode 2&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
This enables:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Multi ACKs&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;3-byte path hash&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Please keep your repeater updated with the latest firmware whenever possible.&lt;br /&gt;
&lt;br /&gt;
Please also ensure your companion radio or radios are set to:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Double ACKs on&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;3-byte path hash&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;access&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Access ===&lt;br /&gt;
&lt;br /&gt;
Do not leave the guest login with no password.&lt;br /&gt;
&lt;br /&gt;
For continuity, please set the guest password to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;hello&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
This gives at least some security over the guest login.&lt;br /&gt;
&lt;br /&gt;
Keep your admin password safe.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;region-scope&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Region / Scope ===&lt;br /&gt;
&lt;br /&gt;
Please set both the &#039;&#039;&#039;default scope&#039;&#039;&#039; and &#039;&#039;&#039;home scope&#039;&#039;&#039; to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;sco&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Please also deny flood to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;*&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Channels set to region &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; are:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;Public&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;#scotland&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Optionally, you may also add the channel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;#ireland&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
with region:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;ioi&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Scotland and the Island of Ireland have collaborated very well to construct a civilised MeshCore environment.&lt;br /&gt;
&lt;br /&gt;
As Scotmesh expands, we may add nested sub-regions within &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;time-setting-and-synchronisation-with-meshmapper&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Time Setting and Synchronisation with MeshMapper ===&lt;br /&gt;
&lt;br /&gt;
After power-up of the repeater, the time is always incorrect.&lt;br /&gt;
&lt;br /&gt;
Please use the following procedure to set the correct time and synchronise it with MeshMapper.&lt;br /&gt;
&lt;br /&gt;
This process assumes you have already configured the repeater for use.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;phone-app-method&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Phone App Method ====&lt;br /&gt;
&lt;br /&gt;
# Open the settings page in the phone app.&lt;br /&gt;
# Perform the usual &#039;&#039;&#039;Sync Clock&#039;&#039;&#039; action.&lt;br /&gt;
# Scroll to the bottom of the page.&lt;br /&gt;
# Tap &#039;&#039;&#039;Reboot&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Unlike pressing the physical &#039;&#039;&#039;reset&#039;&#039;&#039; button on the repeater board, this is a &#039;&#039;&#039;soft reset&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
A soft reset does &#039;&#039;&#039;not&#039;&#039;&#039; reset the clock, but it appears to be important for finalising certain settings.&lt;br /&gt;
&lt;br /&gt;
For reference:&lt;br /&gt;
&lt;br /&gt;
* Pressing &#039;&#039;&#039;Reboot&#039;&#039;&#039; in the app is a &#039;&#039;&#039;soft reset&#039;&#039;&#039;&lt;br /&gt;
* Pressing the physical reset button on the board is a &#039;&#039;&#039;hard reset&#039;&#039;&#039;&lt;br /&gt;
* A hard reset resets all settings not stored in flash&lt;br /&gt;
&lt;br /&gt;
You may also use CLI commands to perform the same task if preferred.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;closing-note&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Closing Note ===&lt;br /&gt;
&lt;br /&gt;
I hope this helps with the ease of configuration.&lt;br /&gt;
&lt;br /&gt;
This guide assumes you already understand the menu and command structure of MeshCore repeaters, devices and apps.&lt;br /&gt;
&lt;br /&gt;
If there is a menu item you cannot find, ask on the Discord server and one of the admins or knowledgeable users will help you along.ur content here&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=Meshtastic&amp;diff=42</id>
		<title>Meshtastic</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=Meshtastic&amp;diff=42"/>
		<updated>2026-11-03T17:25:56Z</updated>

		<summary type="html">&lt;p&gt;Admin: Add scotmesh/meshtastic lockup to landing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:ScotMesh-meshtastic-lockup.svg|link=|alt=ScotMesh Meshtastic|240px|class=mc-pagelogo]]&lt;br /&gt;
&lt;br /&gt;
{{DISPLAYTITLE:Meshtastic}}&lt;br /&gt;
&#039;&amp;quot;&#039;&amp;quot;&#039;ScotMesh Meshtastic&#039;&amp;quot;&#039;&amp;quot;&#039; — documentation for the ScotMesh Meshtastic network.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-tagline&amp;quot;&amp;gt;Section layout · content migration in progress&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Introduction and setup guides coming over from the old wiki.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=MeshCore/FAQ&amp;diff=41</id>
		<title>MeshCore/FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=MeshCore/FAQ&amp;diff=41"/>
		<updated>2026-11-03T17:21:58Z</updated>

		<summary type="html">&lt;p&gt;Admin: Improve rendering + apply freshness fixes (regions/scopes/CLI to current)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:FAQ}}&lt;br /&gt;
&amp;lt;span id=&amp;quot;meshcore-faq&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== MeshCore FAQ 🙋 ==&lt;br /&gt;
&lt;br /&gt;
Quick answers to the questions that come up most often. If yours is not here, ask on [https://discord.gg/ytxfyuDmSt Discord].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;do-i-need-a-radio-licence-to-use-meshcore&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Do I need a radio licence to use meshcore? ===&lt;br /&gt;
&lt;br /&gt;
No. MeshCore uses licence-exempt LoRa frequencies (868 MHz in the UK). Anyone can carry a companion node and use the app. No amateur radio licence required.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;what-is-the-range&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== What is the range? ===&lt;br /&gt;
&lt;br /&gt;
It depends heavily on where you are and whether there is a repeater nearby. A companion node in the open might reach a couple of kilometres to a nearby repeater. A well-sited repeater on a hill can cover tens of kilometres. In a city with buildings in the way, range is shorter.&lt;br /&gt;
&lt;br /&gt;
Currently our distance record across water is &#039;&#039;&#039;160km from Galloway to Dublin.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Our record across land is &#039;&#039;&#039;120km from Angus down to SOuth Lanark.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;why-cant-i-hear-anyone&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Why can’t I hear anyone? ===&lt;br /&gt;
&lt;br /&gt;
A few things to check, in order:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Scope is wrong.&#039;&#039;&#039; The most common cause. Go to &#039;&#039;&#039;Experimental Settings&#039;&#039;&#039; in the app and confirm &#039;&#039;&#039;Default Scope Region&#039;&#039;&#039; is set to &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;. Then check the channel scope too — see [[MeshCore/Scopes|Scopes]].&lt;br /&gt;
# &#039;&#039;&#039;No repeater nearby.&#039;&#039;&#039; Use &#039;&#039;&#039;Tools → Repeater Scanner&#039;&#039;&#039; in the MeshCore app to scan for nearby ScotMesh repeaters, then wait for the scan to complete and confirm that local repeaters are being discovered.&lt;br /&gt;
# &#039;&#039;&#039;Wrong radio preset.&#039;&#039;&#039; Make sure your device is flashed with the &#039;&#039;&#039;UK / EU Narrow&#039;&#039;&#039; preset. A device on the wrong channel or spreading factor will not hear anything.&lt;br /&gt;
# &#039;&#039;&#039;Device not transmitting.&#039;&#039;&#039; Try &amp;lt;code&amp;gt;#test&amp;lt;/code&amp;gt; with scope &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; — you should at least see your own message go out.&lt;br /&gt;
&lt;br /&gt;
If you have checked all of the above and still hear nothing, ask on [https://discord.gg/ytxfyuDmSt Discord].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;what-is-the-difference-between-a-channel-and-a-scope&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== What is the difference between a channel and a scope? ===&lt;br /&gt;
&lt;br /&gt;
* A &#039;&#039;&#039;channel&#039;&#039;&#039; is a named group chat — &amp;lt;code&amp;gt;#scotland&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;#glasgow&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;#test&amp;lt;/code&amp;gt;. It is just a label for people.&lt;br /&gt;
* A &#039;&#039;&#039;scope&#039;&#039;&#039; is a region code that repeaters use to decide whether to carry your message — &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
You can send a message on &amp;lt;code&amp;gt;#glasgow&amp;lt;/code&amp;gt; with the scope set to &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; and it will go Scotland-wide. Or you can set the scope to &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt; and it will only travel through Glasgow-area repeaters. The channel name does not change that — the scope does. See [[MeshCore/Scopes|Scopes]] for the full explanation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;why-is-the-wildcard-not-allowed&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Why is the &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; wildcard not allowed? ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; wildcard tells repeaters to forward everything to everyone. On a well-grown network that floods the airtime with traffic that most people do not need. ScotMesh uses deliberate region scopes instead — set &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; for Scotland-wide, &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt; for Glasgow, and so on — so traffic only travels where it is actually useful.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;In late March / early April 2026, the ScotMesh MC network officially formed when West Coast repeaters successfully linked with East Coast repeaters. This gave us around two weeks of reliable country-wide messaging across Scotland, proving that the network could work well as a connected Scottish mesh.The situation changed when our Galloway repeater linked us into Ireland and, through that path, to the remainder of the wider UK mesh. While wider interconnection may sound positive, in practice it created a major problem for ScotMesh. The network was suddenly exposed to a very high level of uncontrolled flood traffic, estimated at around 24,000 flood packets per day, plus around 600 public messages being present. Much of this traffic was unnecessary for Scottish users and included political arguments, off-topic content, and various abusive or inappropriate remarks.&lt;br /&gt;
This level of uncontrolled traffic had a damaging effect on ScotMesh. It increased congestion, reduced the reliability of useful local messaging, and made the network harder to manage. This was the reason ScotMesh moved towards a clearer regional framework, allowing Scotland to remain connected where appropriate while keeping routine traffic scoped, relevant, and manageable. This is also the reason why are unlikely to ever allow wildcard flooding again.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
There is one exception: &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; is used as a root parent in repeater configuration commands (for example &amp;lt;code&amp;gt;region put sco *&amp;lt;/code&amp;gt;). That is a region tree concept, not wildcard forwarding. See [[MeshCore/Regions|Regions]] for the detail.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;can-i-use-scotmesh-without-a-repeater-nearby&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Can I use ScotMesh without a repeater nearby? ===&lt;br /&gt;
&lt;br /&gt;
Yes, but your range is very limited. Two companion nodes in line of sight can talk directly. If there is no repeater between you and another user, messages will only reach as far as direct radio range allows — often just a few hundred metres in built-up areas.&lt;br /&gt;
&lt;br /&gt;
If you want to extend coverage in your area, the best thing to do is put up a repeater. See [[MeshCore/Repeater Quick Setup|Repeater Quick Setup]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;what-device-should-i-buy&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== What device should I buy? ===&lt;br /&gt;
&lt;br /&gt;
The [https://meshcore.io/flasher MeshCore Flasher] lists devices that can be flashed with MeshCore firmware — that is a good starting point for what is currently supported. Popular choices include boards from Heltec, LilyGo, and RAK, but the community’s preferences do shift as new hardware comes out.&lt;br /&gt;
&lt;br /&gt;
The best thing to do is ask on [https://discord.gg/ytxfyuDmSt Discord] — someone will point you at whatever is working well right now.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;how-do-i-know-if-my-device-is-working&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== How do I know if my device is working? ===&lt;br /&gt;
&lt;br /&gt;
Send a message on &amp;lt;code&amp;gt;#test&amp;lt;/code&amp;gt; with scope &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;. If you can see the message appear in the app after sending, the device is transmitting. If someone else on the network responds, you have confirmed two-way comms.&lt;br /&gt;
&lt;br /&gt;
Use &#039;&#039;&#039;Tools → Repeater Scanner&#039;&#039;&#039; in the MeshCore app to scan for nearby ScotMesh repeaters, then wait for the scan to complete and confirm that local repeaters are being discovered.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;do-i-need-to-set-scope-for-every-channel-separately&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Do I need to set scope for every channel separately? ===&lt;br /&gt;
&lt;br /&gt;
Not necessarily. If you set a &#039;&#039;&#039;default scope&#039;&#039;&#039; of &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; in Experimental Settings, that applies to any channel that does not have its own scope override. You only need to set a per-channel scope when you want something different — for example &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt; on &amp;lt;code&amp;gt;#glasgow&amp;lt;/code&amp;gt; to keep traffic local, or &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; on &amp;lt;code&amp;gt;#ireland&amp;lt;/code&amp;gt; for the Island of Ireland path. See [[MeshCore/Scopes|Scopes]] for the full detail.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;what-is-the-island-of-ireland-ioi-scope&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== What is the Island of Ireland (&amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;) scope? ===&lt;br /&gt;
&lt;br /&gt;
ScotMesh and the Irish MeshCore community have a peering agreement. Repeaters on both sides carry the &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; scope so that traffic can move between the two networks in a controlled way — without flooding everything. You can join &amp;lt;code&amp;gt;#ireland&amp;lt;/code&amp;gt; and set scope to &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; to talk on that path. See [[MeshCore/Channels|Channels]] for more.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;something-else-not-answered-here&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Something else not answered here? ===&lt;br /&gt;
&lt;br /&gt;
Jump on [https://discord.gg/ytxfyuDmSt Discord] — the community is friendly and happy to help.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=MeshCore/Repeater_Quick_Setup&amp;diff=40</id>
		<title>MeshCore/Repeater Quick Setup</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=MeshCore/Repeater_Quick_Setup&amp;diff=40"/>
		<updated>2026-11-03T17:21:53Z</updated>

		<summary type="html">&lt;p&gt;Admin: Improve rendering + apply freshness fixes (regions/scopes/CLI to current)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Repeater Quick Setup}}&lt;br /&gt;
&amp;lt;span id=&amp;quot;meshcore-repeater-quick-setup&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== MeshCore Repeater Quick Setup ==&lt;br /&gt;
&lt;br /&gt;
This is the short version for setting up a MeshCore repeater on ScotMesh.&lt;br /&gt;
&lt;br /&gt;
A repeater helps the network by hearing MeshCore traffic and passing it on. A good repeater in a good location can make a big difference for everyone nearby.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-warning&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ScotMesh does not use wildcard forwarding.&lt;br /&gt;
&lt;br /&gt;
Add the right regions, allow those regions, and deny wildcard forwarding with &amp;lt;code&amp;gt;region denyf *&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;quick-settings&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Quick settings ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Setting&lt;br /&gt;
! Use&lt;br /&gt;
|-&lt;br /&gt;
| Configurator&lt;br /&gt;
| MeshCore web flasher: &amp;lt;code&amp;gt;https://meshcore.io/flasher&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Preset&lt;br /&gt;
| UK / EU Narrow&lt;br /&gt;
|-&lt;br /&gt;
| Device role&lt;br /&gt;
| Repeater&lt;br /&gt;
|-&lt;br /&gt;
| Browser&lt;br /&gt;
| Chrome or Edge&lt;br /&gt;
|-&lt;br /&gt;
| Baseline regions&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sco-admin&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;wls&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Local regions&lt;br /&gt;
| Add only the areas the repeater genuinely serves&lt;br /&gt;
|-&lt;br /&gt;
| Wildcard forwarding&lt;br /&gt;
| Deny with &amp;lt;code&amp;gt;region denyf *&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Flood advert interval&lt;br /&gt;
| 24 hours&lt;br /&gt;
|-&lt;br /&gt;
| Path hash&lt;br /&gt;
| &amp;lt;code&amp;gt;set path.hash.mode 2&amp;lt;/code&amp;gt; (3-byte, avoids collisions)&lt;br /&gt;
|-&lt;br /&gt;
| Double ACKs&lt;br /&gt;
| &amp;lt;code&amp;gt;set multi.acks 1&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Default scope&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; — &#039;&#039;&#039;required&#039;&#039;&#039; so other repeaters accept your adverts&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;before-you-start&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Before you start ===&lt;br /&gt;
&lt;br /&gt;
You will need:&lt;br /&gt;
&lt;br /&gt;
* A supported LoRa device — open the [https://meshcore.io/flasher MeshCore Flasher] to see what can be flashed, or ask on [https://discord.gg/ytxfyuDmSt Discord].&lt;br /&gt;
* A USB data cable, not a charge-only cable.&lt;br /&gt;
* A laptop or desktop with Chrome or Edge.&lt;br /&gt;
* A sensible repeater location.&lt;br /&gt;
* Reliable power.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-info&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Location matters more than almost anything else.&lt;br /&gt;
&lt;br /&gt;
A modest repeater in a high, clear spot is usually more useful than a powerful setup hidden indoors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;choose-your-region-settings&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Choose your region settings ===&lt;br /&gt;
&lt;br /&gt;
Start with the baseline &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sco-admin&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;wls&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt;, then add the local areas the repeater genuinely covers.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Location / coverage&lt;br /&gt;
! Regions to add&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Any Scottish repeater&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sco-admin&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;wls&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt;&lt;br /&gt;
| Baseline ScotMesh setup.&lt;br /&gt;
|-&lt;br /&gt;
| Fife&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;fif&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sco-admin&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;wls&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt;&lt;br /&gt;
| Fife-wide coverage.&lt;br /&gt;
|-&lt;br /&gt;
| Central Scotland&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cen&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sco-admin&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;wls&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt;&lt;br /&gt;
| Wider Central belt coverage.&lt;br /&gt;
|-&lt;br /&gt;
| Falkirk&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cen&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;fal&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sco-admin&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;wls&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt;&lt;br /&gt;
| Falkirk local coverage.&lt;br /&gt;
|-&lt;br /&gt;
| Edinburgh area&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cen&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sco-admin&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;wls&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt;&lt;br /&gt;
| Edinburgh-facing Central Scotland coverage.&lt;br /&gt;
|-&lt;br /&gt;
| Glasgow area&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cen&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sco-admin&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;wls&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt;&lt;br /&gt;
| Glasgow-facing Central Scotland coverage.&lt;br /&gt;
|-&lt;br /&gt;
| Tayside&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;tay&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sco-admin&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;wls&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt;&lt;br /&gt;
| Wider Tayside coverage.&lt;br /&gt;
|-&lt;br /&gt;
| Dundee area&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;tay&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;dun&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sco-admin&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;wls&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt;&lt;br /&gt;
| Dundee local coverage.&lt;br /&gt;
|-&lt;br /&gt;
| Perth area&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;tay&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;per&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sco-admin&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;wls&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt;&lt;br /&gt;
| Perth local coverage.&lt;br /&gt;
|-&lt;br /&gt;
| High site / bridge&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sco-admin&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;wls&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt;, plus genuinely served areas&lt;br /&gt;
| Do not add every region just because it is listed.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;simple-setup-flow&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Simple setup flow ===&lt;br /&gt;
&lt;br /&gt;
# Open the MeshCore web flasher in Chrome or Edge.&lt;br /&gt;
# Select your device.&lt;br /&gt;
# Choose the repeater role.&lt;br /&gt;
# Use the UK / EU Narrow preset.&lt;br /&gt;
# Flash the device with the latest stable firmware&lt;br /&gt;
# Set a clear repeater name.&lt;br /&gt;
# Add the right regions from the table above.&lt;br /&gt;
# Set flood adverts to 24 hours.&lt;br /&gt;
# Deny wildcard forwarding.&lt;br /&gt;
# Set &amp;lt;code&amp;gt;region default sco&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Save the region configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;simple-command-examples&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Simple command examples ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;baseline-scottish-repeater&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Baseline Scottish repeater ====&lt;br /&gt;
&lt;br /&gt;
Use this when the repeater is part of ScotMesh but does not have a more specific local region yet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;region def sco|* sco-admin|* ioi|* wls|* eng-ne&lt;br /&gt;
region denyf *&lt;br /&gt;
set flood.advert.interval 24&lt;br /&gt;
set multi.acks 1&lt;br /&gt;
set path.hash.mode 2&lt;br /&gt;
region default sco&lt;br /&gt;
region save&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-warning&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Without &amp;lt;code&amp;gt;region default sco&amp;lt;/code&amp;gt;, your repeater’s adverts are sent unscoped. The Scottish network denies unscoped forwarding (&amp;lt;code&amp;gt;region denyf *&amp;lt;/code&amp;gt;), so other repeaters will reject those adverts and will not know your repeater is there.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;fife-repeater&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Fife repeater ====&lt;br /&gt;
&lt;br /&gt;
Use this when the repeater serves Fife.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;region def sco fif|* sco-admin|* ioi|* wls|* eng-ne&lt;br /&gt;
region denyf *&lt;br /&gt;
set flood.advert.interval 24&lt;br /&gt;
set multi.acks 1&lt;br /&gt;
set path.hash.mode 2&lt;br /&gt;
region default sco&lt;br /&gt;
region save&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;central-scotland-falkirk-repeater&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Central Scotland / Falkirk repeater ====&lt;br /&gt;
&lt;br /&gt;
Use this when the repeater serves Falkirk and wider Central Scotland.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;region def sco cen fal|* sco-admin|* ioi|* wls|* eng-ne&lt;br /&gt;
region denyf *&lt;br /&gt;
set flood.advert.interval 24&lt;br /&gt;
set multi.acks 1&lt;br /&gt;
set path.hash.mode 2&lt;br /&gt;
region default sco&lt;br /&gt;
region save&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;good-repeater-habits&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Good repeater habits ===&lt;br /&gt;
&lt;br /&gt;
* Put the repeater as high and clear as you reasonably can.&lt;br /&gt;
* Use stable power.&lt;br /&gt;
* Keep the antenna vertical.&lt;br /&gt;
* Give the repeater a name people can recognise.&lt;br /&gt;
* Add only the regions it genuinely serves.&lt;br /&gt;
* Use &amp;lt;code&amp;gt;region denyf *&amp;lt;/code&amp;gt;; do not allow wildcard forwarding.&lt;br /&gt;
* Set &amp;lt;code&amp;gt;region default sco&amp;lt;/code&amp;gt; so your adverts are accepted by the rest of the mesh.&lt;br /&gt;
* Set flood adverts to 24 hours.&lt;br /&gt;
* Ask the community before inventing new region codes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;where-to-go-next&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Where to go next ===&lt;br /&gt;
&lt;br /&gt;
* [[MeshCore/Regions|Regions]] has the fuller region guide and more command examples.&lt;br /&gt;
* [[MeshCore/Scopes|Scopes]] explains what Companion App users need to set.&lt;br /&gt;
* [[MeshCore/Channels|Channels]] lists the agreed and proposed channels.&lt;br /&gt;
* [https://docs.meshcore.io/cli_commands/ MeshCore CLI Commands] is the upstream command reference.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;appendix-what-the-key-commands-mean&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Appendix: what the key commands mean ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Command&lt;br /&gt;
! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;region def sco …&amp;lt;/code&amp;gt;&lt;br /&gt;
| Define the whole region tree in one line: the default scope first, then each code, with &amp;lt;code&amp;gt;name|*&amp;lt;/code&amp;gt; resetting to the root.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;set multi.acks 1&amp;lt;/code&amp;gt;&lt;br /&gt;
| Turn on double ACKs.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;set path.hash.mode 2&amp;lt;/code&amp;gt;&lt;br /&gt;
| Use the 3-byte path hash (avoids collisions).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;region denyf *&amp;lt;/code&amp;gt;&lt;br /&gt;
| Deny unscoped wildcard forwarding.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;set flood.advert.interval 24&amp;lt;/code&amp;gt;&lt;br /&gt;
| Set flood adverts to 24 hours.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;region default sco&amp;lt;/code&amp;gt;&lt;br /&gt;
| Set the default scope so adverts from this repeater are scoped to &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; and accepted by the mesh.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;region save&amp;lt;/code&amp;gt;&lt;br /&gt;
| Save the region configuration.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=MeshCore/Regions&amp;diff=39</id>
		<title>MeshCore/Regions</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=MeshCore/Regions&amp;diff=39"/>
		<updated>2026-11-03T17:21:48Z</updated>

		<summary type="html">&lt;p&gt;Admin: Improve rendering + apply freshness fixes (regions/scopes/CLI to current)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Regions}}&lt;br /&gt;
&amp;lt;span id=&amp;quot;meshcore-regions&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== MeshCore Regions ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-info&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE - A Regional Framework was impelemented in the ScotMesh Meshcore Mesh at the beginning of April 2026. This was out of sheer necessity as our mesh was dying under the flood traffic from England (24,000 flood packets &amp;amp;amp; 600+ messages daily). This saved our mesh from descending into a chaotic, unusable mess of incoherent rambles and frustrated messaging failures. This is why an understaning of regions is imperative to understanding where we are today.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
This guide is for &#039;&#039;&#039;repeater owners&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The aim is simple: keep the scheme readable, predictable, and usable as the network grows.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;why-regions-are-needed&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Why regions are needed ===&lt;br /&gt;
&lt;br /&gt;
MeshCore messages travel through repeaters for onward routing. Whilst this is the core function, if every repeater carries every message everywhere, the network becomes noisy, inefficient and flooded with uneccessary traffic.&lt;br /&gt;
&lt;br /&gt;
Regions help us:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Keep local traffic local&#039;&#039;&#039; — In the future, a message that only matters in one area wont always need to be repeated across every part of Scotland.&lt;br /&gt;
# &#039;&#039;&#039;Reduce unnecessary radio traffic&#039;&#039;&#039; — LoRa is subject to a finite airtime cycle per hour (compared with Wi-Fi or mobile data), so every avoidable repeat uses valuable airtime.&lt;br /&gt;
# &#039;&#039;&#039;Improve reliability&#039;&#039;&#039; — Less unnecessary repeating leaves more room for useful messages.&lt;br /&gt;
# &#039;&#039;&#039;Make planning clearer&#039;&#039;&#039; — Regions make repeater deployment easier to map, identify needs, plan future expansion and ease of ongoing mesh maintenance.&lt;br /&gt;
# &#039;&#039;&#039;Support controlled peering&#039;&#039;&#039; — Strategic repeaters can deliberately carry neighbouring traffic, such as the &#039;&#039;&#039;IOI peering agreement&#039;&#039;&#039; between Scotland and the Island of Ireland.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;regions-and-scopes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Regions and scopes ===&lt;br /&gt;
&lt;br /&gt;
There are two related concepts: &#039;&#039;&#039;regions&#039;&#039;&#039; and &#039;&#039;&#039;scopes&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Term&lt;br /&gt;
! Meaning&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Region&#039;&#039;&#039;&lt;br /&gt;
| A label configured on a repeater to describe the area it serves.&lt;br /&gt;
| An Edinburgh-area repeater includes &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Scope&#039;&#039;&#039;&lt;br /&gt;
| A label applied to messages or channels to describe which area (or region) the traffic is intended to travel.&lt;br /&gt;
| The &amp;lt;code&amp;gt;#glasgow&amp;lt;/code&amp;gt; channel might use &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt; when traffic should stay in that area.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In a densely populated mesh, a repeater should only carry scoped traffic for regions it genuinely serves. In new or embryonic meshes, this requirment will be a future need but best practise planning mandates introducing regions as early as is practical.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;wildcard-forwarding-is-not-allowed-see-info-box-at-top-of-this-document-for-context.&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Wildcard forwarding is not allowed (see info box at top of this document for context). ===&lt;br /&gt;
&lt;br /&gt;
The wildcard marker is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;*&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-warning&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The important rule is: &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; will appear as a root parent in the region tree, but wildcard forwarding must be denied.&lt;br /&gt;
&lt;br /&gt;
In other words, &amp;lt;code&amp;gt;region put sco *&amp;lt;/code&amp;gt; is correct, but must be preceeded by &amp;lt;code&amp;gt;region denyf *&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
The Scottish MeshCore setup does not allow wildcard forwarding. Repeater owners must deny wildcard forwarding with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;region denyf *&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
You may still see &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; as the root parent when defining the region tree, for example &amp;lt;code&amp;gt;region put sco *&amp;lt;/code&amp;gt;. That is different from allowing wildcard forwarding.&lt;br /&gt;
&lt;br /&gt;
For channel names and suggested scopes, see [[MeshCore/Channels|Channels]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;scottish-region-code-approach&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Scottish region code approach ===&lt;br /&gt;
&lt;br /&gt;
For Scotland, we use simple three-letter lowercase codes.&lt;br /&gt;
&lt;br /&gt;
We are not part of any UK wide mesh (for context see comment box at the top of this documnet) Therefore, &#039;&#039;&#039;we are not using any long prefixed names&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We use short codes such as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;sco&lt;br /&gt;
cen&lt;br /&gt;
fal&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Other countries and communities may use ISO-style hierarchical codes. That is valid for them, but the Scottish convention is designed to be short and easy to read in apps, analyser tools, and community discussions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;current-june-2026-agreed-region-codes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Agreed region codes ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code&lt;br /&gt;
! Area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&lt;br /&gt;
| Scotland — the default scope, carried by every Scottish repeater&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;sco-admin&amp;lt;/code&amp;gt;&lt;br /&gt;
| Scotland-only, for bots and utilities. Never peered out.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cen&amp;lt;/code&amp;gt;&lt;br /&gt;
| Central Scotland&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt;&lt;br /&gt;
| Edinburgh area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt;&lt;br /&gt;
| Glasgow area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;fal&amp;lt;/code&amp;gt;&lt;br /&gt;
| Falkirk area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;sti&amp;lt;/code&amp;gt;&lt;br /&gt;
| Stirling area (proposed)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;fif&amp;lt;/code&amp;gt;&lt;br /&gt;
| Fife&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;tay&amp;lt;/code&amp;gt;&lt;br /&gt;
| Tayside&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dun&amp;lt;/code&amp;gt;&lt;br /&gt;
| Dundee area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;per&amp;lt;/code&amp;gt;&lt;br /&gt;
| Perth area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;&lt;br /&gt;
| Island of Ireland — peering root beside &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;wls&amp;lt;/code&amp;gt;&lt;br /&gt;
| Wales — peering root beside &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt;&lt;br /&gt;
| North East England — peering root beside &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ioi-peering-agreement&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== IOI peering agreement ===&lt;br /&gt;
&lt;br /&gt;
The Scottish and Irish MeshCore communities maintain a &#039;&#039;&#039;peering agreement&#039;&#039;&#039;: scoped traffic is carried on the other network only where &#039;&#039;&#039;both&#039;&#039;&#039; sides configure for it.&lt;br /&gt;
&lt;br /&gt;
Under that agreement, Scottish repeaters add the &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; region alongside &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; where the Scottish baseline applies, and Island of Ireland repeaters add &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; alongside their own region codes in the same spirit. Messages with matching &#039;&#039;&#039;scopes&#039;&#039;&#039; can then move between the two networks predictably, without relying on wildcard forwarding. For example channel names and typical scopes, see [[MeshCore/Channels|Channels]].&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; code is &#039;&#039;&#039;not&#039;&#039;&#039; a Scottish local region. It marks repeaters and traffic that deliberately participate in that peering.&lt;br /&gt;
&lt;br /&gt;
Do not use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;ioi-sco&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;ioi&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;peering-with-scotland-other-regions&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Peering with Scotland (other regions) ====&lt;br /&gt;
&lt;br /&gt;
If another region wants to peer with Scotland in a similar way, they should already have the following in place:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Wildcard flooding disallowed&#039;&#039;&#039; on their repeaters (the same principle as the Scottish setup: deny wildcard forwarding with &amp;lt;code&amp;gt;region denyf *&amp;lt;/code&amp;gt;; see [[#wildcard-forwarding-is-not-allowed|Wildcard forwarding is not allowed]]).&lt;br /&gt;
# &#039;&#039;&#039;Appropriate regions on their repeaters&#039;&#039;&#039; so traffic is not forwarded wider than intended, and Scottish repeaters are not flooded with scoped traffic they did not agree to carry.&lt;br /&gt;
# &#039;&#039;&#039;Neighbouring Scotland in RF terms&#039;&#039;&#039; so equipment can &#039;&#039;&#039;directly&#039;&#039;&#039; peer, rather than assuming long unofficial relay chains.&lt;br /&gt;
&lt;br /&gt;
When that fits your situation, contact the Scottish Mesh community on [https://discord.gg/ytxfyuDmSt Discord] so we can discuss scope names, boundaries, and a safe rollout.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;recommended-hierarchy&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Recommended hierarchy ===&lt;br /&gt;
&lt;br /&gt;
Although the hierarchy is not written into the code itself, it can be thought of like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;sco&lt;br /&gt;
  cen&lt;br /&gt;
    edi&lt;br /&gt;
    gla&lt;br /&gt;
    fal&lt;br /&gt;
    sti   (proposed)&lt;br /&gt;
  fif&lt;br /&gt;
  tay&lt;br /&gt;
    dun&lt;br /&gt;
    per&lt;br /&gt;
sco-admin&lt;br /&gt;
ioi&lt;br /&gt;
wls&lt;br /&gt;
eng-ne&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In plain English:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; is for Scotland-wide traffic, and &amp;lt;code&amp;gt;sco-admin&amp;lt;/code&amp;gt; is a Scotland-only root for bots and utilities.&lt;br /&gt;
* &amp;lt;code&amp;gt;cen&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;tay&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;fif&amp;lt;/code&amp;gt; are Scottish sub regions.&lt;br /&gt;
* &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;fal&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sti&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;dun&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;per&amp;lt;/code&amp;gt; are local areas.&lt;br /&gt;
* &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; (Island of Ireland), &amp;lt;code&amp;gt;wls&amp;lt;/code&amp;gt; (Wales) and &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt; (North East England) are peering roots beside &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;suggested-repeater-configuration-policy&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Suggested repeater configuration policy ===&lt;br /&gt;
&lt;br /&gt;
A Scottish repeater should normally be configured with:&lt;br /&gt;
&lt;br /&gt;
# The country code &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;sco-admin&amp;lt;/code&amp;gt; for Scotland-only utility traffic.&lt;br /&gt;
# The peering roots &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;wls&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt;.&lt;br /&gt;
# The relevant regional code.&lt;br /&gt;
# The relevant local code, if appropriate.&lt;br /&gt;
# Any neighbouring codes that the repeater genuinely serves.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-warning&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do not allow wildcard forwarding.&lt;br /&gt;
&lt;br /&gt;
In command line interface (CLI) examples, this means using &amp;lt;code&amp;gt;region denyf *&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;falkirk-central-scotland-repeater&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Falkirk / Central Scotland repeater ====&lt;br /&gt;
&lt;br /&gt;
A repeater covering the Falkirk area would usually have:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;sco&lt;br /&gt;
cen&lt;br /&gt;
fal&lt;br /&gt;
sco-admin&lt;br /&gt;
ioi&lt;br /&gt;
wls&lt;br /&gt;
eng-ne&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;edinburgh-facing-central-scotland-repeater&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Edinburgh-facing Central Scotland repeater ====&lt;br /&gt;
&lt;br /&gt;
A repeater that mainly serves Central Scotland but has strong coverage towards Edinburgh might use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;sco&lt;br /&gt;
cen&lt;br /&gt;
edi&lt;br /&gt;
sco-admin&lt;br /&gt;
ioi&lt;br /&gt;
wls&lt;br /&gt;
eng-ne&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;fife-repeater&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Fife repeater ====&lt;br /&gt;
&lt;br /&gt;
A Fife repeater would usually have:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;sco&lt;br /&gt;
fif&lt;br /&gt;
sco-admin&lt;br /&gt;
ioi&lt;br /&gt;
wls&lt;br /&gt;
eng-ne&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
If it genuinely provides useful Central Scotland coverage, it may also include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;cen&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;scottish-repeaters-and-ioi&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Scottish repeaters and &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
Scottish repeaters carry the peering roots &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;wls&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt; alongside &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;sco-admin&amp;lt;/code&amp;gt; — these are included in every repeater script:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;sco&lt;br /&gt;
sco-admin&lt;br /&gt;
ioi&lt;br /&gt;
wls&lt;br /&gt;
eng-ne&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
That keeps peering-capable forwarding available where the Scottish baseline is configured. It does not make &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; a Scottish local region.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;good-practice-for-repeater-owners&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Good practice for repeater owners ===&lt;br /&gt;
&lt;br /&gt;
Use lowercase region codes. Do not use mixed case such as &amp;lt;code&amp;gt;SCO&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Cen&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;FAL&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Use agreed codes. For example, use &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt; for the Edinburgh area, not &amp;lt;code&amp;gt;edn&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;edinburgh&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;gb-edi&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Add only the areas your repeater genuinely serves. A high-site repeater may reasonably serve several areas, but a repeater should not claim every region just because it can occasionally hear distant nodes.&lt;br /&gt;
&lt;br /&gt;
Coordinate before adding new codes. If a new area needs a code, discuss it publicly before using it so that the community does not end up with competing names for the same place.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;suggested-command-examples&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Suggested command examples ===&lt;br /&gt;
&lt;br /&gt;
The exact method may vary depending on firmware version and whether you are using the app, web configurator, USB serial, or remote administration. The upstream reference is the MeshCore [https://docs.meshcore.io/cli_commands/ CLI Commands] documentation, especially the region management commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-info&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
New to repeater setup?&lt;br /&gt;
&lt;br /&gt;
Start with [[MeshCore/Repeater Quick Setup|Repeater Quick Setup]], then come back here for the fuller detail.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
On current firmware (1.16+) the whole region tree goes in one &amp;lt;code&amp;gt;region def&amp;lt;/code&amp;gt; line, followed by &amp;lt;code&amp;gt;region denyf *&amp;lt;/code&amp;gt; and the standard &amp;lt;code&amp;gt;set&amp;lt;/code&amp;gt; commands. The easiest way to get the exact script for your area is the [https://meshcore.scotmesh.net/repeater/ ScotMesh repeater builder]; the examples below show what it produces.&lt;br /&gt;
&lt;br /&gt;
For a Central Scotland / Falkirk repeater:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;region def sco cen fal|* sco-admin|* ioi|* wls|* eng-ne&lt;br /&gt;
region denyf *&lt;br /&gt;
set flood.advert.interval 24&lt;br /&gt;
set multi.acks 1&lt;br /&gt;
set path.hash.mode 2&lt;br /&gt;
region default sco&lt;br /&gt;
region save&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Then check the result with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;region&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
For a Tayside / Dundee repeater:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;region def sco tay dun|* sco-admin|* ioi|* wls|* eng-ne&lt;br /&gt;
region denyf *&lt;br /&gt;
set flood.advert.interval 24&lt;br /&gt;
set multi.acks 1&lt;br /&gt;
set path.hash.mode 2&lt;br /&gt;
region default sco&lt;br /&gt;
region save&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
For a Glasgow-area repeater:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;region def sco cen gla|* sco-admin|* ioi|* wls|* eng-ne&lt;br /&gt;
region denyf *&lt;br /&gt;
set flood.advert.interval 24&lt;br /&gt;
set multi.acks 1&lt;br /&gt;
set path.hash.mode 2&lt;br /&gt;
region default sco&lt;br /&gt;
region save&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
For a repeater that serves Scotland, Central Scotland, Glasgow, Edinburgh, and IOI peering (&amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;region def sco cen|* gla|cen edi|cen sco-admin|* ioi|* wls|* eng-ne&lt;br /&gt;
region denyf *&lt;br /&gt;
set flood.advert.interval 24&lt;br /&gt;
set multi.acks 1&lt;br /&gt;
set path.hash.mode 2&lt;br /&gt;
region default sco&lt;br /&gt;
region save&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-warning&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Set &amp;lt;code&amp;gt;region default sco&amp;lt;/code&amp;gt; on your repeater.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Without a default scope, adverts sent by your repeater go out unscoped. Because the Scottish network uses &amp;lt;code&amp;gt;region denyf *&amp;lt;/code&amp;gt;, other repeaters will reject those unscoped adverts and will never learn your repeater exists. Setting the default scope to &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; ensures your adverts are carried normally across the mesh.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
This is separate from flood forwarding permissions. For more detail, see [https://blog.meshcore.io/2026/04/17/default-scope Default Scope Region].&lt;br /&gt;
&lt;br /&gt;
Always check for an &amp;lt;code&amp;gt;OK&amp;lt;/code&amp;gt; response where applicable, and remember to save the configuration so it survives a reboot.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;firmware-and-app-version-notes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Firmware and app version notes ===&lt;br /&gt;
&lt;br /&gt;
Region and scope support depends on MeshCore firmware and app support.&lt;br /&gt;
&lt;br /&gt;
Use the latest stable MeshCore firmware and app available for your device. Older firmware may still pass some traffic, but region management and scope handling may not behave as expected.&lt;br /&gt;
&lt;br /&gt;
MeshCore region filtering was introduced across firmware and app releases, and default scope support was added later. The MeshCore posts [https://blog.meshcore.io/2026/01/20/region-filtering Region Filtering] and [https://blog.meshcore.io/2026/04/17/default-scope Default Scope Region] are useful background when checking version behaviour.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;naming-and-publishing-new-region-codes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Naming and publishing new region codes ===&lt;br /&gt;
&lt;br /&gt;
When a new Scottish area needs a code, use these rules:&lt;br /&gt;
&lt;br /&gt;
# Use three lowercase letters.&lt;br /&gt;
# Make the code obvious to local users.&lt;br /&gt;
# Avoid clashing with existing agreed codes.&lt;br /&gt;
# Avoid overly small areas unless there is a real need.&lt;br /&gt;
# Discuss the code with the local MeshCore community before publishing it.&lt;br /&gt;
&lt;br /&gt;
Examples of possible future codes might include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;sti = Stirling&lt;br /&gt;
liv = Livingston&lt;br /&gt;
abe = Aberdeen&lt;br /&gt;
inv = Inverness&lt;br /&gt;
ayr = Ayrshire&lt;br /&gt;
bor = Borders&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
These are examples only and should not be treated as agreed until the community confirms them.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;common-questions&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Common questions ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;do-regions-replace-normal-meshcore-messaging&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Do regions replace normal MeshCore messaging? ====&lt;br /&gt;
&lt;br /&gt;
No. Regions help control where scoped traffic is repeated.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;should-every-scottish-repeater-have-sco-and-ioi&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Should every Scottish repeater have the same baseline? ====&lt;br /&gt;
&lt;br /&gt;
Yes. Every Scottish repeater carries &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, plus &amp;lt;code&amp;gt;sco-admin&amp;lt;/code&amp;gt; and the peering roots &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;wls&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt; — these are included in every repeater script.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;should-every-repeater-have-every-scottish-region&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Should every repeater have every Scottish region? ====&lt;br /&gt;
&lt;br /&gt;
No. That would defeat the purpose of regions. Repeaters should only list the areas they genuinely serve.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;should-we-use-gb-sco-instead-of-sco&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Should we use &amp;lt;code&amp;gt;gb-sco&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;? ====&lt;br /&gt;
&lt;br /&gt;
Not for this Scottish scheme. Some wider UK or international guides use ISO-style codes, but the local Scottish agreement is to use short three-letter codes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;can-a-repeater-be-in-more-than-one-region&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Can a repeater be in more than one region? ====&lt;br /&gt;
&lt;br /&gt;
Yes. That is useful for high sites, border areas, or repeaters that genuinely link neighbouring areas.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;can-we-allow-for-compatibility&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Can we allow &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; for compatibility? ====&lt;br /&gt;
&lt;br /&gt;
No. The Scottish MeshCore setup does not allow wildcard forwarding. Use the correct region scope instead.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;summary&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Summary ===&lt;br /&gt;
&lt;br /&gt;
Regions give the Scottish MeshCore community a simple way to organise the network as it grows.&lt;br /&gt;
&lt;br /&gt;
Our agreed approach is:&lt;br /&gt;
&lt;br /&gt;
* Use three-letter lowercase codes.&lt;br /&gt;
* Use &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; for Scotland.&lt;br /&gt;
* Carry &amp;lt;code&amp;gt;sco-admin&amp;lt;/code&amp;gt; and the peering roots &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;wls&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt; alongside &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; on every repeater.&lt;br /&gt;
* Use &amp;lt;code&amp;gt;cen&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;tay&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;fif&amp;lt;/code&amp;gt; for major regions where they match coverage.&lt;br /&gt;
* Use &amp;lt;code&amp;gt;fal&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;dun&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;per&amp;lt;/code&amp;gt; for local areas.&lt;br /&gt;
* Use &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; for Island of Ireland traffic under the IOI peering agreement.&lt;br /&gt;
* Deny wildcard forwarding with &amp;lt;code&amp;gt;region denyf *&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Do not use long prefixes such as &amp;lt;code&amp;gt;gb-sco&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;sco-fal&amp;lt;/code&amp;gt; in this local scheme.&lt;br /&gt;
&lt;br /&gt;
This gives us a clean, readable, and expandable foundation for building a coordinated Scottish MeshCore network.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=MeshCore/Scopes&amp;diff=38</id>
		<title>MeshCore/Scopes</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=MeshCore/Scopes&amp;diff=38"/>
		<updated>2026-11-03T17:21:44Z</updated>

		<summary type="html">&lt;p&gt;Admin: Improve rendering + apply freshness fixes (regions/scopes/CLI to current)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Scopes}}&lt;br /&gt;
&amp;lt;span id=&amp;quot;meshcore-scopes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== MeshCore Scopes ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-success&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Quick start for most users:&#039;&#039;&#039; open the app, go to &#039;&#039;&#039;Experimental Settings&#039;&#039;&#039;, set &#039;&#039;&#039;Default Scope Region&#039;&#039;&#039; to &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;. That is all you need for normal Scottish traffic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-warning&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Watch out:&#039;&#039;&#039; if you do not have a suitable &#039;&#039;&#039;scope&#039;&#039;&#039; set, repeaters on the Scottish MeshCore network wont forward your traffic. You can end up &#039;&#039;&#039;shouting into the void&#039;&#039;&#039;. Check your default scope and each channel’s scope before you count on messages reaching anyone.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Scope is the single setting that makes or breaks whether your messages go anywhere on ScotMesh. The channel name is for people — the scope is for the mesh. Set your &#039;&#039;&#039;default&#039;&#039;&#039; to &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, then adjust per channel when you need something narrower.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-info&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ScotMesh setup:&#039;&#039;&#039; Under &#039;&#039;&#039;Experimental Settings&#039;&#039;&#039;, set the default scope region to &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, and keep &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; available in your scope list as well so you can pick it when you need it. For each channel, set scope to match &#039;&#039;&#039;where the traffic should travel&#039;&#039;&#039;—for example &amp;lt;code&amp;gt;#edinburgh&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt;. On &#039;&#039;&#039;&amp;lt;code&amp;gt;#ireland&amp;lt;/code&amp;gt;&#039;&#039;&#039;, you may use &#039;&#039;&#039;&amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&#039;&#039;&#039;: use &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; when the message should ride the Island of Ireland scoped path (IOI peering); use &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; when you want the same channel but Scotland-wide scoped carriage on the mesh.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;why-scope-matters&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 🤷 Why scope matters ===&lt;br /&gt;
&lt;br /&gt;
Without scope, repeaters have no way to know whether to carry your traffic. With it, messages travel through exactly the right part of the network.&lt;br /&gt;
&lt;br /&gt;
* Keep Scottish traffic inside Scotland where appropriate.&lt;br /&gt;
* Allow controlled traffic to and from the Island of Ireland (IOI peering).&lt;br /&gt;
* Reduce unnecessary flooding.&lt;br /&gt;
* Keep the network easier to grow.&lt;br /&gt;
&lt;br /&gt;
For example channel names and typical scopes, see [[MeshCore/Channels|Channels]]. For repeater region codes, see [[MeshCore/Regions|Regions]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;what-region-scope-means&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 🗺️ What region scope means ===&lt;br /&gt;
&lt;br /&gt;
Think of scope like a postcode on a letter — it tells the mesh where the message is meant to go.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;sco = Scotland-wide&lt;br /&gt;
edi = Edinburgh area (example local)&lt;br /&gt;
ioi = Island of Ireland (IOI peering)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
A message scoped to &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; is forwarded by repeaters that carry &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;as a region. A message scoped to &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; is forwarded by repeaters that carry &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;as a region. If scope is missing or wrong for your path, the message will go nowhere, it is dropped and ceases to exist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;wildcard-forwarding-is-not-allowed&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 🚫 Wildcard forwarding is not allowed ===&lt;br /&gt;
&lt;br /&gt;
The wildcard marker is &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;. Do not rely on it for routing — the Scottish MeshCore setup expects explicit region scopes.&lt;br /&gt;
&lt;br /&gt;
In the &#039;&#039;&#039;Companion App&#039;&#039;&#039;, your channel scope should always be a &#039;&#039;&#039;real region code&#039;&#039;&#039; (&amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, and so on). On &#039;&#039;&#039;repeaters&#039;&#039;&#039;, CLI examples sometimes show &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; as the &#039;&#039;&#039;parent&#039;&#039;&#039; in a region tree (for example &amp;lt;code&amp;gt;region put sco *&amp;lt;/code&amp;gt;); that is a different idea from wildcard &#039;&#039;&#039;forwarding&#039;&#039;&#039; and is covered in [[MeshCore/Regions|Regions]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;documented-scope-codes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 📋 Documented scope codes ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Scope&lt;br /&gt;
! Typical use&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&lt;br /&gt;
| Scotland-wide traffic&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;sco-admin&amp;lt;/code&amp;gt;&lt;br /&gt;
| Scotland-only, for bots and utilities (never peered out)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cen&amp;lt;/code&amp;gt;&lt;br /&gt;
| Central Scotland&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;fif&amp;lt;/code&amp;gt;&lt;br /&gt;
| Fife&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;tay&amp;lt;/code&amp;gt;&lt;br /&gt;
| Tayside&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt;&lt;br /&gt;
| Glasgow area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt;&lt;br /&gt;
| Edinburgh area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;fal&amp;lt;/code&amp;gt;&lt;br /&gt;
| Falkirk area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;sti&amp;lt;/code&amp;gt;&lt;br /&gt;
| Stirling area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;per&amp;lt;/code&amp;gt;&lt;br /&gt;
| Perth area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dun&amp;lt;/code&amp;gt;&lt;br /&gt;
| Dundee area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;&lt;br /&gt;
| Island of Ireland / IOI peering&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;wls&amp;lt;/code&amp;gt;&lt;br /&gt;
| Wales — peering&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;eng-ne&amp;lt;/code&amp;gt;&lt;br /&gt;
| North East England — peering&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For most day-to-day traffic in Scotland, &#039;&#039;&#039;&amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&#039;&#039;&#039; is the right default. Use a &#039;&#039;&#039;local&#039;&#039;&#039; code when traffic should stay in that area, regardless of channel name.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;default-scope-and-per-channel-scope&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== ⚙️ Default scope and per-channel scope ===&lt;br /&gt;
&lt;br /&gt;
On ScotMesh, set your &#039;&#039;&#039;default&#039;&#039;&#039; scope region to &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;. In the mobile app this is usually under &#039;&#039;&#039;Experimental Settings&#039;&#039;&#039;. Flood packets from the companion then use &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; unless a &#039;&#039;&#039;group channel&#039;&#039;&#039; has its own scope.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Per-channel scope overrides the default.&#039;&#039;&#039; Examples:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;#glasgow&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt; keeps traffic in the Glasgow-area part of the mesh.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;#ireland&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;&#039;&#039;&#039; — message is scoped for the Island of Ireland path (IOI peering repeaters).&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;#ireland&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&#039;&#039;&#039; — same channel name, but the packet is Scotland-wide scoped; repeaters treat it like other &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; traffic.&lt;br /&gt;
&lt;br /&gt;
Keep both &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; in your available scopes so you can switch. For background, see MeshCore [https://blog.meshcore.io/2026/04/17/default-scope Default Scope Region].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;how-to-set-region-scope-in-the-companion-app&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 📱 How to set region scope in the Companion App ===&lt;br /&gt;
&lt;br /&gt;
Menus vary by app version and platform; the usual flow is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;1. Open the MeshCore Companion App&lt;br /&gt;
2. Open the channel you want to use&lt;br /&gt;
3. Open the channel options or channel menu&lt;br /&gt;
4. Find the region scope option&lt;br /&gt;
5. Select or add the region code you need&lt;br /&gt;
6. Send with that scope active&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Often the channel menu includes something like &#039;&#039;&#039;Set Region Scope&#039;&#039;&#039;, then you pick or type the code (for example &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;examples&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 💬 Examples ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scotland-wide&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;Channel: #scotland&lt;br /&gt;
Scope:   sco&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Local (example)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;Channel: #glasgow&lt;br /&gt;
Scope:   gla&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;#ireland&amp;lt;/code&amp;gt; with Island of Ireland scope&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;Channel: #ireland&lt;br /&gt;
Scope:   ioi&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;#ireland&amp;lt;/code&amp;gt; with Scotland-wide scope&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;Channel: #ireland&lt;br /&gt;
Scope:   sco&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The channel name does not set scope by itself — you still choose &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; (or another code) in the channel settings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;quick-choices&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== ⚡ Quick choices ===&lt;br /&gt;
&lt;br /&gt;
* Normal Scottish chat: default &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;#scotland&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Local-only: local scope such as &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt; when traffic should stay in that area.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;#ireland&amp;lt;/code&amp;gt;:&#039;&#039;&#039; &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; for IOI-scoped path, &#039;&#039;&#039;&amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&#039;&#039;&#039; when you want Scotland-wide scoped carriage on that channel.&lt;br /&gt;
* Tests: &amp;lt;code&amp;gt;#test&amp;lt;/code&amp;gt; with whichever scope you are testing (&amp;lt;code&amp;gt;tay&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, …).&lt;br /&gt;
&lt;br /&gt;
If you are unsure, &#039;&#039;&#039;&amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&#039;&#039;&#039; is the safe general default for Scottish-side traffic.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;what-to-avoid&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== ❌ What to avoid ===&lt;br /&gt;
&lt;br /&gt;
* Sending traffic with no region scope.&lt;br /&gt;
* Relying on wildcard forwarding.&lt;br /&gt;
* Assuming the channel name alone chooses routing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;summary&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 📝 Summary ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;Default: sco on ScotMesh&lt;br /&gt;
Override per channel when needed&lt;br /&gt;
#ireland: ioi OR sco&lt;br /&gt;
Local: use the local code when traffic should stay local&lt;br /&gt;
Check your companion app is scoped before you send your initial messages&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Getting scope right keeps mesh traffic logical and the mesh relaible, easier to use and simpler to grow.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=MediaWiki:Common.css&amp;diff=37</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=MediaWiki:Common.css&amp;diff=37"/>
		<updated>2026-11-03T17:15:12Z</updated>

		<summary type="html">&lt;p&gt;Admin: mc-pagelogo style&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* ScotMesh content styles. Core brand (colours/fonts/cards) is render-blocking in LocalSettings. */&lt;br /&gt;
.sm-cx{border-radius:6px;padding:.15rem 1rem;margin:1rem 0;border-left:4px solid #22324D;background:#101C30}&lt;br /&gt;
.sm-cx-info{border-left-color:#005EB8}&lt;br /&gt;
.sm-cx-warning{border-left-color:#F2B33D}&lt;br /&gt;
.sm-cx-success{border-left-color:#65C281}&lt;br /&gt;
.sm-cx &amp;gt; :first-child{margin-top:.65rem}&lt;br /&gt;
.sm-cx &amp;gt; :last-child{margin-bottom:.65rem}&lt;br /&gt;
/* front-page community join */&lt;br /&gt;
.sm-join{display:flex;flex-wrap:wrap;gap:.7rem;margin:1rem 0 .4rem}&lt;br /&gt;
.sm-join a{display:inline-flex;align-items:center;gap:.5rem;font-family:&amp;quot;IBM Plex Mono&amp;quot;,ui-monospace,monospace;font-weight:600;font-size:.92rem;text-decoration:none;padding:.65rem 1.2rem;border-radius:999px;border:1px solid #22324D;transition:border-color .15s,background .15s}&lt;br /&gt;
.j-discord a{background:#5865F2;border-color:#5865F2;color:#fff}&lt;br /&gt;
.j-discord a:hover{background:#4654d0;border-color:#4654d0}&lt;br /&gt;
.j-forum a{background:#101C30;color:#E6EDF7}&lt;br /&gt;
.j-forum a:hover{border-color:#005EB8;color:#fff}&lt;br /&gt;
.sm-join-note{display:block;font-family:&amp;quot;IBM Plex Mono&amp;quot;,ui-monospace,monospace;font-size:.82rem;color:#8FA2BD;margin:.2rem 0 0}&lt;br /&gt;
.sm-join-note code{color:#E6EDF7;background:#0C1729;border:1px solid #22324D;padding:.05rem .4rem;border-radius:3px}&lt;br /&gt;
/* network lockup at the top of a network section page */&lt;br /&gt;
.mc-pagelogo{display:block;margin:.2rem 0 1.3rem}&lt;br /&gt;
.mc-pagelogo img,.mc-pagelogo .mw-file-element{width:min(240px,62%);height:auto}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=MeshCore&amp;diff=36</id>
		<title>MeshCore</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=MeshCore&amp;diff=36"/>
		<updated>2026-11-03T17:15:11Z</updated>

		<summary type="html">&lt;p&gt;Admin: Add scotmesh/meshcore lockup to MeshCore landing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:ScotMesh-meshcore-lockup.svg|link=|alt=ScotMesh MeshCore|240px|class=mc-pagelogo]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;meshes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Meshes ==&lt;br /&gt;
&lt;br /&gt;
ScotMesh has both Meshtastic and MeshCore — radio messaging systems for small LoRa devices. It lets people send short messages across a volunteer-run network without needing mobile coverage, Wi-Fi, or the internet. Carry a small companion node in your pocket, connect it to your phone, and you’re on the mesh.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;the-remainder-of-this-document-focuses-on-meshcore.&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== The remainder of this document focuses on Meshcore. ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;key-ideas&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 💡 Key ideas ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Term&lt;br /&gt;
! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Channel&#039;&#039;&#039;&lt;br /&gt;
| A named place for conversation, such as &amp;lt;code&amp;gt;#scotland&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;#glasgow&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;#ireland&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Scope&#039;&#039;&#039;&lt;br /&gt;
| The region code applied to messages in a channel, such as &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Region&#039;&#039;&#039;&lt;br /&gt;
| A code configured on a repeater to describe the area it serves.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Repeater&#039;&#039;&#039;&lt;br /&gt;
| A fixed node that hears MeshCore traffic and repeats it to extend coverage.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;new-to-scotmesh&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 👋 New to ScotMesh? ===&lt;br /&gt;
&lt;br /&gt;
* [[MeshCore/Getting Started|Getting Started]] — what it is, what you need, your first message.&lt;br /&gt;
* [[MeshCore/Scopes|Scopes]] — the one setting that matters most.&lt;br /&gt;
* [[MeshCore/Channels|Channels]] — where to talk and what scope to use.&lt;br /&gt;
* [[MeshCore/FAQ|FAQ]] — quick answers to common questions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;setting-up-a-repeater&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 📡 Setting up a repeater? ===&lt;br /&gt;
&lt;br /&gt;
* [[MeshCore/Repeater Quick Setup|Repeater Quick Setup]] — start here for hardware and commands.&lt;br /&gt;
* [[MeshCore/Regions|Regions]] — full region code reference and configuration policy.&lt;br /&gt;
* [[MeshCore/Observers|Observers]] — MQTT map uplink setup.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;interested-in-the-technical-detail&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 🔧 Interested in the technical detail? ===&lt;br /&gt;
&lt;br /&gt;
* [https://blog.meshcore.io/2026/01/20/region-filtering Region Filtering]&lt;br /&gt;
* [https://blog.meshcore.io/2026/04/17/default-scope Default Scope Region]&lt;br /&gt;
* [https://docs.meshcore.io/cli_commands/ CLI Commands]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-warning&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ScotMesh network policy:&#039;&#039;&#039; wildcard &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; forwarding is not allowed. Companion App users should set their default region scope to &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; under &#039;&#039;&#039;Experimental Settings&#039;&#039;&#039;. Repeater owners should use &amp;lt;code&amp;gt;region denyf *&amp;lt;/code&amp;gt;. See [[MeshCore/Regions|Regions]] for detail.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=MediaWiki:Sidebar&amp;diff=35</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=MediaWiki:Sidebar&amp;diff=35"/>
		<updated>2026-11-03T17:06:34Z</updated>

		<summary type="html">&lt;p&gt;Admin: Sidebar: full MeshCore nav&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* navigation&lt;br /&gt;
** mainpage|Home&lt;br /&gt;
* ScotMesh MeshCore&lt;br /&gt;
** MeshCore|Overview&lt;br /&gt;
** MeshCore/Getting Started|Getting Started&lt;br /&gt;
** MeshCore/Scopes|Scopes&lt;br /&gt;
** MeshCore/Channels|Channels&lt;br /&gt;
** MeshCore/Regions|Regions&lt;br /&gt;
** MeshCore/Repeater Quick Setup|Repeater Quick Setup&lt;br /&gt;
** MeshCore/Observers|Observers&lt;br /&gt;
** MeshCore/OTA Upgrade Process|OTA Upgrades&lt;br /&gt;
** MeshCore/MeshMapper-Friendly Repeaters|MeshMapper-Friendly&lt;br /&gt;
** MeshCore/TX Delay and Flood Propagation|TX Delay&lt;br /&gt;
** MeshCore/FAQ|FAQ&lt;br /&gt;
* ScotMesh Meshtastic&lt;br /&gt;
** Meshtastic|Introduction&lt;br /&gt;
* SEARCH&lt;br /&gt;
* TOOLBOX&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=Main_Page&amp;diff=34</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=Main_Page&amp;diff=34"/>
		<updated>2026-11-03T17:06:33Z</updated>

		<summary type="html">&lt;p&gt;Admin: Hero: ScotMesh logo + Join the Discord&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ __NOEDITSECTION__&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-hero&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-herologo&amp;quot;&amp;gt;[[File:ScotMesh-lockup.svg|link=|alt=ScotMesh|260px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-h1&amp;quot;&amp;gt;Two meshes across Scotland, one wiki.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;sm-lead&amp;quot;&amp;gt;Guides, setup and reference for both ScotMesh radio networks — MeshCore and Meshtastic. Pick a network to get started.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-btns&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;b-discord&amp;quot;&amp;gt;[https://discord.gg/ytxfyuDmSt Join the Discord]&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;[https://scotmesh.uk Forum]&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-grid&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;net-card meshcore&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;net-head&amp;quot;&amp;gt;[[File:ScotMesh-meshcore-mark.svg|link=MeshCore|38px|alt=MeshCore]]&amp;lt;span class=&amp;quot;net-meta&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;net-name&amp;quot;&amp;gt;MeshCore&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;net-for&amp;quot;&amp;gt;Held Up by Repeaters&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Long-range LoRa on cheap radios, carried by fixed repeaters on high ground. Getting started, regions, scopes, channels, repeater setup and the FAQ.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;net-go&amp;quot;&amp;gt;[[MeshCore|Open the MeshCore guides →]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;net-card meshtastic&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;net-head&amp;quot;&amp;gt;[[File:ScotMesh-meshtastic-mark.svg|link=Meshtastic|38px|alt=Meshtastic]]&amp;lt;span class=&amp;quot;net-meta&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;net-name&amp;quot;&amp;gt;Meshtastic&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;net-for&amp;quot;&amp;gt;Scotland&#039;s Original Mesh&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Long-range LoRa messaging with an app on your phone, where every radio can repeat what it hears. Introduction and setup guides.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;net-go&amp;quot;&amp;gt;[[Meshtastic|Open the Meshtastic guides →]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;sm-join-note&amp;quot;&amp;gt;Forum invite code &amp;lt;code&amp;gt;VVAGXJN7BQ&amp;lt;/code&amp;gt;&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=MeshCore/TX_Delay_and_Flood_Propagation&amp;diff=33</id>
		<title>MeshCore/TX Delay and Flood Propagation</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=MeshCore/TX_Delay_and_Flood_Propagation&amp;diff=33"/>
		<updated>2026-11-03T17:06:31Z</updated>

		<summary type="html">&lt;p&gt;Admin: Import MeshCore content from scotmesh-wiki (faithful; freshness pass next)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:TX Delay and Flood Propagation}}&lt;br /&gt;
&amp;lt;span id=&amp;quot;tx-delay-and-flood-propagation-on-scotmesh&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== TX Delay and Flood Propagation on ScotMesh ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;&#039;Key point:&#039;&#039;&#039; TX Delay scales a randomized waiting window before a repeater forwards flood traffic. A lower value creates a smaller window and can statistically bias that repeater toward earlier forwarding. It is not a routing table, does not prescribe a route, and does not guarantee which repeater transmits first.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;purpose-and-scope&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Purpose and scope ===&lt;br /&gt;
&lt;br /&gt;
This page explains how ScotMesh repeater operators can use TX Delay as a coordinated network-planning setting. It combines the current MeshCore implementation and command reference with a practical decision flow derived from Sydney Mesh guidance and published by the Island of Ireland LoRa Project.&lt;br /&gt;
&lt;br /&gt;
The recommendations are useful defaults, not automatic proof that a site should receive a particular setting. RF coverage, neighbour relationships, network density, firmware behaviour and observed traffic should all be reviewed before changing a deployed repeater.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;what-tx-delay-actually-does&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== What TX Delay actually does ===&lt;br /&gt;
&lt;br /&gt;
For flood traffic, a MeshCore repeater estimates the packet airtime, multiplies it by the configured TX Delay factor, and chooses a random retransmission delay from a window based on that result. In the current repeater source, the effective calculation is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;t = estimated packet airtime x txdelay&lt;br /&gt;
random delay = 0 to (5 x t), inclusive in the implementation&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The random waiting window is primarily a collision-avoidance mechanism. When several nearby repeaters hear the same flood packet, spreading their forwarding times reduces the chance that they all transmit simultaneously.&lt;br /&gt;
&lt;br /&gt;
A larger factor widens the random window and can reduce collision risk, but adds potential latency. A lower factor narrows the window and makes earlier forwarding statistically more likely, but never certain.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;worked-example&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Worked example ====&lt;br /&gt;
&lt;br /&gt;
For illustration, if a packet has an estimated airtime of 500 ms, the approximate random forwarding windows are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot;| TX Delay&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot;| Approximate random forwarding window&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot;| 0.25&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot;| 0-625 ms&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot;| 0.3&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot;| 0-750 ms&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot;| 0.6&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot;| 0-1,500 ms&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot;| 1.0&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot;| 0-2,500 ms&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot;| 1.4&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot;| 0-3,500 ms&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot;| 2.0&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot;| 0-5,000 ms&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Illustrative values calculated from the current source formula; actual airtime depends on the packet and radio parameters.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;&#039;Important limitation:&#039;&#039;&#039; Do not describe TX Delay as a mechanism that necessarily cancels a scheduled retransmission when another repeater is heard. The current TX Delay setting controls the random retransmission window. A separate proposal to add configurable suppression after hearing other repeats shows that this behaviour should not be attributed to TX Delay itself.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;timing-influence-not-route-selection&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Timing influence, not route selection ===&lt;br /&gt;
&lt;br /&gt;
MeshCore flood propagation is not conventional shortest-path routing. Multiple repeaters may receive and forward a flood packet, and the observed path is shaped by RF reception, topology, packet timing, hop limits and the behaviour of participating nodes.&lt;br /&gt;
&lt;br /&gt;
Because lower-delay repeaters draw from a smaller random window, a coordinated hierarchy can bias strategically useful infrastructure toward earlier forwarding opportunities. This is a probability effect across repeated events, not a priority flag.&lt;br /&gt;
&lt;br /&gt;
It does not guarantee that a hilltop repeater wins any particular forwarding race, that another repeater will remain silent, or that a packet follows the geographically shortest path.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;the-sydney-derived-tx-delay-decision-flow&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== The Sydney-derived TX Delay decision flow ===&lt;br /&gt;
&lt;br /&gt;
The Island of Ireland LoRa Project publishes a sequential decision flow based on Sydney Mesh advice and adapted for its own network. For ScotMesh, the same flow is best treated as a starting framework: ask the questions in order and stop at the first &#039;&#039;&#039;Yes&#039;&#039;&#039; answer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;&#039;Why order matters:&#039;&#039;&#039; A newly installed mountaintop repeater still matches “Just placed - under 3 days?” before it reaches the mountaintop question. The conservative &amp;lt;code&amp;gt;1.4&amp;lt;/code&amp;gt; setting therefore comes first while its real RF role is observed.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot;| Step&lt;br /&gt;
! Question - stop at the first &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot;| Suggested &amp;lt;code&amp;gt;txdelay&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot;| 1&lt;br /&gt;
| First repeater setup?&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot;| &#039;&#039;&#039;1.4&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot;| 2&lt;br /&gt;
| Temporary or short-term placement?&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot;| &#039;&#039;&#039;1.4&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot;| 3&lt;br /&gt;
| Just placed - under 3 days?&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot;| &#039;&#039;&#039;1.4&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot;| 4&lt;br /&gt;
| Few neighbours - 3 or fewer?&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot;| &#039;&#039;&#039;1.4&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot;| 5&lt;br /&gt;
| Attic, window or below roofline?&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot;| &#039;&#039;&#039;1.0&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot;| 6&lt;br /&gt;
| Primarily connects its owner to the mesh?&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot;| &#039;&#039;&#039;1.0&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot;| 7&lt;br /&gt;
| Above-roofline mast or top of apartment block?&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot;| &#039;&#039;&#039;0.6&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot;| 8&lt;br /&gt;
| Hill overlooking a neighbourhood?&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot;| &#039;&#039;&#039;0.6&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot;| 9&lt;br /&gt;
| Mountaintop with views for miles?&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot;| &#039;&#039;&#039;0.3&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot;| 10&lt;br /&gt;
| Directional antenna or specialist link?&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot;| &#039;&#039;&#039;0.25&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot;| 11&lt;br /&gt;
| Mobile or vehicle repeater?&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot;| &#039;&#039;&#039;2.0&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot;| Else&lt;br /&gt;
| None of the above&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot;| &#039;&#039;&#039;1.4&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;These values reproduce the published decision flow. They are community planning guidance, not MeshCore firmware defaults and not a guarantee of path behaviour.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;how-to-interpret-the-values&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== How to interpret the values ====&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;2.0 - mobile or vehicle:&#039;&#039;&#039; a deliberately broad window for a changing, non-fixed RF role.&lt;br /&gt;
* &#039;&#039;&#039;1.4 - new, temporary, lightly connected or unclassified:&#039;&#039;&#039; the conservative starting point used by the published flow.&lt;br /&gt;
* &#039;&#039;&#039;1.0 - domestic or local-access site:&#039;&#039;&#039; typically below roofline or mainly connecting one operator.&lt;br /&gt;
* &#039;&#039;&#039;0.6 - useful elevated local infrastructure:&#039;&#039;&#039; above-roofline mast, apartment-block roof or neighbourhood hill.&lt;br /&gt;
* &#039;&#039;&#039;0.3 - major wide-area mountaintop infrastructure:&#039;&#039;&#039; after the site’s role has been demonstrated.&lt;br /&gt;
* &#039;&#039;&#039;0.25 - directional or specialist link:&#039;&#039;&#039; reviewed as part of the wider topology.&lt;br /&gt;
&lt;br /&gt;
A lower number is not an upgrade. It represents a narrower timing window and should be justified by the repeater’s stable, observed role.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;geographically-surprising-paths&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Geographically surprising paths ===&lt;br /&gt;
&lt;br /&gt;
Observed flood paths can appear indirect on a map even when every individual RF hop is valid. The image below is a real ScotMesh example in western Scotland.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;figure&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Scotmesh-tx-delay-route.jpg|thumb|right|400px|TX delay worked example route]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&#039;&#039;Figure 1. Example of an observed ScotMesh path in western Scotland: MUIRSHIEL-TT1 -&amp;amp;gt; ARDROSSAN-RPT -&amp;amp;gt; AYR-RPT -&amp;amp;gt; GALLOWAY-TT1. The path is geographically indirect, but the image alone does not show that any RF link or repeater is faulty.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This example demonstrates why a flood path should not be interpreted as a conventional shortest route. Coordinated TX Delay values may influence the relative timing of repeaters participating in the flood and may make some forwarding patterns more or less likely over time. They do not prescribe this path, prevent it, or guarantee a different one.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;&#039;Read the evidence carefully:&#039;&#039;&#039; Use path traces as a prompt for investigation, not as proof that one TX Delay value caused the route. Compare repeated observations, neighbour data, RF coverage and traffic conditions before changing settings.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;practical-guidance-for-scotmesh&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Practical guidance for ScotMesh ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;for-a-new-or-newly-moved-repeater&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== For a new or newly moved repeater ====&lt;br /&gt;
&lt;br /&gt;
* Start at &amp;lt;code&amp;gt;1.4&amp;lt;/code&amp;gt; and leave the repeater in its intended permanent position.&lt;br /&gt;
* Keep it at &amp;lt;code&amp;gt;1.4&amp;lt;/code&amp;gt; for at least the first three days, consistent with the published decision flow.&lt;br /&gt;
* Record its neighbours, reliable coverage and repeated path observations; avoid judging it from a single trace.&lt;br /&gt;
* Classify the site by what it demonstrably contributes to the network, not only by height or predicted coverage.&lt;br /&gt;
* Coordinate any reduction with nearby ScotMesh operators, particularly where coverage overlaps.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;for-an-established-repeater&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== For an established repeater ====&lt;br /&gt;
&lt;br /&gt;
* Review whether the current value matches the site’s actual role and stability.&lt;br /&gt;
* Change one variable at a time, note the date and reason, then compare behaviour over a meaningful observation period.&lt;br /&gt;
* Do not lower values simply to make a node “win”. Too many narrow windows can increase simultaneous competition and undermine collision avoidance.&lt;br /&gt;
* If a path is surprising, check RF reachability, neighbour counts, firmware versions, scope and hop settings alongside TX Delay.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;cli-examples&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== CLI examples ===&lt;br /&gt;
&lt;br /&gt;
Read the current flood TX Delay value:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;get txdelay&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Set the conservative starting value:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;set txdelay 1.4&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Example for an established elevated local site after review:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;set txdelay 0.6&lt;br /&gt;
get txdelay&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The current MeshCore CLI documents TX Delay as a factor from &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;. The commands above concern flood traffic. Direct, non-flood routed traffic uses the separate &amp;lt;code&amp;gt;direct.txdelay&amp;lt;/code&amp;gt; setting; do not change it merely to mirror this guide.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;review-checklist&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Review checklist ===&lt;br /&gt;
&lt;br /&gt;
* Is the repeater permanently installed and observed for at least three days?&lt;br /&gt;
* Does it have more than three useful neighbours?&lt;br /&gt;
* Is the proposed classification supported by real RF coverage?&lt;br /&gt;
* Have repeated traces been reviewed rather than a single path?&lt;br /&gt;
* Have neighbouring operators considered the change as a coordinated system?&lt;br /&gt;
* Is the change recorded so its effect can be compared later?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;summary&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Summary ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;&#039;In one line:&#039;&#039;&#039; TX Delay -&amp;amp;gt; randomized flood retransmission window -&amp;amp;gt; statistical timing bias -&amp;amp;gt; possible influence on flood propagation; never a guaranteed route.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Start conservatively, observe the site, and coordinate lower settings where the repeater’s stable network role justifies a narrower random window. Treat unexpected routes as evidence to investigate, not behaviour that TX Delay alone can promise to fix.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;credits-and-sources&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Credits and sources ===&lt;br /&gt;
&lt;br /&gt;
The decision flow and community guidance are based on the [https://loraproject.ie/repeater/#tx-delay Island of Ireland LoRa Project’s Repeater Setup and TX Delay guide]. That page credits Sydney Mesh advice as the basis for its recommendations, adapted for Ireland.&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/meshcore-dev/MeshCore/blob/main/docs/cli_commands.md#view-or-change-the-retransmit-delay-factor-for-flood-traffic MeshCore CLI commands - TX Delay]&lt;br /&gt;
* [https://github.com/meshcore-dev/MeshCore/blob/main/examples/simple_repeater/MyMesh.cpp MeshCore simple repeater source - &amp;lt;code&amp;gt;MyMesh.cpp&amp;lt;/code&amp;gt;]&lt;br /&gt;
* [https://github.com/meshcore-dev/MeshCore/issues/2442 MeshCore issue #2442 - proposal for repeat suppression]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Source and firmware behaviour checked 30 August 2026. Review this page when MeshCore forwarding behaviour or CLI semantics change.&#039;&#039;&lt;br /&gt;
content here&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=MeshCore/MeshMapper-Friendly_Repeaters&amp;diff=32</id>
		<title>MeshCore/MeshMapper-Friendly Repeaters</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=MeshCore/MeshMapper-Friendly_Repeaters&amp;diff=32"/>
		<updated>2026-11-03T17:06:29Z</updated>

		<summary type="html">&lt;p&gt;Admin: Import MeshCore content from scotmesh-wiki (faithful; freshness pass next)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:MeshMapper-Friendly Repeaters}}&lt;br /&gt;
&amp;lt;span id=&amp;quot;meshmapper-friendly-repeater-configuration-spec-for-scotmesh-meshcore&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== MeshMapper-Friendly Repeater Configuration Spec for Scotmesh MeshCore ==&lt;br /&gt;
&lt;br /&gt;
These are guidelines for a uniform configuration of repeaters taking part in &#039;&#039;&#039;Scotmesh MeshCore&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
These are not hard and fast rules, but certain specifications are necessary for smooth MeshMapper reporting. Using these settings will help ensure a smooth-running mesh.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;identification&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Identification ===&lt;br /&gt;
&lt;br /&gt;
Use &#039;&#039;&#039;ASCII characters only&#039;&#039;&#039; for the repeater name.&lt;br /&gt;
&lt;br /&gt;
This makes MeshMapper management much easier, as most emoji characters are &#039;&#039;&#039;not&#039;&#039;&#039; read by MeshMapper.&lt;br /&gt;
&lt;br /&gt;
You can use a single emoji to customise your MeshCore app icon on your companion radio, but this has no effect on the repeater name as seen by MeshMapper.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;location&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Location ===&lt;br /&gt;
&lt;br /&gt;
Repeater location should be set as accurately as possible, while still protecting the safety and security of the repeater site.&lt;br /&gt;
&lt;br /&gt;
For example, setting the repeater location around &#039;&#039;&#039;200 metres&#039;&#039;&#039; from the real location gives a search area of approximately &#039;&#039;&#039;12.6 hectares&#039;&#039;&#039;. This would take a careful walking search of around &#039;&#039;&#039;8 hours&#039;&#039;&#039; to cover.&lt;br /&gt;
&lt;br /&gt;
Setting the location &#039;&#039;&#039;200–250 metres away&#039;&#039;&#039; from the real position gives a useful level of obfuscation while still allowing the repeater to appear correctly on MeshMapper.&lt;br /&gt;
&lt;br /&gt;
If no location is set:&lt;br /&gt;
&lt;br /&gt;
* The repeater will be excluded from MeshMapper&lt;br /&gt;
* You will not see useful telemetry, such as zero-hop neighbours&lt;br /&gt;
* Routing path analysis, enhancements and other mesh planning will not be possible&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;basic-owner-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Basic Owner Information ===&lt;br /&gt;
&lt;br /&gt;
Please ensure basic owner information is set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;advert-settings&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Advert Settings ===&lt;br /&gt;
&lt;br /&gt;
Recommended settings:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Zero-hop advert:&#039;&#039;&#039; 60–120 minutes&lt;br /&gt;
* &#039;&#039;&#039;Flood advert:&#039;&#039;&#039; 24 hours&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;radio-settings&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Radio Settings ===&lt;br /&gt;
&lt;br /&gt;
Please use:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;EU/UK Narrow&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Frequency:&#039;&#039;&#039; 869.618 MHz&lt;br /&gt;
* &#039;&#039;&#039;Spreading Factor:&#039;&#039;&#039; SF8&lt;br /&gt;
* &#039;&#039;&#039;Coding Rate:&#039;&#039;&#039; CR8&lt;br /&gt;
* &#039;&#039;&#039;Bandwidth:&#039;&#039;&#039; 62.5 kHz&lt;br /&gt;
&lt;br /&gt;
Recommended CLI settings:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;set multi.acks 1&lt;br /&gt;
set path.hash.mode 2&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
This enables:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Multi ACKs&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;3-byte path hash&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Please keep your repeater updated with the latest firmware whenever possible.&lt;br /&gt;
&lt;br /&gt;
Please also ensure your companion radio or radios are set to:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Double ACKs on&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;3-byte path hash&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;access&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Access ===&lt;br /&gt;
&lt;br /&gt;
Do not leave the guest login with no password.&lt;br /&gt;
&lt;br /&gt;
For continuity, please set the guest password to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;hello&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
This gives at least some security over the guest login.&lt;br /&gt;
&lt;br /&gt;
Keep your admin password safe.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;region-scope&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Region / Scope ===&lt;br /&gt;
&lt;br /&gt;
Please set both the &#039;&#039;&#039;default scope&#039;&#039;&#039; and &#039;&#039;&#039;home scope&#039;&#039;&#039; to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;sco&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Please also deny flood to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;*&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Channels set to region &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; are:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;Public&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;#scotland&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Optionally, you may also add the channel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;#ireland&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
with region:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;ioi&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Scotland and the Island of Ireland have collaborated very well to construct a civilised MeshCore environment.&lt;br /&gt;
&lt;br /&gt;
As Scotmesh expands, we may add nested sub-regions within &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;time-setting-and-synchronisation-with-meshmapper&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Time Setting and Synchronisation with MeshMapper ===&lt;br /&gt;
&lt;br /&gt;
After power-up of the repeater, the time is always incorrect.&lt;br /&gt;
&lt;br /&gt;
Please use the following procedure to set the correct time and synchronise it with MeshMapper.&lt;br /&gt;
&lt;br /&gt;
This process assumes you have already configured the repeater for use.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;phone-app-method&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Phone App Method ====&lt;br /&gt;
&lt;br /&gt;
# Open the settings page in the phone app.&lt;br /&gt;
# Perform the usual &#039;&#039;&#039;Sync Clock&#039;&#039;&#039; action.&lt;br /&gt;
# Scroll to the bottom of the page.&lt;br /&gt;
# Tap &#039;&#039;&#039;Reboot&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Unlike pressing the physical &#039;&#039;&#039;reset&#039;&#039;&#039; button on the repeater board, this is a &#039;&#039;&#039;soft reset&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
A soft reset does &#039;&#039;&#039;not&#039;&#039;&#039; reset the clock, but it appears to be important for finalising certain settings.&lt;br /&gt;
&lt;br /&gt;
For reference:&lt;br /&gt;
&lt;br /&gt;
* Pressing &#039;&#039;&#039;Reboot&#039;&#039;&#039; in the app is a &#039;&#039;&#039;soft reset&#039;&#039;&#039;&lt;br /&gt;
* Pressing the physical reset button on the board is a &#039;&#039;&#039;hard reset&#039;&#039;&#039;&lt;br /&gt;
* A hard reset resets all settings not stored in flash&lt;br /&gt;
&lt;br /&gt;
You may also use CLI commands to perform the same task if preferred.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;closing-note&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Closing Note ===&lt;br /&gt;
&lt;br /&gt;
I hope this helps with the ease of configuration.&lt;br /&gt;
&lt;br /&gt;
This guide assumes you already understand the menu and command structure of MeshCore repeaters, devices and apps.&lt;br /&gt;
&lt;br /&gt;
If there is a menu item you cannot find, ask on the Discord server and one of the admins or knowledgeable users will help you along.ur content here&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=MeshCore/OTA_Upgrade_Process&amp;diff=31</id>
		<title>MeshCore/OTA Upgrade Process</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=MeshCore/OTA_Upgrade_Process&amp;diff=31"/>
		<updated>2026-11-03T17:06:28Z</updated>

		<summary type="html">&lt;p&gt;Admin: Import MeshCore content from scotmesh-wiki (faithful; freshness pass next)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:OTA Upgrade Process}}&lt;br /&gt;
&amp;lt;span id=&amp;quot;upgrading-meshcore-repeaters-using-ota&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Upgrading MeshCore Repeaters Using OTA ==&lt;br /&gt;
&lt;br /&gt;
This guide explains how to upgrade a MeshCore repeater or room server using the OTA function.&lt;br /&gt;
&lt;br /&gt;
OTA means &#039;&#039;&#039;Over The Air&#039;&#039;&#039;. It allows firmware to be upgraded without physically connecting the repeater to a computer by USB. This is useful for repeaters already installed on roofs, masts, poles, lofts or other awkward locations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;&#039;Important:&#039;&#039;&#039; OTA is convenient, but it still carries some risk. Make sure you use the correct firmware for the correct hardware.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;supported-ota-methods&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Supported OTA methods ===&lt;br /&gt;
&lt;br /&gt;
There are two common OTA methods depending on the hardware type:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Hardware type&lt;br /&gt;
! Common examples&lt;br /&gt;
! OTA method&lt;br /&gt;
|-&lt;br /&gt;
| nRF52 devices&lt;br /&gt;
| RAK4631, Heltec T114, Seeed XIAO nRF52840, SenseCAP nRF devices&lt;br /&gt;
| Bluetooth DFU using the &#039;&#039;&#039;nRF Device Firmware Update&#039;&#039;&#039; app&lt;br /&gt;
|-&lt;br /&gt;
| ESP32 devices&lt;br /&gt;
| Heltec V3, some ESP32 repeaters/room servers&lt;br /&gt;
| Temporary Wi-Fi access point called &#039;&#039;&#039;MeshCore OTA&#039;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you are not sure which method applies, check the device hardware before starting.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;before-you-start&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Before you start ===&lt;br /&gt;
&lt;br /&gt;
Before upgrading, make sure you have:&lt;br /&gt;
&lt;br /&gt;
* Admin access to the repeater or room server.&lt;br /&gt;
* A recent copy or screenshot of the repeater settings.&lt;br /&gt;
* The correct firmware for the exact hardware model.&lt;br /&gt;
* A phone or tablet with Bluetooth enabled for nRF devices.&lt;br /&gt;
* Good battery level on your phone.&lt;br /&gt;
* The repeater has enough power to complete the update.&lt;br /&gt;
* You are physically close enough for a reliable Bluetooth or Wi-Fi connection.&lt;br /&gt;
&lt;br /&gt;
For solar repeaters, avoid doing OTA updates when the battery is low or the weather is poor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;firmware-file-warning&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Firmware file warning ===&lt;br /&gt;
&lt;br /&gt;
When downloading firmware, make sure you select the correct file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;for-nrf52-ota-updates&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== For nRF52 OTA updates ====&lt;br /&gt;
&lt;br /&gt;
Use the firmware &#039;&#039;&#039;ZIP&#039;&#039;&#039; file intended for DFU / OTA update.&lt;br /&gt;
&lt;br /&gt;
Do &#039;&#039;&#039;not&#039;&#039;&#039; unzip it unless the instructions for your specific device say otherwise.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;for-esp32-ota-updates&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== For ESP32 OTA updates ====&lt;br /&gt;
&lt;br /&gt;
Use the firmware file that does &#039;&#039;&#039;not&#039;&#039;&#039; contain &amp;lt;code&amp;gt;merged&amp;lt;/code&amp;gt; in the filename.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;&#039;Do not use a merged firmware file for OTA.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A merged firmware file is normally for a full USB flash and may wipe or reset the device.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;download-the-firmware&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Download the firmware ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Go to the MeshCore flasher:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;https://flasher.meshcore.io&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Select the correct device type.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Select the correct role, usually:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;code&amp;gt;Repeater&amp;lt;/code&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;code&amp;gt;Room Server&amp;lt;/code&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;code&amp;gt;Room Server / Repeater&amp;lt;/code&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Download the correct firmware file for your hardware.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Save the file somewhere easy to find on your phone or computer.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;method-1-ota-update-for-nrf52-devices&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Method 1: OTA update for nRF52 devices ==&lt;br /&gt;
&lt;br /&gt;
Use this method for devices such as:&lt;br /&gt;
&lt;br /&gt;
* RAK4631&lt;br /&gt;
* Heltec T114&lt;br /&gt;
* Seeed XIAO nRF52840&lt;br /&gt;
* SenseCAP nRF-based devices&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;step-1-install-the-dfu-app&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Step 1 — Install the DFU app ===&lt;br /&gt;
&lt;br /&gt;
Install the Nordic &#039;&#039;&#039;nRF Device Firmware Update&#039;&#039;&#039; app.&lt;br /&gt;
&lt;br /&gt;
* iOS: search the App Store for &amp;lt;code&amp;gt;nRF Device Firmware Update&amp;lt;/code&amp;gt;&lt;br /&gt;
* Android: search Google Play for &amp;lt;code&amp;gt;nRF Device Firmware Update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;step-2-connect-to-the-repeater-in-meshcore&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Step 2 — Connect to the repeater in MeshCore ===&lt;br /&gt;
&lt;br /&gt;
# Open the MeshCore app.&lt;br /&gt;
# Connect to the repeater or room server.&lt;br /&gt;
# Log in using the admin password.&lt;br /&gt;
# Open the repeater management screen.&lt;br /&gt;
# Open the command line / terminal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;step-3-put-the-repeater-into-ota-mode&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Step 3 — Put the repeater into OTA mode ===&lt;br /&gt;
&lt;br /&gt;
In the MeshCore command line, enter:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;start ota&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The device should reply:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;OK&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The repeater is now in OTA / DFU mode.&lt;br /&gt;
&lt;br /&gt;
Leave the repeater powered on and do not restart it while you move to the DFU app.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;step-4-configure-the-dfu-app&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Step 4 — Configure the DFU app ===&lt;br /&gt;
&lt;br /&gt;
Open the &#039;&#039;&#039;nRF Device Firmware Update&#039;&#039;&#039; app.&lt;br /&gt;
&lt;br /&gt;
Recommended settings:&lt;br /&gt;
&lt;br /&gt;
* Enable &#039;&#039;&#039;Packets receipt notifications&#039;&#039;&#039;&lt;br /&gt;
* Set the number of packets to:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Device&lt;br /&gt;
! Packet setting&lt;br /&gt;
|-&lt;br /&gt;
| RAK4631&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| Heltec T114&lt;br /&gt;
| 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If unsure, use &amp;lt;code&amp;gt;8&amp;lt;/code&amp;gt; as a safe value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;step-5-select-the-firmware-file&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Step 5 — Select the firmware file ===&lt;br /&gt;
&lt;br /&gt;
In the &#039;&#039;&#039;nRF Device Firmware Update&#039;&#039;&#039; app:&lt;br /&gt;
&lt;br /&gt;
# Select the firmware ZIP file you downloaded.&lt;br /&gt;
# Scan for nearby DFU devices.&lt;br /&gt;
# Select the repeater.&lt;br /&gt;
&lt;br /&gt;
The device may appear as a DFU device rather than by its normal MeshCore name.&lt;br /&gt;
&lt;br /&gt;
If the device does not appear:&lt;br /&gt;
&lt;br /&gt;
* Make sure Bluetooth is enabled.&lt;br /&gt;
* Move closer to the repeater.&lt;br /&gt;
* Re-run the MeshCore command: &amp;lt;code&amp;gt;start ota&amp;lt;/code&amp;gt;&lt;br /&gt;
* Try enabling &#039;&#039;&#039;Force Scanning&#039;&#039;&#039; in the DFU app if available.&lt;br /&gt;
* Toggle Bluetooth off and on.&lt;br /&gt;
* Restart the phone if needed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;step-6-start-the-upload&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Step 6 — Start the upload ===&lt;br /&gt;
&lt;br /&gt;
Press &#039;&#039;&#039;Upload&#039;&#039;&#039; in the DFU app.&lt;br /&gt;
&lt;br /&gt;
Keep the phone awake and close to the repeater until the update finishes.&lt;br /&gt;
&lt;br /&gt;
Do not:&lt;br /&gt;
&lt;br /&gt;
* Leave the app.&lt;br /&gt;
* Lock the phone.&lt;br /&gt;
* Walk away from the repeater.&lt;br /&gt;
* Turn Bluetooth off.&lt;br /&gt;
* Power off the repeater.&lt;br /&gt;
&lt;br /&gt;
The update can take a few minutes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;step-7-wait-for-reboot&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Step 7 — Wait for reboot ===&lt;br /&gt;
&lt;br /&gt;
When the upload completes, the repeater should reboot automatically.&lt;br /&gt;
&lt;br /&gt;
Wait a minute or two before trying to reconnect.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;step-8-confirm-the-upgrade&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Step 8 — Confirm the upgrade ===&lt;br /&gt;
&lt;br /&gt;
Reconnect to the repeater in the MeshCore app.&lt;br /&gt;
&lt;br /&gt;
Check the firmware version from the management screen or command line.&lt;br /&gt;
&lt;br /&gt;
Also check that the repeater settings are still correct, especially:&lt;br /&gt;
&lt;br /&gt;
* Region / scope settings&lt;br /&gt;
* Default scope&lt;br /&gt;
* Repeater enabled&lt;br /&gt;
* Advert settings&lt;br /&gt;
* Flood settings&lt;br /&gt;
* TX power&lt;br /&gt;
* Admin access&lt;br /&gt;
* GPS/location settings if used&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;method-2-ota-update-for-esp32-devices&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Method 2: OTA update for ESP32 devices ==&lt;br /&gt;
&lt;br /&gt;
Use this method for ESP32-based MeshCore repeaters or room servers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;step-1-connect-to-the-repeater-in-meshcore&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Step 1 — Connect to the repeater in MeshCore ===&lt;br /&gt;
&lt;br /&gt;
# Open the MeshCore app.&lt;br /&gt;
# Connect to the repeater or room server.&lt;br /&gt;
# Log in using the admin password.&lt;br /&gt;
# Open the repeater command line / terminal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;step-2-start-ota-mode&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Step 2 — Start OTA mode ===&lt;br /&gt;
&lt;br /&gt;
Enter the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;start ota&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The ESP32 device should start a temporary Wi-Fi access point called something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;MeshCore OTA&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;step-3-connect-to-the-ota-wi-fi&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Step 3 — Connect to the OTA Wi-Fi ===&lt;br /&gt;
&lt;br /&gt;
On your phone, tablet or laptop:&lt;br /&gt;
&lt;br /&gt;
# Open Wi-Fi settings.&lt;br /&gt;
# Connect to the temporary Wi-Fi network:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;MeshCore OTA&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol start=&amp;quot;3&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Stay connected to this Wi-Fi until the upload is complete.&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;step-4-open-the-ota-upload-page&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Step 4 — Open the OTA upload page ===&lt;br /&gt;
&lt;br /&gt;
Open a web browser and go to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;http://192.168.4.1/update&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the CLI shows a different IP address, use the IP address shown by the device.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;step-5-upload-the-firmware&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Step 5 — Upload the firmware ===&lt;br /&gt;
&lt;br /&gt;
# Choose the firmware file.&lt;br /&gt;
# Make sure the file is the correct one for your hardware.&lt;br /&gt;
# Make sure the filename does &#039;&#039;&#039;not&#039;&#039;&#039; contain &amp;lt;code&amp;gt;merged&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Upload the file.&lt;br /&gt;
# Wait until the update completes.&lt;br /&gt;
&lt;br /&gt;
Do not disconnect from the &amp;lt;code&amp;gt;MeshCore OTA&amp;lt;/code&amp;gt; Wi-Fi while the upload is running.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;&#039;Important:&#039;&#039;&#039; Do not use a merged firmware file for ESP32 OTA updates.&amp;lt;br /&amp;gt;&lt;br /&gt;
A merged firmware file is normally for a full USB flash and may wipe or reset the device.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;step-6-wait-for-reboot-and-confirm&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Step 6 — Wait for reboot and confirm ===&lt;br /&gt;
&lt;br /&gt;
After upload, the device should reboot.&lt;br /&gt;
&lt;br /&gt;
Reconnect through the MeshCore app and confirm:&lt;br /&gt;
&lt;br /&gt;
* Firmware version&lt;br /&gt;
* Repeater settings&lt;br /&gt;
* Region / scope settings&lt;br /&gt;
* Admin access&lt;br /&gt;
* TX power&lt;br /&gt;
* Advert and flood settings&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;scot-mesh-post-upgrade-checks&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Scot Mesh post-upgrade checks ==&lt;br /&gt;
&lt;br /&gt;
After upgrading a Scot Mesh repeater, check the following before leaving it alone.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;basic-checks&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Basic checks ===&lt;br /&gt;
&lt;br /&gt;
* Repeater is online&lt;br /&gt;
* Repeater can be seen by nearby nodes&lt;br /&gt;
* Admin access still works&lt;br /&gt;
* Firmware version is correct&lt;br /&gt;
* Time/location information looks correct if used&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;region-and-scope-checks&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Region and scope checks ===&lt;br /&gt;
&lt;br /&gt;
For Scot Mesh, confirm the repeater still has the correct region configuration.&lt;br /&gt;
&lt;br /&gt;
Typical Scot Mesh structure:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code&lt;br /&gt;
! Region&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&lt;br /&gt;
| Scotland&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cen&amp;lt;/code&amp;gt;&lt;br /&gt;
| Central Scotland&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;fal&amp;lt;/code&amp;gt;&lt;br /&gt;
| Falkirk&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;&lt;br /&gt;
| Island of Ireland neighbour region&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Check that the repeater has the correct local and parent regions for its area.&lt;br /&gt;
&lt;br /&gt;
Also confirm that wildcard / unrestricted flooding has not been accidentally restored.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;recommended-scot-mesh-settings-to-re-check&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Recommended Scot Mesh settings to re-check ===&lt;br /&gt;
&lt;br /&gt;
The exact settings may vary by repeater, but these are worth checking after any firmware upgrade:&lt;br /&gt;
&lt;br /&gt;
* Default scope&lt;br /&gt;
* Region list&lt;br /&gt;
* Region parent relationships&lt;br /&gt;
* Region flood permissions&lt;br /&gt;
* Wildcard flood deny&lt;br /&gt;
* Repeater enabled&lt;br /&gt;
* TX power&lt;br /&gt;
* Flood max&lt;br /&gt;
* Advert interval&lt;br /&gt;
* Flood advert interval&lt;br /&gt;
* Path hash size / routing byte size&lt;br /&gt;
&lt;br /&gt;
If the repeater was part of the Scot Mesh scoped region rollout, do not assume these settings survived the upgrade. Check them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;troubleshooting&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;the-repeater-does-not-appear-in-the-dfu-app&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== The repeater does not appear in the DFU app ===&lt;br /&gt;
&lt;br /&gt;
Try the following:&lt;br /&gt;
&lt;br /&gt;
* Move closer to the repeater.&lt;br /&gt;
* Run &amp;lt;code&amp;gt;start ota&amp;lt;/code&amp;gt; again.&lt;br /&gt;
* Turn Bluetooth off and on.&lt;br /&gt;
* Enable &#039;&#039;&#039;Force Scanning&#039;&#039;&#039; in the DFU app.&lt;br /&gt;
* Restart the phone.&lt;br /&gt;
* Power-cycle the repeater if safe to do so.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;the-update-stalls&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== The update stalls ===&lt;br /&gt;
&lt;br /&gt;
Do not immediately power-cycle the repeater.&lt;br /&gt;
&lt;br /&gt;
First:&lt;br /&gt;
&lt;br /&gt;
* Keep the phone close.&lt;br /&gt;
* Keep the app open.&lt;br /&gt;
* Wait a few minutes.&lt;br /&gt;
* Check that Bluetooth or Wi-Fi is still connected.&lt;br /&gt;
&lt;br /&gt;
If it has clearly failed:&lt;br /&gt;
&lt;br /&gt;
* Close the DFU app.&lt;br /&gt;
* Toggle Bluetooth off and on.&lt;br /&gt;
* Restart the phone if needed.&lt;br /&gt;
* Reconnect to the repeater if possible.&lt;br /&gt;
* Run &amp;lt;code&amp;gt;start ota&amp;lt;/code&amp;gt; again.&lt;br /&gt;
* Retry the upload.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;the-phone-locked-during-the-update&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== The phone locked during the update ===&lt;br /&gt;
&lt;br /&gt;
If the update has stopped progressing:&lt;br /&gt;
&lt;br /&gt;
* Unlock the phone.&lt;br /&gt;
* Return to the DFU app.&lt;br /&gt;
* Check whether the upload resumes.&lt;br /&gt;
&lt;br /&gt;
If it does not resume, restart the OTA process.&lt;br /&gt;
&lt;br /&gt;
For future updates, keep the phone awake and the DFU app in the foreground.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;the-repeater-does-not-come-back-after-ota&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== The repeater does not come back after OTA ===&lt;br /&gt;
&lt;br /&gt;
Possible causes:&lt;br /&gt;
&lt;br /&gt;
* Wrong firmware file&lt;br /&gt;
* Power loss during update&lt;br /&gt;
* Bluetooth/Wi-Fi upload failure&lt;br /&gt;
* Bootloader issue&lt;br /&gt;
&lt;br /&gt;
Try:&lt;br /&gt;
&lt;br /&gt;
* Wait a few minutes.&lt;br /&gt;
* Scan again in the MeshCore app.&lt;br /&gt;
* Scan again in the DFU app.&lt;br /&gt;
* Power-cycle the repeater if safe.&lt;br /&gt;
* Try the OTA process again if the device still appears in DFU mode.&lt;br /&gt;
&lt;br /&gt;
If the device no longer appears in MeshCore or DFU mode, it may need a physical USB recovery flash.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;good-practice&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Good practice ==&lt;br /&gt;
&lt;br /&gt;
Before updating an important repeater:&lt;br /&gt;
&lt;br /&gt;
* Update one test device first.&lt;br /&gt;
* Keep a copy of the old known-good firmware.&lt;br /&gt;
* Take screenshots of important settings.&lt;br /&gt;
* Avoid updating multiple key repeaters at the same time.&lt;br /&gt;
* Avoid updating during poor weather if solar powered.&lt;br /&gt;
* Avoid updating when the network is busy.&lt;br /&gt;
* Tell local users before upgrading a major repeater.&lt;br /&gt;
&lt;br /&gt;
For hilltop or difficult-access repeaters, consider fitting or confirming an OTA-capable bootloader before deployment.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;summary&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Summary ==&lt;br /&gt;
&lt;br /&gt;
The normal OTA process is:&lt;br /&gt;
&lt;br /&gt;
# Download the correct firmware.&lt;br /&gt;
# Connect to the repeater as admin.&lt;br /&gt;
# Open the command line.&lt;br /&gt;
# Run &amp;lt;code&amp;gt;start ota&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Use the DFU app for nRF52 devices.&lt;br /&gt;
# Use the MeshCore OTA Wi-Fi page for ESP32 devices.&lt;br /&gt;
# Wait for reboot.&lt;br /&gt;
# Confirm firmware and settings.&lt;br /&gt;
&lt;br /&gt;
OTA makes repeater maintenance much easier, but always check the firmware file and confirm the repeater settings afterwards.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=MeshCore/FAQ&amp;diff=30</id>
		<title>MeshCore/FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=MeshCore/FAQ&amp;diff=30"/>
		<updated>2026-11-03T17:06:27Z</updated>

		<summary type="html">&lt;p&gt;Admin: Import MeshCore content from scotmesh-wiki (faithful; freshness pass next)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:FAQ}}&lt;br /&gt;
&amp;lt;span id=&amp;quot;meshcore-faq&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== MeshCore FAQ 🙋 ==&lt;br /&gt;
&lt;br /&gt;
Quick answers to the questions that come up most often. If yours is not here, ask on [https://discord.gg/ytxfyuDmSt Discord].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;do-i-need-a-radio-licence-to-use-meshcore&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Do I need a radio licence to use meshcore? ===&lt;br /&gt;
&lt;br /&gt;
No. MeshCore uses licence-exempt LoRa frequencies (868 MHz in the UK). Anyone can carry a companion node and use the app. No amateur radio licence required.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;what-is-the-range&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== What is the range? ===&lt;br /&gt;
&lt;br /&gt;
It depends heavily on where you are and whether there is a repeater nearby. A companion node in the open might reach a couple of kilometres to a nearby repeater. A well-sited repeater on a hill can cover tens of kilometres. In a city with buildings in the way, range is shorter.&lt;br /&gt;
&lt;br /&gt;
Currently our distance record across water is &#039;&#039;&#039;160km from Galloway to Dublin.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Our record across land is &#039;&#039;&#039;120km from Angus down to SOuth Lanark.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;why-cant-i-hear-anyone&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Why can’t I hear anyone? ===&lt;br /&gt;
&lt;br /&gt;
A few things to check, in order:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Scope is wrong.&#039;&#039;&#039; The most common cause. Go to &#039;&#039;&#039;Experimental Settings&#039;&#039;&#039; in the app and confirm &#039;&#039;&#039;Default Scope Region&#039;&#039;&#039; is set to &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;. Then check the channel scope too — see [[MeshCore/Scopes|Scopes]].&lt;br /&gt;
# &#039;&#039;&#039;No repeater nearby.&#039;&#039;&#039; Use &#039;&#039;&#039;Tools → Repeater Scanner&#039;&#039;&#039; in the MeshCore app to scan for nearby ScotMesh repeaters, then wait for the scan to complete and confirm that local repeaters are being discovered.&lt;br /&gt;
# &#039;&#039;&#039;Wrong radio preset.&#039;&#039;&#039; Make sure your device is flashed with the &#039;&#039;&#039;EU/UK (Narrow)&#039;&#039;&#039; preset. A device on the wrong channel or spreading factor will not hear anything.&lt;br /&gt;
# &#039;&#039;&#039;Device not transmitting.&#039;&#039;&#039; Try &amp;lt;code&amp;gt;#test&amp;lt;/code&amp;gt; with scope &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; — you should at least see your own message go out.&lt;br /&gt;
&lt;br /&gt;
If you have checked all of the above and still hear nothing, ask on [https://discord.gg/ytxfyuDmSt Discord].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;what-is-the-difference-between-a-channel-and-a-scope&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== What is the difference between a channel and a scope? ===&lt;br /&gt;
&lt;br /&gt;
* A &#039;&#039;&#039;channel&#039;&#039;&#039; is a named group chat — &amp;lt;code&amp;gt;#scotland&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;#glasgow&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;#test&amp;lt;/code&amp;gt;. It is just a label for people.&lt;br /&gt;
* A &#039;&#039;&#039;scope&#039;&#039;&#039; is a region code that repeaters use to decide whether to carry your message — &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
You can send a message on &amp;lt;code&amp;gt;#glasgow&amp;lt;/code&amp;gt; with the scope set to &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; and it will go Scotland-wide. Or you can set the scope to &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt; and it will only travel through Glasgow-area repeaters. The channel name does not change that — the scope does. See [[MeshCore/Scopes|Scopes]] for the full explanation.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;why-is-the-wildcard-not-allowed&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Why is the &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; wildcard not allowed? ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; wildcard tells repeaters to forward everything to everyone. On a well-grown network that floods the airtime with traffic that most people do not need. ScotMesh uses deliberate region scopes instead — set &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; for Scotland-wide, &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt; for Glasgow, and so on — so traffic only travels where it is actually useful.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;In late March / early April 2026, the ScotMesh MC network officially formed when West Coast repeaters successfully linked with East Coast repeaters. This gave us around two weeks of reliable country-wide messaging across Scotland, proving that the network could work well as a connected Scottish mesh.The situation changed when our Galloway repeater linked us into Ireland and, through that path, to the remainder of the wider UK mesh. While wider interconnection may sound positive, in practice it created a major problem for ScotMesh. The network was suddenly exposed to a very high level of uncontrolled flood traffic, estimated at around 24,000 flood packets per day, plus around 600 public messages being present. Much of this traffic was unnecessary for Scottish users and included political arguments, off-topic content, and various abusive or inappropriate remarks.&lt;br /&gt;
This level of uncontrolled traffic had a damaging effect on ScotMesh. It increased congestion, reduced the reliability of useful local messaging, and made the network harder to manage. This was the reason ScotMesh moved towards a clearer regional framework, allowing Scotland to remain connected where appropriate while keeping routine traffic scoped, relevant, and manageable. This is also the reason why are unlikely to ever allow wildcard flooding again.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
There is one exception: &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; is used as a root parent in repeater configuration commands (for example &amp;lt;code&amp;gt;region put sco *&amp;lt;/code&amp;gt;). That is a region tree concept, not wildcard forwarding. See [[MeshCore/Regions|Regions]] for the detail.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;can-i-use-scotmesh-without-a-repeater-nearby&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Can I use ScotMesh without a repeater nearby? ===&lt;br /&gt;
&lt;br /&gt;
Yes, but your range is very limited. Two companion nodes in line of sight can talk directly. If there is no repeater between you and another user, messages will only reach as far as direct radio range allows — often just a few hundred metres in built-up areas.&lt;br /&gt;
&lt;br /&gt;
If you want to extend coverage in your area, the best thing to do is put up a repeater. See [[MeshCore/Repeater Quick Setup|Repeater Quick Setup]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;what-device-should-i-buy&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== What device should I buy? ===&lt;br /&gt;
&lt;br /&gt;
The [https://meshcore.io/flasher MeshCore Flasher] lists devices that can be flashed with MeshCore firmware — that is a good starting point for what is currently supported. Popular choices include boards from Heltec, LilyGo, and RAK, but the community’s preferences do shift as new hardware comes out.&lt;br /&gt;
&lt;br /&gt;
The best thing to do is ask on [https://discord.gg/ytxfyuDmSt Discord] — someone will point you at whatever is working well right now.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;how-do-i-know-if-my-device-is-working&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== How do I know if my device is working? ===&lt;br /&gt;
&lt;br /&gt;
Send a message on &amp;lt;code&amp;gt;#test&amp;lt;/code&amp;gt; with scope &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;. If you can see the message appear in the app after sending, the device is transmitting. If someone else on the network responds, you have confirmed two-way comms.&lt;br /&gt;
&lt;br /&gt;
Use &#039;&#039;&#039;Tools → Repeater Scanner&#039;&#039;&#039; in the MeshCore app to scan for nearby ScotMesh repeaters, then wait for the scan to complete and confirm that local repeaters are being discovered.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;do-i-need-to-set-scope-for-every-channel-separately&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Do I need to set scope for every channel separately? ===&lt;br /&gt;
&lt;br /&gt;
Not necessarily. If you set a &#039;&#039;&#039;default scope&#039;&#039;&#039; of &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; in Experimental Settings, that applies to any channel that does not have its own scope override. You only need to set a per-channel scope when you want something different — for example &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt; on &amp;lt;code&amp;gt;#glasgow&amp;lt;/code&amp;gt; to keep traffic local, or &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; on &amp;lt;code&amp;gt;#ireland&amp;lt;/code&amp;gt; for the Island of Ireland path. See [[MeshCore/Scopes|Scopes]] for the full detail.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;what-is-the-island-of-ireland-ioi-scope&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== What is the Island of Ireland (&amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;) scope? ===&lt;br /&gt;
&lt;br /&gt;
ScotMesh and the Irish MeshCore community have a peering agreement. Repeaters on both sides carry the &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; scope so that traffic can move between the two networks in a controlled way — without flooding everything. You can join &amp;lt;code&amp;gt;#ireland&amp;lt;/code&amp;gt; and set scope to &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; to talk on that path. See [[MeshCore/Channels|Channels]] for more.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;something-else-not-answered-here&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Something else not answered here? ===&lt;br /&gt;
&lt;br /&gt;
Jump on [https://discord.gg/ytxfyuDmSt Discord] — the community is friendly and happy to help.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=MeshCore/Observers&amp;diff=29</id>
		<title>MeshCore/Observers</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=MeshCore/Observers&amp;diff=29"/>
		<updated>2026-11-03T17:06:24Z</updated>

		<summary type="html">&lt;p&gt;Admin: Import MeshCore content from scotmesh-wiki (faithful; freshness pass next)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Observers}}&lt;br /&gt;
&amp;lt;span id=&amp;quot;meshcore-observers&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== MeshCore Observers ==&lt;br /&gt;
&lt;br /&gt;
Observers are how ScotMesh nodes appear on the live map. An &#039;&#039;&#039;MQTT observer&#039;&#039;&#039; build is a repeater-style MeshCore firmware image that can push mesh traffic up to one or more &#039;&#039;&#039;MQTT&#039;&#039;&#039; brokers — feeding live maps and tools — without replacing the normal RF repeater role. You can also run a receive-only observer at a site that does not repeat on air.&lt;br /&gt;
&lt;br /&gt;
For the full technical detail on the bridge (up to three broker slots, presets, &amp;lt;code&amp;gt;custom&amp;lt;/code&amp;gt;, JWT &amp;lt;code&amp;gt;audience&amp;lt;/code&amp;gt;, merged first flash, and more), see the upstream write-up: [https://github.com/agessaman/MeshCore/blob/mqtt-bridge-implementation-flex/MQTT_IMPLEMENTATION.md MQTT_IMPLEMENTATION.md (agessaman fork)].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;firmware&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Firmware ===&lt;br /&gt;
&lt;br /&gt;
Prebuilt &#039;&#039;&#039;repeater observer MQTT&#039;&#039;&#039; binaries are published here:&lt;br /&gt;
&lt;br /&gt;
https://static.loraproject.ie/mqtt/&lt;br /&gt;
&lt;br /&gt;
Pick the file that matches your &#039;&#039;&#039;exact board&#039;&#039;&#039; (Heltec, LilyGo, RAK, Station G2, and others appear in the directory listing).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;*_merged.bin&amp;lt;/code&amp;gt; vs the non-merged &amp;lt;code&amp;gt;.bin&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Files ending in &amp;lt;code&amp;gt;_merged.bin&amp;lt;/code&amp;gt;&#039;&#039;&#039; are a &#039;&#039;&#039;full&#039;&#039;&#039; image (bootloader, partition table, and application). Flashing one &#039;&#039;&#039;normally wipes&#039;&#039;&#039; stored repeater settings). Use merged when you &#039;&#039;&#039;need&#039;&#039;&#039; that full layout refresh—for example the &#039;&#039;&#039;first&#039;&#039;&#039; move to observer firmware on a board, or when the observer build’s &#039;&#039;&#039;partition table&#039;&#039;&#039; is new for that hardware (see “Partition Table Changes” in [https://github.com/agessaman/MeshCore/blob/mqtt-bridge-implementation-flex/MQTT_IMPLEMENTATION.md MQTT_IMPLEMENTATION.md]).&lt;br /&gt;
* &#039;&#039;&#039;Files without &amp;lt;code&amp;gt;_merged&amp;lt;/code&amp;gt; in the name&#039;&#039;&#039; update the &#039;&#039;&#039;app&#039;&#039;&#039; only when the &#039;&#039;&#039;partition layout is unchanged&#039;&#039;&#039;. That path is what you want when you &#039;&#039;&#039;already run observer firmware or a repeater&#039;&#039;&#039; on that board and you want to &#039;&#039;&#039;keep&#039;&#039;&#039; your current configuration through an upgrade.&lt;br /&gt;
&lt;br /&gt;
After a merged flash, &#039;&#039;&#039;re-enter&#039;&#039;&#039; RF settings, node name, Wi‑Fi, MQTT, &amp;lt;code&amp;gt;mqtt.iata&amp;lt;/code&amp;gt;, and other stored values. After a non-merged upgrade on the same layout, settings are &#039;&#039;&#039;usually&#039;&#039;&#039; kept—still read release notes. Later updates can use &#039;&#039;&#039;OTA&#039;&#039;&#039; ([[#updates-without-usb-start-ota|&amp;lt;code&amp;gt;start ota&amp;lt;/code&amp;gt;]]) or a non-merged binary when appropriate.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;updates-without-usb-start-ota&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Updates without USB: &amp;lt;code&amp;gt;start ota&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
On the repeater &#039;&#039;&#039;serial console&#039;&#039;&#039; (same place you run &amp;lt;code&amp;gt;set&amp;lt;/code&amp;gt; / &amp;lt;code&amp;gt;get&amp;lt;/code&amp;gt; commands), you can start the &#039;&#039;&#039;over-the-air&#039;&#039;&#039; path that brings up Wi‑Fi for firmware upload, so you do not have to plug in USB for every update. The exact command is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;start ota&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Use your build’s normal OTA workflow (browser or tool) once the device is advertising the update Wi‑Fi. Keep power stable during the flash.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;observer-setup&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Observer setup ===&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Flash&#039;&#039;&#039; the &amp;lt;code&amp;gt;*repeater_observer_mqtt*&amp;lt;/code&amp;gt; file for your board ([[#firmware|Firmware]] explains &#039;&#039;&#039;&amp;lt;code&amp;gt;_merged.bin&amp;lt;/code&amp;gt;&#039;&#039;&#039; vs non-merged).&lt;br /&gt;
# &#039;&#039;&#039;If NVS was wiped&#039;&#039;&#039; (typical after &#039;&#039;&#039;&amp;lt;code&amp;gt;_merged.bin&amp;lt;/code&amp;gt;&#039;&#039;&#039;; &#039;&#039;&#039;NVS&#039;&#039;&#039; is &#039;&#039;Non-Volatile Storage&#039;&#039;—flash-backed settings such as Wi‑Fi, MQTT, and radio prefs), set &#039;&#039;&#039;RF and node identity&#039;&#039;&#039; first: frequency, bandwidth, SF, CR, TX power, and &#039;&#039;&#039;name&#039;&#039;&#039; must match your mesh before the node is useful on air. Use the &#039;&#039;&#039;device web UI&#039;&#039;&#039; or admin screens, or serial, using your coordinator’s values; repeater planning is in [[MeshCore/Regions|Regions]]. &#039;&#039;&#039;Then&#039;&#039;&#039; work through &#039;&#039;&#039;Wi‑Fi&#039;&#039;&#039; → &#039;&#039;&#039;&amp;lt;code&amp;gt;mqtt.iata&amp;lt;/code&amp;gt;&#039;&#039;&#039; → (optional &#039;&#039;&#039;receive-only&#039;&#039;&#039;) → &#039;&#039;&#039;MQTT&#039;&#039;&#039; in order below. &#039;&#039;&#039;If you used a non-merged&#039;&#039;&#039; update and kept settings, use &amp;lt;code&amp;gt;get&amp;lt;/code&amp;gt; and only redo what is wrong—but &#039;&#039;&#039;still check MQTT&#039;&#039;&#039;: stock images often leave &#039;&#039;&#039;LetsMesh Analyzer US&#039;&#039;&#039; on &#039;&#039;&#039;slot 1&#039;&#039;&#039; and &#039;&#039;&#039;LetsMesh Analyzer EU&#039;&#039;&#039; on &#039;&#039;&#039;slot 2&#039;&#039;&#039; until you repoint them (for example MayoMesh on slot 1).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;wifi&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Wi‑Fi ====&lt;br /&gt;
&lt;br /&gt;
The observer needs LAN or internet path to the broker.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;set wifi.ssid YourWiFiNetwork&lt;br /&gt;
set wifi.pwd YourWiFiPassword&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;site-code-mqtt.iata&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Site code (&amp;lt;code&amp;gt;mqtt.iata&amp;lt;/code&amp;gt;) ====&lt;br /&gt;
&lt;br /&gt;
A short tag for &#039;&#039;&#039;where the repeater sits&#039;&#039;&#039;. It appears in MQTT topics and on maps—pick something stable (IATA-style codes are common).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code&lt;br /&gt;
! Area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;EDI&amp;lt;/code&amp;gt;&lt;br /&gt;
| Edinburgh&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;DND&amp;lt;/code&amp;gt;&lt;br /&gt;
| Dundee&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;GLA&amp;lt;/code&amp;gt;&lt;br /&gt;
| Glasgow&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;set mqtt.iata EDI&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;optional-receive-only-on-rf&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Optional: receive-only on RF ====&lt;br /&gt;
&lt;br /&gt;
If this unit should &#039;&#039;&#039;not&#039;&#039;&#039; relay mesh traffic on air:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;set repeat off&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;mqtt-mayomesh-on-slot-1&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== MQTT (MayoMesh on slot 1) ====&lt;br /&gt;
&lt;br /&gt;
ScotMesh uses &#039;&#039;&#039;MayoMesh&#039;&#039;&#039; for the shared observer map and broker (who runs it and links: [[#mayomesh-live-map|MayoMesh live map]]). Observer builds usually ship with &#039;&#039;&#039;LetsMesh Analyzer US&#039;&#039;&#039; on &#039;&#039;&#039;slot 1&#039;&#039;&#039; and &#039;&#039;&#039;LetsMesh Analyzer EU&#039;&#039;&#039; on &#039;&#039;&#039;slot 2&#039;&#039;&#039;. Point &#039;&#039;&#039;slot 1&#039;&#039;&#039; at MayoMesh for our map. &#039;&#039;&#039;Apply this whenever &amp;lt;code&amp;gt;get mqtt1.preset&amp;lt;/code&amp;gt; is not already your MayoMesh custom setup&#039;&#039;&#039;—including after a merged flash &#039;&#039;&#039;and&#039;&#039;&#039; after a non-merged upgrade from stock observer images.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;set mqtt1.preset custom&lt;br /&gt;
set mqtt1.server mqtt.mayomesh.net&lt;br /&gt;
set mqtt1.port 443&lt;br /&gt;
set mqtt1.audience mqtt.mayomesh.net&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
If you &#039;&#039;&#039;only&#039;&#039;&#039; use MayoMesh and want to free a second TLS slot on low-RAM boards (see upstream notes on PSRAM / two WSS connections):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;set mqtt2.preset none&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Then:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;reboot&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
With &#039;&#039;&#039;&amp;lt;code&amp;gt;audience&amp;lt;/code&amp;gt;&#039;&#039;&#039; set, the device uses &#039;&#039;&#039;JWT (Ed25519)&#039;&#039;&#039; sign-in to the broker, same idea as the built-in WSS presets in [https://github.com/agessaman/MeshCore/blob/mqtt-bridge-implementation-flex/MQTT_IMPLEMENTATION.md MQTT_IMPLEMENTATION.md].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;check&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Check ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;get mqtt.status&lt;br /&gt;
get mqtt1.preset&lt;br /&gt;
get mqtt.tx&lt;br /&gt;
get mqtt.rx&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Confirm the node shows on [https://meshcore.mayomesh.net/ meshcore.mayomesh.net] after a short wait.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;mayomesh-live-map&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== MayoMesh live map ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Who runs it:&#039;&#039;&#039; MayoMesh (the map and &amp;lt;code&amp;gt;mqtt.mayomesh.net&amp;lt;/code&amp;gt; broker) is operated by &#039;&#039;&#039;County Mayo&#039;&#039;&#039;, &#039;&#039;&#039;Ireland&#039;&#039;&#039;. ScotMesh uses that community’s infrastructure for the shared observer map.&lt;br /&gt;
* &#039;&#039;&#039;LetsMesh Analyzer:&#039;&#039;&#039; [https://analyzer.letsmesh.net/packets?region=EDI,DND,DUB,BHD,GLA packet view filtered to &amp;lt;code&amp;gt;EDI&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DND&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;DUB&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;BHD&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;GLA&amp;lt;/code&amp;gt;].&lt;br /&gt;
* &#039;&#039;&#039;MayoMesh live map:&#039;&#039;&#039; [https://meshcore.mayomesh.net/ meshcore.mayomesh.net] — MQTT over WebSocket (for example &amp;lt;code&amp;gt;wss://mqtt.mayomesh.net&amp;lt;/code&amp;gt;, as shown on the site).&lt;br /&gt;
* &#039;&#039;&#039;Broker commands&#039;&#039;&#039; for your repeater are in [[#observer-setup|Observer setup]] under &#039;&#039;&#039;MQTT (MayoMesh on slot 1)&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Self-hosting the map UI:&#039;&#039;&#039; based on [https://github.com/yellowcooln/meshcore-mqtt-live-map yellowcooln/meshcore-mqtt-live-map]; point your instance at MayoMesh’s broker instead of default LetsMesh-style endpoints.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;mqtt-uplink-mqtt.tx-advert-vs-on&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== MQTT uplink: &amp;lt;code&amp;gt;mqtt.tx&amp;lt;/code&amp;gt; advert vs &amp;lt;code&amp;gt;on&amp;lt;/code&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
These control &#039;&#039;&#039;which of this node’s transmitted packets&#039;&#039;&#039; are sent upstream over MQTT. &#039;&#039;&#039;&amp;lt;code&amp;gt;mqtt.rx&amp;lt;/code&amp;gt;&#039;&#039;&#039; is separate (received packets).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Setting&lt;br /&gt;
! Effect&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;set mqtt.tx advert&amp;lt;/code&amp;gt;&lt;br /&gt;
| Uplink &#039;&#039;&#039;only this node’s own advert&#039;&#039;&#039; TX packets. Lighter load; usually enough for map presence.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;set mqtt.tx on&amp;lt;/code&amp;gt;&lt;br /&gt;
| Uplink &#039;&#039;&#039;all TX&#039;&#039;&#039; from this node. Richer feed, more bandwidth and airtime.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;set mqtt.tx off&amp;lt;/code&amp;gt;&lt;br /&gt;
| No TX uplink over MQTT.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For most map feeds, &#039;&#039;&#039;&amp;lt;code&amp;gt;advert&amp;lt;/code&amp;gt;&#039;&#039;&#039; is enough:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;set mqtt.tx advert&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
If you need every TX packet this node sends mirrored upstream:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;set mqtt.tx on&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Use &#039;&#039;&#039;&amp;lt;code&amp;gt;on&amp;lt;/code&amp;gt;&#039;&#039;&#039; only when you intend that heavier feed (more bandwidth and airtime).&lt;br /&gt;
## 🔗 See also&lt;br /&gt;
&lt;br /&gt;
* [[MeshCore/Regions|Regions]] — repeater region codes on the Scottish mesh.&lt;br /&gt;
* [[MeshCore|MeshCore]] — hub page for channels, scopes, and related guides.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=MeshCore/Repeater_Quick_Setup&amp;diff=28</id>
		<title>MeshCore/Repeater Quick Setup</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=MeshCore/Repeater_Quick_Setup&amp;diff=28"/>
		<updated>2026-11-03T17:06:22Z</updated>

		<summary type="html">&lt;p&gt;Admin: Import MeshCore content from scotmesh-wiki (faithful; freshness pass next)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Repeater Quick Setup}}&lt;br /&gt;
&amp;lt;span id=&amp;quot;meshcore-repeater-quick-setup&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== MeshCore Repeater Quick Setup ==&lt;br /&gt;
&lt;br /&gt;
This is the short version for setting up a MeshCore repeater on ScotMesh.&lt;br /&gt;
&lt;br /&gt;
A repeater helps the network by hearing MeshCore traffic and passing it on. A good repeater in a good location can make a big difference for everyone nearby.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-warning&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ScotMesh does not use wildcard forwarding.&lt;br /&gt;
&lt;br /&gt;
Add the right regions, allow those regions, and deny wildcard forwarding with &amp;lt;code&amp;gt;region denyf *&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;quick-settings&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Quick settings ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Setting&lt;br /&gt;
! Use&lt;br /&gt;
|-&lt;br /&gt;
| Configurator&lt;br /&gt;
| MeshCore web flasher: &amp;lt;code&amp;gt;https://meshcore.io/flasher&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Preset&lt;br /&gt;
| EU/UK (Narrow)&lt;br /&gt;
|-&lt;br /&gt;
| Device role&lt;br /&gt;
| Repeater&lt;br /&gt;
|-&lt;br /&gt;
| Browser&lt;br /&gt;
| Chrome or Edge&lt;br /&gt;
|-&lt;br /&gt;
| Baseline regions&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Local regions&lt;br /&gt;
| Add only the areas the repeater genuinely serves&lt;br /&gt;
|-&lt;br /&gt;
| Wildcard forwarding&lt;br /&gt;
| Deny with &amp;lt;code&amp;gt;region denyf *&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Flood advert interval&lt;br /&gt;
| 24 hours&lt;br /&gt;
|-&lt;br /&gt;
| Default scope&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; — &#039;&#039;&#039;required&#039;&#039;&#039; so other repeaters accept your adverts&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;before-you-start&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Before you start ===&lt;br /&gt;
&lt;br /&gt;
You will need:&lt;br /&gt;
&lt;br /&gt;
* A supported LoRa device — open the [https://meshcore.io/flasher MeshCore Flasher] to see what can be flashed, or ask on [https://discord.gg/ytxfyuDmSt Discord].&lt;br /&gt;
* A USB data cable, not a charge-only cable.&lt;br /&gt;
* A laptop or desktop with Chrome or Edge.&lt;br /&gt;
* A sensible repeater location.&lt;br /&gt;
* Reliable power.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-info&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Location matters more than almost anything else.&lt;br /&gt;
&lt;br /&gt;
A modest repeater in a high, clear spot is usually more useful than a powerful setup hidden indoors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;choose-your-region-settings&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Choose your region settings ===&lt;br /&gt;
&lt;br /&gt;
Start with &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, then add the local areas the repeater genuinely covers.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Location / coverage&lt;br /&gt;
! Regions to add&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Any Scottish repeater&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;&lt;br /&gt;
| Baseline ScotMesh setup.&lt;br /&gt;
|-&lt;br /&gt;
| Fife&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;fif&amp;lt;/code&amp;gt;&lt;br /&gt;
| Fife-wide coverage.&lt;br /&gt;
|-&lt;br /&gt;
| Central Scotland&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cen&amp;lt;/code&amp;gt;&lt;br /&gt;
| Wider Central belt coverage.&lt;br /&gt;
|-&lt;br /&gt;
| Falkirk&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cen&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;fal&amp;lt;/code&amp;gt;&lt;br /&gt;
| Falkirk local coverage.&lt;br /&gt;
|-&lt;br /&gt;
| Edinburgh area&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cen&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt;&lt;br /&gt;
| Edinburgh-facing Central Scotland coverage.&lt;br /&gt;
|-&lt;br /&gt;
| Glasgow area&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cen&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt;&lt;br /&gt;
| Glasgow-facing Central Scotland coverage.&lt;br /&gt;
|-&lt;br /&gt;
| Tayside&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;tay&amp;lt;/code&amp;gt;&lt;br /&gt;
| Wider Tayside coverage.&lt;br /&gt;
|-&lt;br /&gt;
| Dundee area&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;tay&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;dun&amp;lt;/code&amp;gt;&lt;br /&gt;
| Dundee local coverage.&lt;br /&gt;
|-&lt;br /&gt;
| Perth area&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;tay&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;per&amp;lt;/code&amp;gt;&lt;br /&gt;
| Perth local coverage.&lt;br /&gt;
|-&lt;br /&gt;
| High site / bridge&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, plus genuinely served areas&lt;br /&gt;
| Do not add every region just because it is listed.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;simple-setup-flow&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Simple setup flow ===&lt;br /&gt;
&lt;br /&gt;
# Open the MeshCore web flasher in Chrome or Edge.&lt;br /&gt;
# Select your device.&lt;br /&gt;
# Choose the repeater role.&lt;br /&gt;
# Use the EU/UK (Narrow) preset.&lt;br /&gt;
# Flash the device with the latest stable firmware&lt;br /&gt;
# Set a clear repeater name.&lt;br /&gt;
# Add the right regions from the table above.&lt;br /&gt;
# Set flood adverts to 24 hours.&lt;br /&gt;
# Deny wildcard forwarding.&lt;br /&gt;
# Set &amp;lt;code&amp;gt;region default sco&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Save the region configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;simple-command-examples&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Simple command examples ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;baseline-scottish-repeater&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Baseline Scottish repeater ====&lt;br /&gt;
&lt;br /&gt;
Use this when the repeater is part of ScotMesh but does not have a more specific local region yet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;region put sco *&lt;br /&gt;
region put ioi *&lt;br /&gt;
&lt;br /&gt;
region allowf sco&lt;br /&gt;
region allowf ioi&lt;br /&gt;
&lt;br /&gt;
region denyf *&lt;br /&gt;
&lt;br /&gt;
set flood.advert.interval 24&lt;br /&gt;
&lt;br /&gt;
region default sco&lt;br /&gt;
&lt;br /&gt;
region save&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-warning&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Without &amp;lt;code&amp;gt;region default sco&amp;lt;/code&amp;gt;, your repeater’s adverts are sent unscoped. The Scottish network denies unscoped forwarding (&amp;lt;code&amp;gt;region denyf *&amp;lt;/code&amp;gt;), so other repeaters will reject those adverts and will not know your repeater is there.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;fife-repeater&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Fife repeater ====&lt;br /&gt;
&lt;br /&gt;
Use this when the repeater serves Fife.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;region put sco *&lt;br /&gt;
region put ioi *&lt;br /&gt;
region put fif sco&lt;br /&gt;
&lt;br /&gt;
region allowf sco&lt;br /&gt;
region allowf ioi&lt;br /&gt;
region allowf fif&lt;br /&gt;
&lt;br /&gt;
region denyf *&lt;br /&gt;
&lt;br /&gt;
set flood.advert.interval 24&lt;br /&gt;
&lt;br /&gt;
region default sco&lt;br /&gt;
&lt;br /&gt;
region save&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;central-scotland-falkirk-repeater&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Central Scotland / Falkirk repeater ====&lt;br /&gt;
&lt;br /&gt;
Use this when the repeater serves Falkirk and wider Central Scotland.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;region put sco *&lt;br /&gt;
region put ioi *&lt;br /&gt;
region put cen sco&lt;br /&gt;
region put fal cen&lt;br /&gt;
&lt;br /&gt;
region allowf sco&lt;br /&gt;
region allowf ioi&lt;br /&gt;
region allowf cen&lt;br /&gt;
region allowf fal&lt;br /&gt;
&lt;br /&gt;
region denyf *&lt;br /&gt;
&lt;br /&gt;
set flood.advert.interval 24&lt;br /&gt;
&lt;br /&gt;
region default sco&lt;br /&gt;
&lt;br /&gt;
region save&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;good-repeater-habits&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Good repeater habits ===&lt;br /&gt;
&lt;br /&gt;
* Put the repeater as high and clear as you reasonably can.&lt;br /&gt;
* Use stable power.&lt;br /&gt;
* Keep the antenna vertical.&lt;br /&gt;
* Give the repeater a name people can recognise.&lt;br /&gt;
* Add only the regions it genuinely serves.&lt;br /&gt;
* Use &amp;lt;code&amp;gt;region denyf *&amp;lt;/code&amp;gt;; do not allow wildcard forwarding.&lt;br /&gt;
* Set &amp;lt;code&amp;gt;region default sco&amp;lt;/code&amp;gt; so your adverts are accepted by the rest of the mesh.&lt;br /&gt;
* Set flood adverts to 24 hours.&lt;br /&gt;
* Ask the community before inventing new region codes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;where-to-go-next&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Where to go next ===&lt;br /&gt;
&lt;br /&gt;
* [[MeshCore/Regions|Regions]] has the fuller region guide and more command examples.&lt;br /&gt;
* [[MeshCore/Scopes|Scopes]] explains what Companion App users need to set.&lt;br /&gt;
* [[MeshCore/Channels|Channels]] lists the agreed and proposed channels.&lt;br /&gt;
* [https://docs.meshcore.io/cli_commands/ MeshCore CLI Commands] is the upstream command reference.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;appendix-what-the-key-commands-mean&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Appendix: what the key commands mean ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Command&lt;br /&gt;
! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;region put sco *&amp;lt;/code&amp;gt;&lt;br /&gt;
| Create &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; at the top of the region tree.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;region put fif sco&amp;lt;/code&amp;gt;&lt;br /&gt;
| Create &amp;lt;code&amp;gt;fif&amp;lt;/code&amp;gt; as a child of &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;region allowf sco&amp;lt;/code&amp;gt;&lt;br /&gt;
| Allow scoped flood traffic for &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;region denyf *&amp;lt;/code&amp;gt;&lt;br /&gt;
| Deny unscoped wildcard forwarding.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;set flood.advert.interval 24&amp;lt;/code&amp;gt;&lt;br /&gt;
| Set flood adverts to 24 hours.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;region default sco&amp;lt;/code&amp;gt;&lt;br /&gt;
| Set the default scope so adverts from this repeater are scoped to &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; and accepted by the mesh.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;region save&amp;lt;/code&amp;gt;&lt;br /&gt;
| Save the region configuration.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=MeshCore/Regions&amp;diff=27</id>
		<title>MeshCore/Regions</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=MeshCore/Regions&amp;diff=27"/>
		<updated>2026-11-03T17:06:17Z</updated>

		<summary type="html">&lt;p&gt;Admin: Import MeshCore content from scotmesh-wiki (faithful; freshness pass next)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Regions}}&lt;br /&gt;
&amp;lt;span id=&amp;quot;meshcore-regions&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== MeshCore Regions ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;span id=&amp;quot;note---a-regional-framework-was-impelemented-in-the-scotmesh-meshcore-mesh-at-the-beginning-of-april-2026.-this-was-out-of-sheer-necessity-as-our-mesh-was-dying-under-the-flood-traffic-from-england-24000-flood-packets-600-messages-daily.-this-saved-our-mesh-from-descending-into-a-chaotic-unusable-mess-of-incoherent-rambles-and-frustrated-messaging-failures.-this-is-why-an-understaning-of-regions-is-imperative-to-understanding-where-we-are-today&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== NOTE - A Regional Framework was impelemented in the ScotMesh Meshcore Mesh at the beginning of April 2026. This was out of sheer necessity as our mesh was dying under the flood traffic from England (24,000 flood packets &amp;amp;amp; 600+ messages daily). This saved our mesh from descending into a chaotic, unusable mess of incoherent rambles and frustrated messaging failures. This is why an understaning of regions is imperative to understanding where we are today ====&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
This guide is for &#039;&#039;&#039;repeater owners&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The aim is simple: keep the scheme readable, predictable, and usable as the network grows.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;why-regions-are-needed&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Why regions are needed ===&lt;br /&gt;
&lt;br /&gt;
MeshCore messages travel through repeaters for onward routing. Whilst this is the core function, if every repeater carries every message everywhere, the network becomes noisy, inefficient and flooded with uneccessary traffic.&lt;br /&gt;
&lt;br /&gt;
Regions help us:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Keep local traffic local&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
In the future, a message that only matters in one area wont always need to be repeated across every part of Scotland.&lt;br /&gt;
# &#039;&#039;&#039;Reduce unnecessary radio traffic&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
LoRa is subject to a finite airtime cycle per hour (compared with Wi-Fi or mobile data), so every avoidable repeat uses valuable airtime.&lt;br /&gt;
# &#039;&#039;&#039;Improve reliability&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Less unnecessary repeating leaves more room for useful messages.&lt;br /&gt;
# &#039;&#039;&#039;Make planning clearer&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Regions make repeater deployment easier to map, identify needs, plan future expansion and ease of ongoing mesh maintenance.&lt;br /&gt;
# &#039;&#039;&#039;Support controlled peering&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Strategic repeaters can deliberately carry neighbouring traffic, such as the &#039;&#039;&#039;IOI peering agreement&#039;&#039;&#039; between Scotland and the Island of Ireland.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;regions-and-scopes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Regions and scopes ===&lt;br /&gt;
&lt;br /&gt;
There are two related concepts: &#039;&#039;&#039;regions&#039;&#039;&#039; and &#039;&#039;&#039;scopes&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Term&lt;br /&gt;
! Meaning&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Region&#039;&#039;&#039;&lt;br /&gt;
| A label configured on a repeater to describe the area it serves.&lt;br /&gt;
| An Edinburgh-area repeater includes &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Scope&#039;&#039;&#039;&lt;br /&gt;
| A label applied to messages or channels to describe which area (or region) the traffic is intended to travel.&lt;br /&gt;
| The &amp;lt;code&amp;gt;#glasgow&amp;lt;/code&amp;gt; channel might use &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt; when traffic should stay in that area.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
In a densely populated mesh, a repeater should only carry scoped traffic for regions it genuinely serves. In new or embryonic meshes, this requirment will be a future need but best practise planning mandates introducing regions as early as is practical.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;wildcard-forwarding-is-not-allowed-see-info-box-at-top-of-this-document-for-context.&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Wildcard forwarding is not allowed (see info box at top of this document for context). ===&lt;br /&gt;
&lt;br /&gt;
The wildcard marker is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;*&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-warning&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The important rule is: &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; will appear as a root parent in the region tree, but wildcard forwarding must be denied.&lt;br /&gt;
&lt;br /&gt;
In other words, &amp;lt;code&amp;gt;region put sco *&amp;lt;/code&amp;gt; is correct, but must be preceeded by &amp;lt;code&amp;gt;region denyf *&amp;lt;/code&amp;gt; .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
The Scottish MeshCore setup does not allow wildcard forwarding. Repeater owners must deny wildcard forwarding with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;region denyf *&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
You may still see &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; as the root parent when defining the region tree, for example &amp;lt;code&amp;gt;region put sco *&amp;lt;/code&amp;gt;. That is different from allowing wildcard forwarding.&lt;br /&gt;
&lt;br /&gt;
For channel names and suggested scopes, see [[MeshCore/Channels|Channels]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;scottish-region-code-approach&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Scottish region code approach ===&lt;br /&gt;
&lt;br /&gt;
For Scotland, we use simple three-letter lowercase codes.&lt;br /&gt;
&lt;br /&gt;
We are not part of any UK wide mesh (for context see comment box at the top of this documnet) Therefore, &#039;&#039;&#039;we are not using any long prefixed names&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
We use short codes such as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;sco&lt;br /&gt;
cen&lt;br /&gt;
fal&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Other countries and communities may use ISO-style hierarchical codes. That is valid for them, but the Scottish convention is designed to be short and easy to read in apps, analyser tools, and community discussions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;current-june-2026-agreed-region-codes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Current (June 2026) Agreed region codes ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code&lt;br /&gt;
! Area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&lt;br /&gt;
| Scotland&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cen&amp;lt;/code&amp;gt;&lt;br /&gt;
| Central Scotland&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;fif&amp;lt;/code&amp;gt;&lt;br /&gt;
| Fife&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;tay&amp;lt;/code&amp;gt;&lt;br /&gt;
| Tayside&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt;&lt;br /&gt;
| Glasgow area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt;&lt;br /&gt;
| Edinburgh area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;fal&amp;lt;/code&amp;gt;&lt;br /&gt;
| Falkirk area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dun&amp;lt;/code&amp;gt;&lt;br /&gt;
| Dundee area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;per&amp;lt;/code&amp;gt;&lt;br /&gt;
| Perth area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ang&amp;lt;/code&amp;gt;&lt;br /&gt;
| Angus area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;&lt;br /&gt;
| Island of Ireland (&amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;) — IOI peering&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;ioi-peering-agreement&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== IOI peering agreement ===&lt;br /&gt;
&lt;br /&gt;
The Scottish and Irish MeshCore communities maintain a &#039;&#039;&#039;peering agreement&#039;&#039;&#039;: scoped traffic is carried on the other network only where &#039;&#039;&#039;both&#039;&#039;&#039; sides configure for it.&lt;br /&gt;
&lt;br /&gt;
Under that agreement, Scottish repeaters add the &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; region alongside &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; where the Scottish baseline applies, and Island of Ireland repeaters add &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; alongside their own region codes in the same spirit. Messages with matching &#039;&#039;&#039;scopes&#039;&#039;&#039; can then move between the two networks predictably, without relying on wildcard forwarding. For example channel names and typical scopes, see [[MeshCore/Channels|Channels]].&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; code is &#039;&#039;&#039;not&#039;&#039;&#039; a Scottish local region. It marks repeaters and traffic that deliberately participate in that peering.&lt;br /&gt;
&lt;br /&gt;
Do not use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;ioi-sco&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;ioi&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;peering-with-scotland-other-regions&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Peering with Scotland (other regions) ====&lt;br /&gt;
&lt;br /&gt;
If another region wants to peer with Scotland in a similar way, they should already have the following in place:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Wildcard flooding disallowed&#039;&#039;&#039; on their repeaters (the same principle as the Scottish setup: deny wildcard forwarding with &amp;lt;code&amp;gt;region denyf *&amp;lt;/code&amp;gt;; see [[#wildcard-forwarding-is-not-allowed|Wildcard forwarding is not allowed]]).&lt;br /&gt;
# &#039;&#039;&#039;Appropriate regions on their repeaters&#039;&#039;&#039; so traffic is not forwarded wider than intended, and Scottish repeaters are not flooded with scoped traffic they did not agree to carry.&lt;br /&gt;
# &#039;&#039;&#039;Neighbouring Scotland in RF terms&#039;&#039;&#039; so equipment can &#039;&#039;&#039;directly&#039;&#039;&#039; peer, rather than assuming long unofficial relay chains.&lt;br /&gt;
&lt;br /&gt;
When that fits your situation, contact the Scottish Mesh community on [https://discord.gg/ytxfyuDmSt Discord] so we can discuss scope names, boundaries, and a safe rollout.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;recommended-hierarchy&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Recommended hierarchy ===&lt;br /&gt;
&lt;br /&gt;
Although the hierarchy is not written into the code itself, it can be thought of like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;sco&lt;br /&gt;
  cen&lt;br /&gt;
    fal&lt;br /&gt;
    edi&lt;br /&gt;
    gla&lt;br /&gt;
  fif&lt;br /&gt;
  tay&lt;br /&gt;
    dun&lt;br /&gt;
    per&lt;br /&gt;
    ang&lt;br /&gt;
ioi&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In plain English:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; is for Scotland-wide traffic.&lt;br /&gt;
* &amp;lt;code&amp;gt;tay&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cen&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;fif&amp;lt;/code&amp;gt; are Scottish sub regions.&lt;br /&gt;
* &amp;lt;code&amp;gt;fal&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;dun&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;per&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ang&amp;lt;/code&amp;gt; are local areas.&lt;br /&gt;
* &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; is for the Island of Ireland under the IOI peering agreement.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;suggested-repeater-configuration-policy&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Suggested repeater configuration policy ===&lt;br /&gt;
&lt;br /&gt;
A Scottish repeater should normally be configured with:&lt;br /&gt;
&lt;br /&gt;
# The country code &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;.&lt;br /&gt;
# The &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; code for IOI peering.&lt;br /&gt;
# The relevant regional code.&lt;br /&gt;
# The relevant local code, if appropriate.&lt;br /&gt;
# Any neighbouring codes that the repeater genuinely serves.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-warning&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do not allow wildcard forwarding.&lt;br /&gt;
&lt;br /&gt;
In command line interface (CLI) examples, this means using &amp;lt;code&amp;gt;region denyf *&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;falkirk-central-scotland-repeater&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Falkirk / Central Scotland repeater ====&lt;br /&gt;
&lt;br /&gt;
A repeater covering the Falkirk area would usually have:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;sco&lt;br /&gt;
ioi&lt;br /&gt;
cen&lt;br /&gt;
fal&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;edinburgh-facing-central-scotland-repeater&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Edinburgh-facing Central Scotland repeater ====&lt;br /&gt;
&lt;br /&gt;
A repeater that mainly serves Central Scotland but has strong coverage towards Edinburgh might use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;sco&lt;br /&gt;
ioi&lt;br /&gt;
cen&lt;br /&gt;
edi&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;fife-repeater&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Fife repeater ====&lt;br /&gt;
&lt;br /&gt;
A Fife repeater would usually have:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;sco&lt;br /&gt;
ioi&lt;br /&gt;
fif&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
If it genuinely provides useful Central Scotland coverage, it may also include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;cen&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;scottish-repeaters-and-ioi&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Scottish repeaters and &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
Scottish repeaters should normally include &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; alongside &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; as part of the [[#ioi-peering-agreement|IOI peering agreement]]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;sco&lt;br /&gt;
ioi&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
That keeps peering-capable forwarding available where the Scottish baseline is configured. It does not make &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; a Scottish local region.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;good-practice-for-repeater-owners&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Good practice for repeater owners ===&lt;br /&gt;
&lt;br /&gt;
Use lowercase region codes. Do not use mixed case such as &amp;lt;code&amp;gt;SCO&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Cen&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;FAL&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Use agreed codes. For example, use &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt; for the Edinburgh area, not &amp;lt;code&amp;gt;edn&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;edinburgh&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;gb-edi&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Add only the areas your repeater genuinely serves. A high-site repeater may reasonably serve several areas, but a repeater should not claim every region just because it can occasionally hear distant nodes.&lt;br /&gt;
&lt;br /&gt;
Coordinate before adding new codes. If a new area needs a code, discuss it publicly before using it so that the community does not end up with competing names for the same place.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;suggested-command-examples&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Suggested command examples ===&lt;br /&gt;
&lt;br /&gt;
The exact method may vary depending on firmware version and whether you are using the app, web configurator, USB serial, or remote administration. The upstream reference is the MeshCore [https://docs.meshcore.io/cli_commands/ CLI Commands] documentation, especially the region management commands.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-info&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
New to repeater setup?&lt;br /&gt;
&lt;br /&gt;
Start with [[MeshCore/Repeater Quick Setup|Repeater Quick Setup]], then come back here for the fuller detail.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
For a Central Scotland / Falkirk repeater, the setup may look conceptually like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;region put sco *&lt;br /&gt;
region put ioi *&lt;br /&gt;
region put cen sco&lt;br /&gt;
region put fal cen&lt;br /&gt;
&lt;br /&gt;
region allowf sco&lt;br /&gt;
region allowf ioi&lt;br /&gt;
region allowf cen&lt;br /&gt;
region allowf fal&lt;br /&gt;
&lt;br /&gt;
region denyf *&lt;br /&gt;
&lt;br /&gt;
region default sco&lt;br /&gt;
&lt;br /&gt;
region save&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Then check the result with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;region&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
For a Tayside / Dundee repeater:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;region put sco *&lt;br /&gt;
region put ioi *&lt;br /&gt;
region put tay sco&lt;br /&gt;
region put dun tay&lt;br /&gt;
&lt;br /&gt;
region allowf sco&lt;br /&gt;
region allowf ioi&lt;br /&gt;
region allowf tay&lt;br /&gt;
region allowf dun&lt;br /&gt;
&lt;br /&gt;
region denyf *&lt;br /&gt;
&lt;br /&gt;
region default sco&lt;br /&gt;
&lt;br /&gt;
region save&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
For a Glasgow-area repeater:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;region put sco *&lt;br /&gt;
region put ioi *&lt;br /&gt;
region put gla sco&lt;br /&gt;
&lt;br /&gt;
region allowf sco&lt;br /&gt;
region allowf ioi&lt;br /&gt;
region allowf gla&lt;br /&gt;
&lt;br /&gt;
region denyf *&lt;br /&gt;
&lt;br /&gt;
region default sco&lt;br /&gt;
&lt;br /&gt;
region save&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
For a repeater that serves Scotland, Central Scotland, Glasgow, Edinburgh, and IOI peering (&amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;region put sco *&lt;br /&gt;
region put cen sco&lt;br /&gt;
region put gla cen&lt;br /&gt;
region put edi cen&lt;br /&gt;
region put ioi *&lt;br /&gt;
&lt;br /&gt;
region allowf sco&lt;br /&gt;
region allowf cen&lt;br /&gt;
region allowf gla&lt;br /&gt;
region allowf edi&lt;br /&gt;
region allowf ioi&lt;br /&gt;
&lt;br /&gt;
region denyf *&lt;br /&gt;
&lt;br /&gt;
region default sco&lt;br /&gt;
&lt;br /&gt;
region save&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
On firmware that supports default scope, repeater and room server administrators should also set the default scope for packets that originate from that node:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;region default sco&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-warning&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Set &amp;lt;code&amp;gt;region default sco&amp;lt;/code&amp;gt; on your repeater.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Without a default scope, adverts sent by your repeater go out unscoped. Because the Scottish network uses &amp;lt;code&amp;gt;region denyf *&amp;lt;/code&amp;gt;, other repeaters will reject those unscoped adverts and will never learn your repeater exists. Setting the default scope to &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; ensures your adverts are carried normally across the mesh.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
This is separate from flood forwarding permissions. For more detail, see [https://blog.meshcore.io/2026/04/17/default-scope Default Scope Region].&lt;br /&gt;
&lt;br /&gt;
Always check for an &amp;lt;code&amp;gt;OK&amp;lt;/code&amp;gt; response where applicable, and remember to save the configuration so it survives a reboot.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;firmware-and-app-version-notes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Firmware and app version notes ===&lt;br /&gt;
&lt;br /&gt;
Region and scope support depends on MeshCore firmware and app support.&lt;br /&gt;
&lt;br /&gt;
Use the latest stable MeshCore firmware and app available for your device. Older firmware may still pass some traffic, but region management and scope handling may not behave as expected.&lt;br /&gt;
&lt;br /&gt;
MeshCore region filtering was introduced across firmware and app releases, and default scope support was added later. The MeshCore posts [https://blog.meshcore.io/2026/01/20/region-filtering Region Filtering] and [https://blog.meshcore.io/2026/04/17/default-scope Default Scope Region] are useful background when checking version behaviour.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;naming-and-publishing-new-region-codes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Naming and publishing new region codes ===&lt;br /&gt;
&lt;br /&gt;
When a new Scottish area needs a code, use these rules:&lt;br /&gt;
&lt;br /&gt;
# Use three lowercase letters.&lt;br /&gt;
# Make the code obvious to local users.&lt;br /&gt;
# Avoid clashing with existing agreed codes.&lt;br /&gt;
# Avoid overly small areas unless there is a real need.&lt;br /&gt;
# Discuss the code with the local MeshCore community before publishing it.&lt;br /&gt;
&lt;br /&gt;
Examples of possible future codes might include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;sti = Stirling&lt;br /&gt;
liv = Livingston&lt;br /&gt;
abe = Aberdeen&lt;br /&gt;
inv = Inverness&lt;br /&gt;
ayr = Ayrshire&lt;br /&gt;
bor = Borders&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
These are examples only and should not be treated as agreed until the community confirms them.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;common-questions&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Common questions ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;do-regions-replace-normal-meshcore-messaging&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Do regions replace normal MeshCore messaging? ====&lt;br /&gt;
&lt;br /&gt;
No. Regions help control where scoped traffic is repeated.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;should-every-scottish-repeater-have-sco-and-ioi&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Should every Scottish repeater have &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;? ====&lt;br /&gt;
&lt;br /&gt;
Yes, that is the recommended baseline for Scottish repeaters. Use &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; for Scotland and add &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; alongside it for the IOI peering agreement.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;should-every-repeater-have-every-scottish-region&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Should every repeater have every Scottish region? ====&lt;br /&gt;
&lt;br /&gt;
No. That would defeat the purpose of regions. Repeaters should only list the areas they genuinely serve.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;should-we-use-gb-sco-instead-of-sco&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Should we use &amp;lt;code&amp;gt;gb-sco&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;? ====&lt;br /&gt;
&lt;br /&gt;
Not for this Scottish scheme. Some wider UK or international guides use ISO-style codes, but the local Scottish agreement is to use short three-letter codes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;can-a-repeater-be-in-more-than-one-region&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Can a repeater be in more than one region? ====&lt;br /&gt;
&lt;br /&gt;
Yes. That is useful for high sites, border areas, or repeaters that genuinely link neighbouring areas.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;can-we-allow-for-compatibility&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Can we allow &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; for compatibility? ====&lt;br /&gt;
&lt;br /&gt;
No. The Scottish MeshCore setup does not allow wildcard forwarding. Use the correct region scope instead.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;summary&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Summary ===&lt;br /&gt;
&lt;br /&gt;
Regions give the Scottish MeshCore community a simple way to organise the network as it grows.&lt;br /&gt;
&lt;br /&gt;
Our agreed approach is:&lt;br /&gt;
&lt;br /&gt;
* Use three-letter lowercase codes.&lt;br /&gt;
* Use &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; for Scotland.&lt;br /&gt;
* Add &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; wherever the Scottish baseline &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; is configured (IOI peering).&lt;br /&gt;
* Use &amp;lt;code&amp;gt;cen&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;tay&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;fif&amp;lt;/code&amp;gt; for major regions where they match coverage.&lt;br /&gt;
* Use &amp;lt;code&amp;gt;fal&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;dun&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;per&amp;lt;/code&amp;gt; for local areas.&lt;br /&gt;
* Use &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; for Island of Ireland traffic under the IOI peering agreement.&lt;br /&gt;
* Deny wildcard forwarding with &amp;lt;code&amp;gt;region denyf *&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Do not use long prefixes such as &amp;lt;code&amp;gt;gb-sco&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;sco-fal&amp;lt;/code&amp;gt; in this local scheme.&lt;br /&gt;
&lt;br /&gt;
This gives us a clean, readable, and expandable foundation for building a coordinated Scottish MeshCore network.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=MeshCore/Channels&amp;diff=26</id>
		<title>MeshCore/Channels</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=MeshCore/Channels&amp;diff=26"/>
		<updated>2026-11-03T17:06:15Z</updated>

		<summary type="html">&lt;p&gt;Admin: Import MeshCore content from scotmesh-wiki (faithful; freshness pass next)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Channels}}&lt;br /&gt;
&amp;lt;span id=&amp;quot;meshcore-channels-now-and-in-the-future&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== MeshCore Channels (now and in the future) ==&lt;br /&gt;
&lt;br /&gt;
Channels are where the conversation happens. Think of them like group chats — anyone with the right device and scope set can join in. There is nothing stopping you creating your own, but the ones below are the agreed community channels so everyone knows where to find each other.&lt;br /&gt;
&lt;br /&gt;
In the Scottish MeshCore network, what really matters for routing is &#039;&#039;&#039;region scope&#039;&#039;&#039; — not the channel name. The channel name is for people; the scope is for the mesh.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;channel-name-and-scope&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 🏷️ Channel name and scope ===&lt;br /&gt;
&lt;br /&gt;
A channel name and a region scope are related, but they are not the same thing.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;Channel: #edinburgh&lt;br /&gt;
Scope:   edi&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The channel name is what you see. The scope is what tells the mesh to carry your message through Edinburgh-area repeaters.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-info&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Joining a channel does not automatically set the scope.&lt;br /&gt;
&lt;br /&gt;
Before sending, check the channel settings in the Companion App and make sure the scope matches where you want the message to travel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;current-2026-and-proposed-2027-and-beyond-channels&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 📡 Current (2026) and proposed (2027 and beyond) channels ===&lt;br /&gt;
&lt;br /&gt;
The following table lists known community channels and proposed channels for Scotland.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Type is documentation only; it is not a Companion App setting&#039;&#039;&#039;. It groups channels by how you pick them: &#039;&#039;&#039;Wide&#039;&#039;&#039; for large-footprint traffic (whether the scope is &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;), &#039;&#039;&#039;Regional&#039;&#039;&#039; for Scottish region area channels, and &#039;&#039;&#039;Local&#039;&#039;&#039; for Scottish City / town / metropolitan areas. Set &#039;&#039;&#039;Scope&#039;&#039;&#039; to match the reach you want.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Channel&lt;br /&gt;
! Type&lt;br /&gt;
! Scope&lt;br /&gt;
! Status&lt;br /&gt;
! Use&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#scotland&amp;lt;/code&amp;gt;&lt;br /&gt;
| Wide&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&lt;br /&gt;
| Current&lt;br /&gt;
| General Scotland-wide MeshCore traffic.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#ireland&amp;lt;/code&amp;gt;&lt;br /&gt;
| Wide&lt;br /&gt;
| &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&lt;br /&gt;
| Current&lt;br /&gt;
| General Island of Ireland traffic.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#norniron&amp;lt;/code&amp;gt;&lt;br /&gt;
| Wide&lt;br /&gt;
| &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&lt;br /&gt;
| Current&lt;br /&gt;
| Northern Ireland Traffic&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#central&amp;lt;/code&amp;gt;&lt;br /&gt;
| Regional&lt;br /&gt;
| &amp;lt;code&amp;gt;cen&amp;lt;/code&amp;gt;&lt;br /&gt;
| Proposed&lt;br /&gt;
| Central Scotland traffic.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#dundee&amp;lt;/code&amp;gt;&lt;br /&gt;
| Local&lt;br /&gt;
| &amp;lt;code&amp;gt;dun&amp;lt;/code&amp;gt;&lt;br /&gt;
| Proposed&lt;br /&gt;
| Dundee area traffic.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#edinburgh&amp;lt;/code&amp;gt;&lt;br /&gt;
| Local&lt;br /&gt;
| &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt;&lt;br /&gt;
| Proposed&lt;br /&gt;
| Edinburgh area traffic.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#falkirk&amp;lt;/code&amp;gt;&lt;br /&gt;
| Local&lt;br /&gt;
| &amp;lt;code&amp;gt;fal&amp;lt;/code&amp;gt;&lt;br /&gt;
| Proposed&lt;br /&gt;
| Falkirk area traffic.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#fife&amp;lt;/code&amp;gt;&lt;br /&gt;
| Regional&lt;br /&gt;
| &amp;lt;code&amp;gt;fif&amp;lt;/code&amp;gt;&lt;br /&gt;
| Current&lt;br /&gt;
| Fife area traffic.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#glasgow&amp;lt;/code&amp;gt;&lt;br /&gt;
| Local&lt;br /&gt;
| &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt;&lt;br /&gt;
| Proposed&lt;br /&gt;
| Glasgow area traffic.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#perth&amp;lt;/code&amp;gt;&lt;br /&gt;
| Local&lt;br /&gt;
| &amp;lt;code&amp;gt;per&amp;lt;/code&amp;gt;&lt;br /&gt;
| Proposed&lt;br /&gt;
| Perth area traffic.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#tayside&amp;lt;/code&amp;gt;&lt;br /&gt;
| Regional&lt;br /&gt;
| &amp;lt;code&amp;gt;tay&amp;lt;/code&amp;gt;&lt;br /&gt;
| Proposed&lt;br /&gt;
| Tayside traffic.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;#test&amp;lt;/code&amp;gt;&lt;br /&gt;
| Wide&lt;br /&gt;
| Set the scope being tested&lt;br /&gt;
| Current&lt;br /&gt;
| Test messages. Use &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt;, or another scope that matches what you are testing.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;As of Summer 2026, The ScotMesh MC Mesh is still in its early growth phase. As such there is no pressing requirement to restrict in-country traffic to sub regions or local regions. In practical terms country wide traffic will not cause us any issues for at least another year, probably longer. So the country wide region &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; will be enough until then.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Proposed channels are shared names the community is still settling on. They are listed here so that people can talk about the same idea using the same name and scope, rather than ending up with several competing versions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;choosing-the-right-channel-in-the-future-2027-and-beyond&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 🤔 Choosing the right channel in the future (2027 and beyond ===&lt;br /&gt;
&lt;br /&gt;
Use the &#039;&#039;&#039;narrowest scope&#039;&#039;&#039; that still fits what you are sending. Examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;#scotland / sco          Scotland-wide mesh (Current)&lt;br /&gt;
#edinburgh / edi         Local area (same idea for #glasgow/gla, #fife/fif, #dundee/dun, …)(Future)&lt;br /&gt;
#test / &amp;lt;scope&amp;gt;          Pick the scope you are actually testing (current)&lt;br /&gt;
#ireland / ioi or sco    Island of Ireland channel (pick scope for the path you want) (current)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;good-practice-for-the-future-expanded-mesh&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 👍 Good practice for the future expanded mesh ===&lt;br /&gt;
&lt;br /&gt;
* Keep local traffic local where possible.&lt;br /&gt;
* Use &amp;lt;code&amp;gt;#test&amp;lt;/code&amp;gt; for test messages so normal channels stay readable.&lt;br /&gt;
* Use Scotland-wide scope only when the conversation is relevant across Scotland.&lt;br /&gt;
* Use &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; when the message belongs on the Island of Ireland scope, or &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; on &amp;lt;code&amp;gt;#ireland&amp;lt;/code&amp;gt; when you want Scotland-wide scoped carriage (see [[MeshCore/Scopes|Scopes]]).&lt;br /&gt;
* Wildcard forwarding will remain disable in the Scottish setup.&lt;br /&gt;
* New public channel names tend to land better when discussed with the community first.&lt;br /&gt;
* Always check the Companion App scope before sending — a wrong scope and your message goes nowhere useful.&lt;br /&gt;
&lt;br /&gt;
For more detail on setting scope in the Companion App, see [[MeshCore/Scopes|Scopes]]. For repeater and region code guidance, see [[MeshCore/Regions|Regions]]. For &#039;&#039;&#039;MQTT observers&#039;&#039;&#039; and map uplink, see [[MeshCore/Observers|Observers]].&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=MeshCore/Scopes&amp;diff=25</id>
		<title>MeshCore/Scopes</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=MeshCore/Scopes&amp;diff=25"/>
		<updated>2026-11-03T17:06:13Z</updated>

		<summary type="html">&lt;p&gt;Admin: Import MeshCore content from scotmesh-wiki (faithful; freshness pass next)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Scopes}}&lt;br /&gt;
&amp;lt;span id=&amp;quot;meshcore-scopes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== MeshCore Scopes ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-success&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Quick start for most users:&#039;&#039;&#039; open the app, go to &#039;&#039;&#039;Experimental Settings&#039;&#039;&#039;, set &#039;&#039;&#039;Default Scope Region&#039;&#039;&#039; to &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;. That is all you need for normal Scottish traffic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-warning&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Watch out:&#039;&#039;&#039; if you do not have a suitable &#039;&#039;&#039;scope&#039;&#039;&#039; set, repeaters on the Scottish MeshCore network wont forward your traffic. You can end up &#039;&#039;&#039;shouting into the void&#039;&#039;&#039;. Check your default scope and each channel’s scope before you count on messages reaching anyone.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Scope is the single setting that makes or breaks whether your messages go anywhere on ScotMesh. The channel name is for people — the scope is for the mesh. Set your &#039;&#039;&#039;default&#039;&#039;&#039; to &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, then adjust per channel when you need something narrower.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-info&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ScotMesh setup:&#039;&#039;&#039; Under &#039;&#039;&#039;Experimental Settings&#039;&#039;&#039;, set the default scope region to &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, and keep &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; available in your scope list as well so you can pick it when you need it. For each channel, set scope to match &#039;&#039;&#039;where the traffic should travel&#039;&#039;&#039;—for example &amp;lt;code&amp;gt;#edinburgh&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt;. On &#039;&#039;&#039;&amp;lt;code&amp;gt;#ireland&amp;lt;/code&amp;gt;&#039;&#039;&#039;, you may use &#039;&#039;&#039;&amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&#039;&#039;&#039;: use &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; when the message should ride the Island of Ireland scoped path (IOI peering); use &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; when you want the same channel but Scotland-wide scoped carriage on the mesh.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;why-scope-matters&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 🤷 Why scope matters ===&lt;br /&gt;
&lt;br /&gt;
Without scope, repeaters have no way to know whether to carry your traffic. With it, messages travel through exactly the right part of the network.&lt;br /&gt;
&lt;br /&gt;
* Keep Scottish traffic inside Scotland where appropriate.&lt;br /&gt;
* Allow controlled traffic to and from the Island of Ireland (IOI peering).&lt;br /&gt;
* Reduce unnecessary flooding.&lt;br /&gt;
* Keep the network easier to grow.&lt;br /&gt;
&lt;br /&gt;
For example channel names and typical scopes, see [[MeshCore/Channels|Channels]]. For repeater region codes, see [[MeshCore/Regions|Regions]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;what-region-scope-means&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 🗺️ What region scope means ===&lt;br /&gt;
&lt;br /&gt;
Think of scope like a postcode on a letter — it tells the mesh where the message is meant to go.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;sco = Scotland-wide&lt;br /&gt;
edi = Edinburgh area (example local)&lt;br /&gt;
ioi = Island of Ireland (IOI peering)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
A message scoped to &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; is forwarded by repeaters that carry &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;as a region. A message scoped to &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; is forwarded by repeaters that carry &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;as a region. If scope is missing or wrong for your path, the message will go nowhere, it is dropped and ceases to exist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;wildcard-forwarding-is-not-allowed&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 🚫 Wildcard forwarding is not allowed ===&lt;br /&gt;
&lt;br /&gt;
The wildcard marker is &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;. Do not rely on it for routing — the Scottish MeshCore setup expects explicit region scopes.&lt;br /&gt;
&lt;br /&gt;
In the &#039;&#039;&#039;Companion App&#039;&#039;&#039;, your channel scope should always be a &#039;&#039;&#039;real region code&#039;&#039;&#039; (&amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;, and so on). On &#039;&#039;&#039;repeaters&#039;&#039;&#039;, CLI examples sometimes show &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; as the &#039;&#039;&#039;parent&#039;&#039;&#039; in a region tree (for example &amp;lt;code&amp;gt;region put sco *&amp;lt;/code&amp;gt;); that is a different idea from wildcard &#039;&#039;&#039;forwarding&#039;&#039;&#039; and is covered in [[MeshCore/Regions|Regions]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;documented-scope-codes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 📋 Documented scope codes ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Scope&lt;br /&gt;
! Typical use&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&lt;br /&gt;
| Scotland-wide traffic&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cen&amp;lt;/code&amp;gt;&lt;br /&gt;
| Central Scotland&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;fif&amp;lt;/code&amp;gt;&lt;br /&gt;
| Fife&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;tay&amp;lt;/code&amp;gt;&lt;br /&gt;
| Tayside&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt;&lt;br /&gt;
| Glasgow area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt;&lt;br /&gt;
| Edinburgh area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;fal&amp;lt;/code&amp;gt;&lt;br /&gt;
| Falkirk area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;sti&amp;lt;/code&amp;gt;&lt;br /&gt;
| Stirling area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;per&amp;lt;/code&amp;gt;&lt;br /&gt;
| Perth area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dun&amp;lt;/code&amp;gt;&lt;br /&gt;
| Dundee area&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;&lt;br /&gt;
| Island of Ireland / IOI peering&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For most day-to-day traffic in Scotland, &#039;&#039;&#039;&amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&#039;&#039;&#039; is the right default. Use a &#039;&#039;&#039;local&#039;&#039;&#039; code when traffic should stay in that area, regardless of channel name.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;default-scope-and-per-channel-scope&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== ⚙️ Default scope and per-channel scope ===&lt;br /&gt;
&lt;br /&gt;
On ScotMesh, set your &#039;&#039;&#039;default&#039;&#039;&#039; scope region to &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;. In the mobile app this is usually under &#039;&#039;&#039;Experimental Settings&#039;&#039;&#039;. Flood packets from the companion then use &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; unless a &#039;&#039;&#039;group channel&#039;&#039;&#039; has its own scope.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Per-channel scope overrides the default.&#039;&#039;&#039; Examples:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;#glasgow&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt; keeps traffic in the Glasgow-area part of the mesh.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;#ireland&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;&#039;&#039;&#039; — message is scoped for the Island of Ireland path (IOI peering repeaters).&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;#ireland&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&#039;&#039;&#039; — same channel name, but the packet is Scotland-wide scoped; repeaters treat it like other &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; traffic.&lt;br /&gt;
&lt;br /&gt;
Keep both &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; in your available scopes so you can switch. For background, see MeshCore [https://blog.meshcore.io/2026/04/17/default-scope Default Scope Region].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;how-to-set-region-scope-in-the-companion-app&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 📱 How to set region scope in the Companion App ===&lt;br /&gt;
&lt;br /&gt;
Menus vary by app version and platform; the usual flow is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;1. Open the MeshCore Companion App&lt;br /&gt;
2. Open the channel you want to use&lt;br /&gt;
3. Open the channel options or channel menu&lt;br /&gt;
4. Find the region scope option&lt;br /&gt;
5. Select or add the region code you need&lt;br /&gt;
6. Send with that scope active&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Often the channel menu includes something like &#039;&#039;&#039;Set Region Scope&#039;&#039;&#039;, then you pick or type the code (for example &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;examples&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 💬 Examples ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Scotland-wide&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;Channel: #scotland&lt;br /&gt;
Scope:   sco&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Local (example)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;Channel: #glasgow&lt;br /&gt;
Scope:   gla&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;#ireland&amp;lt;/code&amp;gt; with Island of Ireland scope&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;Channel: #ireland&lt;br /&gt;
Scope:   ioi&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;code&amp;gt;#ireland&amp;lt;/code&amp;gt; with Scotland-wide scope&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;Channel: #ireland&lt;br /&gt;
Scope:   sco&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The channel name does not set scope by itself — you still choose &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; (or another code) in the channel settings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;quick-choices&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== ⚡ Quick choices ===&lt;br /&gt;
&lt;br /&gt;
* Normal Scottish chat: default &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;#scotland&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Local-only: local scope such as &amp;lt;code&amp;gt;edi&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt; when traffic should stay in that area.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;#ireland&amp;lt;/code&amp;gt;:&#039;&#039;&#039; &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt; for IOI-scoped path, &#039;&#039;&#039;&amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&#039;&#039;&#039; when you want Scotland-wide scoped carriage on that channel.&lt;br /&gt;
* Tests: &amp;lt;code&amp;gt;#test&amp;lt;/code&amp;gt; with whichever scope you are testing (&amp;lt;code&amp;gt;tay&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, …).&lt;br /&gt;
&lt;br /&gt;
If you are unsure, &#039;&#039;&#039;&amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&#039;&#039;&#039; is the safe general default for Scottish-side traffic.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;what-to-avoid&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== ❌ What to avoid ===&lt;br /&gt;
&lt;br /&gt;
* Sending traffic with no region scope.&lt;br /&gt;
* Relying on wildcard forwarding.&lt;br /&gt;
* Assuming the channel name alone chooses routing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;summary&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 📝 Summary ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;Default: sco on ScotMesh&lt;br /&gt;
Override per channel when needed&lt;br /&gt;
#ireland: ioi OR sco&lt;br /&gt;
Local: use the local code when traffic should stay local&lt;br /&gt;
Check your companion app is scoped before you send your initial messages&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Getting scope right keeps mesh traffic logical and the mesh relaible, easier to use and simpler to grow.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=MeshCore/Getting_Started&amp;diff=24</id>
		<title>MeshCore/Getting Started</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=MeshCore/Getting_Started&amp;diff=24"/>
		<updated>2026-11-03T17:06:12Z</updated>

		<summary type="html">&lt;p&gt;Admin: Import MeshCore content from scotmesh-wiki (faithful; freshness pass next)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Getting Started}}&lt;br /&gt;
&amp;lt;span id=&amp;quot;getting-started-within-scotmesh&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Getting Started within ScotMesh 🏴󠁧󠁢󠁳󠁣󠁴󠁿 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;what-is-scotmesh&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 🏴󠁧󠁢󠁳󠁣󠁴󠁿 What is ScotMesh? ===&lt;br /&gt;
&lt;br /&gt;
ScotMesh is community radio messaging networks across Scotland. It uses small, low-power LoRa radios to carry short messages between people — no mobile network, no Wi-Fi, no internet required.&lt;br /&gt;
Think of it like a local text messaging service that works off-grid, powered by volunteer-run repeaters dotted across the country.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Currently both Meshtastic and Mescore networks are available&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;note-this-document-focuses-on-meschore&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== &#039;&#039;&#039;NOTE This document focuses on Meschore&#039;&#039;&#039; ==&lt;br /&gt;
&lt;br /&gt;
Never used MeshCore before? Good — this is the place to start. No radio knowledge needed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-info&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This guide is written for &#039;&#039;&#039;companion node&#039;&#039;&#039; devices — small LoRa radios that pair with the MeshCore Companion App on your phone. More capable standalone devices do exist, but those are out of scope for this guide. If you are setting one of those up, ask in the [https://discord.gg/ytxfyuDmSt Discord] for advice.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;what-you-need&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 🎒 What you need ===&lt;br /&gt;
&lt;br /&gt;
* A MeshCore &#039;&#039;&#039;companion node&#039;&#039;&#039; — a small LoRa radio that pairs with your phone over Bluetooth.&lt;br /&gt;
* A smartphone — Android or iPhone both work.&lt;br /&gt;
* That is it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-info&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not sure which companion node to get? Ask in the [https://discord.gg/ytxfyuDmSt Discord] and the community can point you in the right direction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;get-the-app&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 📱 1. Get the app ===&lt;br /&gt;
&lt;br /&gt;
Download the &#039;&#039;&#039;MeshCore Companion App&#039;&#039;&#039; on your phone.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Android:&#039;&#039;&#039; [https://play.google.com/store/search?q=meshcore MeshCore on Google Play]&lt;br /&gt;
* &#039;&#039;&#039;iPhone:&#039;&#039;&#039; [https://apps.apple.com/search?term=meshcore MeshCore on the App Store]&lt;br /&gt;
&lt;br /&gt;
Open the app once it has installed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;flash-the-latest-firmware-to-the-lora-device&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 👨‍💻 2. Flash the Latest Firmware to the LoRa Device ===&lt;br /&gt;
&lt;br /&gt;
Before configuring the node, flash the LoRa device with the latest correct firmware for your exact hardware.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;&#039;Important:&#039;&#039;&#039; Do &#039;&#039;&#039;not&#039;&#039;&#039; use the firmware that came pre-installed on the node.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Pre-installed firmware may be outdated, built for a different board variant, or configured incorrectly for our mesh. Using the wrong firmware can cause connection issues, missing features, failed regional settings, or unreliable repeater behaviour.&lt;br /&gt;
&lt;br /&gt;
Download the latest firmware from https://meshcore.io/, making sure you select the correct build for your exact device type, for example:&lt;br /&gt;
&lt;br /&gt;
* RAK4631&lt;br /&gt;
* Heltec&lt;br /&gt;
* T114&lt;br /&gt;
* SenseCAP&lt;br /&gt;
* Waveshare&lt;br /&gt;
* Other supported hardware&lt;br /&gt;
&lt;br /&gt;
After flashing, reboot the device and confirm the firmware version before continuing with the rest of the setup.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;connect-your-device&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 🔵 3. Connect your device ===&lt;br /&gt;
&lt;br /&gt;
# Make sure your LoRa device is powered on.&lt;br /&gt;
# In the app, tap &#039;&#039;&#039;Add Device&#039;&#039;&#039; or the connect button.&lt;br /&gt;
# The app will search for nearby devices over Bluetooth. Select yours from the list.&lt;br /&gt;
# Wait a moment for it to connect. You should see your device appear in the app.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-info&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the device does not show up, make sure Bluetooth is enabled on your phone and that the device is in pairing mode. Check your device’s instructions if you are unsure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;the-companion-node-settings&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== ⚙️ 3. The companion node settings ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;For these settings, understanding the regional framework is important because it defines how traffic is organised and routed across the mesh. Regions (set on repeater nodes) allow the wider mesh to be split into sensible geographic areas, helping messages, adverts, and repeater traffic stay relevant to the area they are intended for while still allowing agreed neighbouring regions to interconnect where required. Setting the &#039;&#039;&#039;default scope&#039;&#039;&#039; tells the node which region it should use automatically when sending or repeating traffic that does not already have a specific scope applied. In practice, this helps keep local traffic local, reduces unnecessary flooding across unrelated areas, and improves the reliability and manageability of the mesh.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Before you can send anything from your companion app, you need to set it up for use in the ScotMesh MC mesh.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;connecting-a-newly-flashed-companion-node-to-scotmesh&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Connecting a Newly Flashed Companion Node to ScotMesh ===&lt;br /&gt;
&lt;br /&gt;
After flashing the latest companion-node firmware, use the &#039;&#039;&#039;MeshCore app&#039;&#039;&#039; to connect to the node by Bluetooth and configure it for ScotMesh.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Power on the newly flashed companion node.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Open the &#039;&#039;&#039;MeshCore app&#039;&#039;&#039; on your phone.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Make sure Bluetooth is enabled on your phone.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;In the MeshCore app, go to the Bluetooth connection screen.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Scan for nearby Bluetooth MeshCore devices.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Select your newly flashed companion node from the list.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Wait for the app to connect to the node.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Confirm the node shows as connected in the MeshCore app.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Check the firmware version shown in the app and confirm it is the latest correct firmware for your device.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Give the node a clear and recognisable name so other ScotMesh users can identify it.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Open the node settings in the MeshCore app.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Set the LoRa/radio region to the correct UK/EU setting.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Open &#039;&#039;&#039;Experimental Settings&#039;&#039;&#039; and set the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&#039;&#039;&#039;Default Scope:&#039;&#039;&#039; &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&#039;&#039;&#039;Default Hash Size:&#039;&#039;&#039; &amp;lt;code&amp;gt;3 byte&amp;lt;/code&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Save or apply the settings.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Reboot the companion node if the app asks you to do so.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Reconnect to the companion node by Bluetooth after it restarts.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Confirm the &#039;&#039;&#039;Default Scope&#039;&#039;&#039; is still set to &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Confirm the &#039;&#039;&#039;Default Hash Size&#039;&#039;&#039; is still set to &amp;lt;code&amp;gt;3 byte&amp;lt;/code&amp;gt;.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Open the ScotMesh public channel.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Send a short test message, for example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;code&amp;gt;Test from newly configured ScotMesh companion node&amp;lt;/code&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Confirm that the message sends successfully.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once these steps are complete, the companion node should be connected to ScotMesh and ready to send messages using the Scottish default scope.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-warning&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default scope is the most important setting on ScotMesh. Without it, your messages may not travel anywhere useful on our network.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;send-your-first-message-in-the-scotland-channel.&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 💬 4. Send your first message in the #scotland channel. ===&lt;br /&gt;
&lt;br /&gt;
# In the app, open or create a channel called &amp;lt;code&amp;gt;#scotland&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Check the channel scope is set to &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;. If the app shows a scope option, make sure it says &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Type a short hello and send it.&lt;br /&gt;
&lt;br /&gt;
That is all you need to do. If there is a repeater nearby, your message should travel through the mesh.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;nothing-coming-back&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 🤔 5. Nothing coming back? ===&lt;br /&gt;
&lt;br /&gt;
Do not worry — this is normal at first.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Check your scope.&#039;&#039;&#039; Go back to step 2 and confirm &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; is set as the default and on the &amp;lt;code&amp;gt;#scotland&amp;lt;/code&amp;gt; channel.&lt;br /&gt;
* &#039;&#039;&#039;Check repeater coverage.&#039;&#039;&#039; It is best &#039;&#039;&#039;NOT TO USE&#039;&#039;&#039; [https://map.meshcore.io/ MeshCore Node Map] to see if there are any repeaters near you. It is not up to date and can give false promise of coverage. Use the discover nearby nodes Scanner in the Meshcore app tools. &amp;amp;gt; The web map is inaccurate and alway out of date. The companion app map will be empty until it hears adverts. the only way to reliably check for repeaters is to use the repeater search tool in the companion app&lt;br /&gt;
* &#039;&#039;&#039;Try &amp;lt;code&amp;gt;#test&amp;lt;/code&amp;gt;.&#039;&#039;&#039; Send a message in a channel called &amp;lt;code&amp;gt;#test&amp;lt;/code&amp;gt; with scope &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; — this is what the community uses for testing. If someone else is active they may respond.&lt;br /&gt;
* &#039;&#039;&#039;Ask for help.&#039;&#039;&#039; The [https://discord.gg/ytxfyuDmSt Discord] is friendly and someone will help you work out what is happening.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;where-to-go-next&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 🗺️ Where to go next ===&lt;br /&gt;
&lt;br /&gt;
Once you are up and running:&lt;br /&gt;
&lt;br /&gt;
* [[MeshCore/Scopes|Scopes]] explains what scope means and how to set it properly for different channels.&lt;br /&gt;
* [[MeshCore/Channels|Channels]] lists the agreed community channels and what scope to use with each.&lt;br /&gt;
* [[MeshCore/Repeater Quick Setup|Repeater Quick Setup]] is for you if you want to set up a repeater and help the network grow.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=MeshCore&amp;diff=23</id>
		<title>MeshCore</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=MeshCore&amp;diff=23"/>
		<updated>2026-11-03T17:06:11Z</updated>

		<summary type="html">&lt;p&gt;Admin: Import MeshCore content from scotmesh-wiki (faithful; freshness pass next)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span id=&amp;quot;meshes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Meshes ==&lt;br /&gt;
&lt;br /&gt;
ScotMesh has both Meshtastic and MeshCore — radio messaging systems for small LoRa devices. It lets people send short messages across a volunteer-run network without needing mobile coverage, Wi-Fi, or the internet. Carry a small companion node in your pocket, connect it to your phone, and you’re on the mesh.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;the-remainder-of-this-document-focuses-on-meshcore.&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== The remainder of this document focuses on Meshcore. ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;key-ideas&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 💡 Key ideas ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Term&lt;br /&gt;
! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Channel&#039;&#039;&#039;&lt;br /&gt;
| A named place for conversation, such as &amp;lt;code&amp;gt;#scotland&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;#glasgow&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;#ireland&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Scope&#039;&#039;&#039;&lt;br /&gt;
| The region code applied to messages in a channel, such as &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;gla&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;ioi&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Region&#039;&#039;&#039;&lt;br /&gt;
| A code configured on a repeater to describe the area it serves.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Repeater&#039;&#039;&#039;&lt;br /&gt;
| A fixed node that hears MeshCore traffic and repeats it to extend coverage.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;new-to-scotmesh&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 👋 New to ScotMesh? ===&lt;br /&gt;
&lt;br /&gt;
* [[MeshCore/Getting Started|Getting Started]] — what it is, what you need, your first message.&lt;br /&gt;
* [[MeshCore/Scopes|Scopes]] — the one setting that matters most.&lt;br /&gt;
* [[MeshCore/Channels|Channels]] — where to talk and what scope to use.&lt;br /&gt;
* [[MeshCore/FAQ|FAQ]] — quick answers to common questions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;setting-up-a-repeater&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 📡 Setting up a repeater? ===&lt;br /&gt;
&lt;br /&gt;
* [[MeshCore/Repeater Quick Setup|Repeater Quick Setup]] — start here for hardware and commands.&lt;br /&gt;
* [[MeshCore/Regions|Regions]] — full region code reference and configuration policy.&lt;br /&gt;
* [[MeshCore/Observers|Observers]] — MQTT map uplink setup.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;interested-in-the-technical-detail&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== 🔧 Interested in the technical detail? ===&lt;br /&gt;
&lt;br /&gt;
* [https://blog.meshcore.io/2026/01/20/region-filtering Region Filtering]&lt;br /&gt;
* [https://blog.meshcore.io/2026/04/17/default-scope Default Scope Region]&lt;br /&gt;
* [https://docs.meshcore.io/cli_commands/ CLI Commands]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-cx sm-cx-warning&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ScotMesh network policy:&#039;&#039;&#039; wildcard &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; forwarding is not allowed. Companion App users should set their default region scope to &amp;lt;code&amp;gt;sco&amp;lt;/code&amp;gt; under &#039;&#039;&#039;Experimental Settings&#039;&#039;&#039;. Repeater owners should use &amp;lt;code&amp;gt;region denyf *&amp;lt;/code&amp;gt;. See [[MeshCore/Regions|Regions]] for detail.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=File:Scotmesh-tx-delay-route.jpg&amp;diff=22</id>
		<title>File:Scotmesh-tx-delay-route.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=File:Scotmesh-tx-delay-route.jpg&amp;diff=22"/>
		<updated>2026-11-03T17:06:11Z</updated>

		<summary type="html">&lt;p&gt;Admin: == Summary ==
Importing file&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Importing file&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=Main_Page&amp;diff=21</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=Main_Page&amp;diff=21"/>
		<updated>2026-11-03T16:54:21Z</updated>

		<summary type="html">&lt;p&gt;Admin: Restyle landing to match scotmesh.net (hero + net-cards)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ __NOEDITSECTION__&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-hero&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-rule&amp;quot;&amp;gt;ScotMesh Wiki&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-h1&amp;quot;&amp;gt;Two meshes across Scotland, one wiki.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;sm-lead&amp;quot;&amp;gt;Guides, setup and reference for both ScotMesh radio networks — MeshCore and Meshtastic. Pick a network to get started.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-btns&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;b-primary&amp;quot;&amp;gt;[https://discord.gg/ytxfyuDmSt Join the community]&amp;lt;/span&amp;gt; &amp;lt;span&amp;gt;[https://scotmesh.uk Forum]&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-grid&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;net-card meshcore&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;net-head&amp;quot;&amp;gt;[[File:ScotMesh-meshcore-mark.svg|link=MeshCore|38px|alt=MeshCore]]&amp;lt;span class=&amp;quot;net-meta&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;net-name&amp;quot;&amp;gt;MeshCore&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;net-for&amp;quot;&amp;gt;Held Up by Repeaters&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Long-range LoRa on cheap radios, carried by fixed repeaters on high ground. Getting started, regions, scopes, channels, repeater setup and the FAQ.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;net-go&amp;quot;&amp;gt;[[MeshCore|Open the MeshCore guides →]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;net-card meshtastic&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;net-head&amp;quot;&amp;gt;[[File:ScotMesh-meshtastic-mark.svg|link=Meshtastic|38px|alt=Meshtastic]]&amp;lt;span class=&amp;quot;net-meta&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;net-name&amp;quot;&amp;gt;Meshtastic&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;net-for&amp;quot;&amp;gt;Scotland&#039;s Original Mesh&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Long-range LoRa messaging with an app on your phone, where every radio can repeat what it hears. Introduction and setup guides.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;net-go&amp;quot;&amp;gt;[[Meshtastic|Open the Meshtastic guides →]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;sm-join-note&amp;quot;&amp;gt;Forum invite code &amp;lt;code&amp;gt;VVAGXJN7BQ&amp;lt;/code&amp;gt;&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=File:ScotMesh-meshcore-mark.svg&amp;diff=20</id>
		<title>File:ScotMesh-meshcore-mark.svg</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=File:ScotMesh-meshcore-mark.svg&amp;diff=20"/>
		<updated>2026-11-03T16:54:20Z</updated>

		<summary type="html">&lt;p&gt;Admin: == Summary ==
Importing file&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Importing file&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=File:ScotMesh-meshtastic-mark.svg&amp;diff=19</id>
		<title>File:ScotMesh-meshtastic-mark.svg</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=File:ScotMesh-meshtastic-mark.svg&amp;diff=19"/>
		<updated>2026-11-03T16:54:20Z</updated>

		<summary type="html">&lt;p&gt;Admin: == Summary ==
Importing file&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Importing file&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=Main_Page&amp;diff=18</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=Main_Page&amp;diff=18"/>
		<updated>2026-11-03T16:49:52Z</updated>

		<summary type="html">&lt;p&gt;Admin: Remove retired GitHub contribute link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ __NOEDITSECTION__&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-hero&amp;quot;&amp;gt;&lt;br /&gt;
[[File:ScotMesh-lockup.svg|link=|alt=ScotMesh|class=sm-hero-logo|300px]]&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-tagline&amp;quot;&amp;gt;Off-grid radio mesh across Scotland&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Welcome to the &#039;&#039;&#039;ScotMesh Wiki&#039;&#039;&#039; — community documentation for the ScotMesh networks. Pick a network to get started.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-grid&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-card meshcore&amp;quot;&amp;gt;&lt;br /&gt;
[[File:ScotMesh-meshcore-lockup.svg|link=MeshCore|alt=scotmesh/meshcore|class=sm-cardlogo|180px]]&lt;br /&gt;
&amp;lt;p&amp;gt;Getting started, regions, channels, scopes, repeaters and the FAQ.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;sm-go&amp;quot;&amp;gt;[[MeshCore|Browse MeshCore →]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-card meshtastic&amp;quot;&amp;gt;&lt;br /&gt;
[[File:ScotMesh-meshtastic-lockup.svg|link=Meshtastic|alt=scotmesh/meshtastic|class=sm-cardlogo|180px]]&lt;br /&gt;
&amp;lt;p&amp;gt;Introduction and guides for ScotMesh on Meshtastic.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;sm-go&amp;quot;&amp;gt;[[Meshtastic|Browse Meshtastic →]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Join the community ==&lt;br /&gt;
Get involved, ask questions, and help the network grow.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-join&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;j-discord&amp;quot;&amp;gt;[https://discord.gg/ytxfyuDmSt Join the Discord]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;j-forum&amp;quot;&amp;gt;[https://scotmesh.uk Join the Forum]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;sm-join-note&amp;quot;&amp;gt;Forum invite code &amp;lt;code&amp;gt;VVAGXJN7BQ&amp;lt;/code&amp;gt;&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=Main_Page&amp;diff=17</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=Main_Page&amp;diff=17"/>
		<updated>2026-11-03T16:44:55Z</updated>

		<summary type="html">&lt;p&gt;Admin: Front page: Join the community (Discord + Forum code)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ __NOEDITSECTION__&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-hero&amp;quot;&amp;gt;&lt;br /&gt;
[[File:ScotMesh-lockup.svg|link=|alt=ScotMesh|class=sm-hero-logo|300px]]&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-tagline&amp;quot;&amp;gt;Off-grid radio mesh across Scotland&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Welcome to the &#039;&#039;&#039;ScotMesh Wiki&#039;&#039;&#039; — community documentation for the ScotMesh networks. Pick a network to get started.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-grid&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-card meshcore&amp;quot;&amp;gt;&lt;br /&gt;
[[File:ScotMesh-meshcore-lockup.svg|link=MeshCore|alt=scotmesh/meshcore|class=sm-cardlogo|180px]]&lt;br /&gt;
&amp;lt;p&amp;gt;Getting started, regions, channels, scopes, repeaters and the FAQ.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;sm-go&amp;quot;&amp;gt;[[MeshCore|Browse MeshCore →]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-card meshtastic&amp;quot;&amp;gt;&lt;br /&gt;
[[File:ScotMesh-meshtastic-lockup.svg|link=Meshtastic|alt=scotmesh/meshtastic|class=sm-cardlogo|180px]]&lt;br /&gt;
&amp;lt;p&amp;gt;Introduction and guides for ScotMesh on Meshtastic.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;sm-go&amp;quot;&amp;gt;[[Meshtastic|Browse Meshtastic →]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Join the community ==&lt;br /&gt;
Get involved, ask questions, and help the network grow.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-join&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;j-discord&amp;quot;&amp;gt;[https://discord.gg/ytxfyuDmSt Join the Discord]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;j-forum&amp;quot;&amp;gt;[https://scotmesh.uk Join the Forum]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;sm-join-note&amp;quot;&amp;gt;Forum invite code &amp;lt;code&amp;gt;VVAGXJN7BQ&amp;lt;/code&amp;gt; · Contribute on GitHub: [https://github.com/ScotMesh/scotmesh-wiki ScotMesh/scotmesh-wiki]&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=MediaWiki:Common.css&amp;diff=16</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=MediaWiki:Common.css&amp;diff=16"/>
		<updated>2026-11-03T16:44:54Z</updated>

		<summary type="html">&lt;p&gt;Admin: Front page: styled Discord + Forum join&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* ScotMesh content styles. Core brand (colours/fonts/cards) is render-blocking in LocalSettings. */&lt;br /&gt;
.sm-cx{border-radius:6px;padding:.15rem 1rem;margin:1rem 0;border-left:4px solid #22324D;background:#101C30}&lt;br /&gt;
.sm-cx-info{border-left-color:#005EB8}&lt;br /&gt;
.sm-cx-warning{border-left-color:#F2B33D}&lt;br /&gt;
.sm-cx-success{border-left-color:#65C281}&lt;br /&gt;
.sm-cx &amp;gt; :first-child{margin-top:.65rem}&lt;br /&gt;
.sm-cx &amp;gt; :last-child{margin-bottom:.65rem}&lt;br /&gt;
/* front-page community join */&lt;br /&gt;
.sm-join{display:flex;flex-wrap:wrap;gap:.7rem;margin:1rem 0 .4rem}&lt;br /&gt;
.sm-join a{display:inline-flex;align-items:center;gap:.5rem;font-family:&amp;quot;IBM Plex Mono&amp;quot;,ui-monospace,monospace;font-weight:600;font-size:.92rem;text-decoration:none;padding:.65rem 1.2rem;border-radius:999px;border:1px solid #22324D;transition:border-color .15s,background .15s}&lt;br /&gt;
.j-discord a{background:#5865F2;border-color:#5865F2;color:#fff}&lt;br /&gt;
.j-discord a:hover{background:#4654d0;border-color:#4654d0}&lt;br /&gt;
.j-forum a{background:#101C30;color:#E6EDF7}&lt;br /&gt;
.j-forum a:hover{border-color:#005EB8;color:#fff}&lt;br /&gt;
.sm-join-note{display:block;font-family:&amp;quot;IBM Plex Mono&amp;quot;,ui-monospace,monospace;font-size:.82rem;color:#8FA2BD;margin:.2rem 0 0}&lt;br /&gt;
.sm-join-note code{color:#E6EDF7;background:#0C1729;border:1px solid #22324D;padding:.05rem .4rem;border-radius:3px}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=MediaWiki:Common.css&amp;diff=15</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=MediaWiki:Common.css&amp;diff=15"/>
		<updated>2026-11-03T16:42:14Z</updated>

		<summary type="html">&lt;p&gt;Admin: Brand callouts (Wiki.js -&amp;gt; ScotMesh) + content styles&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* ScotMesh content styles. Core brand (colours/fonts/cards) is render-blocking in LocalSettings. */&lt;br /&gt;
.sm-cx{border-radius:6px;padding:.15rem 1rem;margin:1rem 0;border-left:4px solid #22324D;background:#101C30}&lt;br /&gt;
.sm-cx-info{border-left-color:#005EB8}&lt;br /&gt;
.sm-cx-warning{border-left-color:#F2B33D}&lt;br /&gt;
.sm-cx-success{border-left-color:#65C281}&lt;br /&gt;
.sm-cx &amp;gt; :first-child{margin-top:.65rem}&lt;br /&gt;
.sm-cx &amp;gt; :last-child{margin-bottom:.65rem}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=Main_Page&amp;diff=14</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=Main_Page&amp;diff=14"/>
		<updated>2026-11-03T16:24:54Z</updated>

		<summary type="html">&lt;p&gt;Admin: Homepage: ScotMesh lockup hero + network lockup cards&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ __NOEDITSECTION__&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-hero&amp;quot;&amp;gt;&lt;br /&gt;
[[File:ScotMesh-lockup.svg|link=|alt=ScotMesh|class=sm-hero-logo|300px]]&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-tagline&amp;quot;&amp;gt;Off-grid radio mesh across Scotland&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Welcome to the &#039;&#039;&#039;ScotMesh Wiki&#039;&#039;&#039; — community documentation for the ScotMesh networks. Pick a network to get started.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-grid&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-card meshcore&amp;quot;&amp;gt;&lt;br /&gt;
[[File:ScotMesh-meshcore-lockup.svg|link=MeshCore|alt=scotmesh/meshcore|class=sm-cardlogo|180px]]&lt;br /&gt;
&amp;lt;p&amp;gt;Getting started, regions, channels, scopes, repeaters and the FAQ.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;sm-go&amp;quot;&amp;gt;[[MeshCore|Browse MeshCore →]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-card meshtastic&amp;quot;&amp;gt;&lt;br /&gt;
[[File:ScotMesh-meshtastic-lockup.svg|link=Meshtastic|alt=scotmesh/meshtastic|class=sm-cardlogo|180px]]&lt;br /&gt;
&amp;lt;p&amp;gt;Introduction and guides for ScotMesh on Meshtastic.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;sm-go&amp;quot;&amp;gt;[[Meshtastic|Browse Meshtastic →]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;Contribute on GitHub: [https://github.com/ScotMesh/scotmesh-wiki ScotMesh/scotmesh-wiki]&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=MediaWiki:Sidebar&amp;diff=13</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=MediaWiki:Sidebar&amp;diff=13"/>
		<updated>2026-11-03T16:24:53Z</updated>

		<summary type="html">&lt;p&gt;Admin: Network menus: ScotMesh MeshCore / Meshtastic&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* navigation&lt;br /&gt;
** mainpage|Home&lt;br /&gt;
* ScotMesh MeshCore&lt;br /&gt;
** MeshCore|Introduction&lt;br /&gt;
* ScotMesh Meshtastic&lt;br /&gt;
** Meshtastic|Introduction&lt;br /&gt;
* SEARCH&lt;br /&gt;
* TOOLBOX&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=File:ScotMesh-meshcore-lockup.svg&amp;diff=12</id>
		<title>File:ScotMesh-meshcore-lockup.svg</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=File:ScotMesh-meshcore-lockup.svg&amp;diff=12"/>
		<updated>2026-11-03T16:24:53Z</updated>

		<summary type="html">&lt;p&gt;Admin: == Summary ==
Importing file&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Importing file&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=File:ScotMesh-lockup.svg&amp;diff=11</id>
		<title>File:ScotMesh-lockup.svg</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=File:ScotMesh-lockup.svg&amp;diff=11"/>
		<updated>2026-11-03T16:24:52Z</updated>

		<summary type="html">&lt;p&gt;Admin: == Summary ==
Importing file&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Importing file&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=File:ScotMesh-meshtastic-lockup.svg&amp;diff=10</id>
		<title>File:ScotMesh-meshtastic-lockup.svg</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=File:ScotMesh-meshtastic-lockup.svg&amp;diff=10"/>
		<updated>2026-11-03T16:24:52Z</updated>

		<summary type="html">&lt;p&gt;Admin: == Summary ==
Importing file&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Importing file&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=MediaWiki:Citizen-footer-tagline&amp;diff=9</id>
		<title>MediaWiki:Citizen-footer-tagline</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=MediaWiki:Citizen-footer-tagline&amp;diff=9"/>
		<updated>2026-11-03T16:18:42Z</updated>

		<summary type="html">&lt;p&gt;Admin: ScotMesh footer tagline&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Off-grid radio mesh across Scotland&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=MediaWiki:Citizen-footer-desc&amp;diff=8</id>
		<title>MediaWiki:Citizen-footer-desc</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=MediaWiki:Citizen-footer-desc&amp;diff=8"/>
		<updated>2026-11-03T16:18:41Z</updated>

		<summary type="html">&lt;p&gt;Admin: ScotMesh footer description&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Community documentation for the ScotMesh mesh networks — MeshCore and Meshtastic.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=Main_Page&amp;diff=7</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=Main_Page&amp;diff=7"/>
		<updated>2026-11-03T16:17:28Z</updated>

		<summary type="html">&lt;p&gt;Admin: Suppress TOC/section-edit on landing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ __NOEDITSECTION__&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-tagline&amp;quot;&amp;gt;Off-grid radio mesh across Scotland&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Welcome to the &#039;&#039;&#039;ScotMesh Wiki&#039;&#039;&#039; — community documentation for the ScotMesh networks. Pick a network to get started.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-grid&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-card meshcore&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;[[MeshCore]]&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Getting started, regions, channels, scopes, repeaters and the FAQ.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-card meshtastic&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;[[Meshtastic]]&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Introduction and guides for ScotMesh on Meshtastic.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;Contribute on GitHub: [https://github.com/ScotMesh/scotmesh-wiki ScotMesh/scotmesh-wiki]&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.scotmesh.net/index.php?title=Meshtastic&amp;diff=6</id>
		<title>Meshtastic</title>
		<link rel="alternate" type="text/html" href="https://wiki.scotmesh.net/index.php?title=Meshtastic&amp;diff=6"/>
		<updated>2026-11-03T15:55:37Z</updated>

		<summary type="html">&lt;p&gt;Admin: Meshtastic section stub&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Meshtastic}}&lt;br /&gt;
&#039;&#039;&#039;ScotMesh Meshtastic&#039;&#039;&#039; — documentation for the ScotMesh Meshtastic network.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;sm-tagline&amp;quot;&amp;gt;Section layout · content migration in progress&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Introduction and setup guides coming over from the old wiki.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>