MeshCore in Scotland/MeshCore region configuration for Scotland
MeshCore region configuration for Scotland
Two things decide whether your radio works here: the radio preset, and the region scope. Get the preset wrong and nothing hears you. Get the scope wrong and everything hears you and forwards nothing. This page is both, with the evidence for the second from the repeaters themselves.
In one line
ScotlandCounted from what the repeaters themselves advertise, heard in the last five days. Updated .
The radio preset
Every radio on the Scottish mesh matches all five. Differ on one and you are not on it.
UK / EU Narrow
MandatoryThis is the preset the flasher calls UK / EU Narrow. It is not the same as EU868, which is the one people pick by mistake: EU868 uses a wider bandwidth and a different spreading factor, so a radio on it sits a few hundred metres from the mesh and hears nothing at all.
Set the preset before anything else. A wrong preset is silent in both directions, which makes it the hardest fault to diagnose from the app: the radio looks fine, the battery is fine, and there is simply nothing there.
Set the path hash to 3 bytes at the same time. A 1-byte hash collides often enough that trails on the map teleport between repeaters that never heard each other.
How scopes decide whether anything moves
The part that makes a working radio carry nothing.
Every MeshCore message carries a scope. A repeater forwards it only when that scope exactly matches one of the regions the repeater is configured for. There is no partial match, no prefix match and no fallback.
Scotland also denies unscoped wildcard forwarding. That is deliberate: the framework came in after roughly 24,000 flood packets a day from the wider UK mesh nearly took the network down. The cost of that protection is that a repeater with the wrong scope is not partly useful, it is silent.
So there are two ways to be invisible here. The wrong radio preset, where nothing hears you. Or the wrong scope, where everything hears you and forwards none of it.
sco. Guides elsewhere describe a gb-* family and place Scotland under ioi. Neither is running here, and the numbers below are the check.sco Scotland, carried by every repeater
cen Central Scotland
edi Edinburgh
gla Glasgow
fal Falkirk
sti Stirling (proposed, not ratified)
fif Fife
fif Dunfermline
fif Kirkcaldy
fif St Andrews
tay Tayside
dun Dundee
per Perth
ioi Island of Ireland, a peering root beside sco
wls Wales, a peering root beside sco
What Scottish repeaters actually advertise
Not a view on the scheme. The scheme in use, counted from the mesh.
| Scope advertised | Repeaters | Share |
|---|---|---|
#sco | 99 | 91% |
(nothing set) | 10 | 9% |
gb-sco, gb-eng or any gb- code | 0 | 0% |
Repeaters showing nothing set have not been configured with a default scope. They still relay within whatever they are allowed, but their own adverts go out unscoped, which is why they are worth chasing.
The repeater script
Console order matters: parents before children, adverts scoped last.
# parents before children region put sco * region put cen sco # your region, if there is one region put ioi * # peering: Island of Ireland region put wls * # peering: Wales region allowf sco region allowf cen region allowf ioi region allowf wls region denyf * # no unscoped wildcard forwarding region default sco # without this your adverts go out unscoped region save
Swap cen for the code covering the area your repeater genuinely serves, or leave that line out. sco alone is a perfectly good configuration and most Scottish repeaters run exactly that.
Then type region and read it back. Every line should answer OK. If region default is missing, your adverts go out unscoped and the rest of the mesh rejects them, which looks exactly like a dead radio.
Four ways a MeshCore repeater goes quiet
Each looks like a dead radio from the app. Each has a different cause.
The preset is wrong
Symptom: nothing at all, in either direction, even standing beside another node. The app pairs, the battery reads fine, the node list stays empty.
Cause: EU868 instead of UK / EU Narrow. Different bandwidth and spreading factor, so the radios are physically unable to hear each other.
Fix: reflash or reselect the preset, then set the scope again. A merged flash does not always keep either.
The scope does not match
Symptom: the repeater appears on the map, adverts arrive, and nothing it hears is ever relayed. Neighbours say they can see it but not through it.
Cause: a region code nobody else runs, usually gb-sco or gb from a guide written for England. Matching is exact, so a near miss is a total miss.
Fix: the script above. sco first, everything else after.
Adverts go out unscoped
Symptom: the repeater relays fine for people beside it, but never shows up further away, and no one outside the area knows it exists.
Cause: no region default. Its own adverts carry no scope, and a mesh that denies unscoped wildcard forwarding drops them.
Fix: region default sco, then region save. This is the single most common omission.
The path hash is too small
Symptom: it works, but trails on the map jump between repeaters that never heard each other, and hop counts look wrong.
Cause: a 1-byte path hash. One byte collides often across a mesh this size, so two different repeaters look identical in a path.
Fix: set the path hash to 3 bytes. It costs nothing and it makes every coverage map honest.
Ireland and Wales
Why every Scottish repeater carries two codes that are not Scottish.
Scotland peers with the Island of Ireland and with Wales. A message scoped ioi or wls has to cross Scottish repeaters to get where it is going, and a repeater that does not carry those codes will not pass it.
So both are part of a baseline Scottish configuration rather than an option. They sit beside sco, both created against the wildcard parent. They are not underneath it, and Scotland is not underneath them.
That last point is worth being blunt about, because at least one widely read guide lists sco as a province of the Island of Ireland alongside Ulster, Munster, Leinster and Connacht. Scotland is not a province of Ireland, and the mesh does not treat it as one.
# beside sco, not beneath it
region put ioi *
region put wls *
region allowf ioi
region allowf wls
Leave these in even if you never expect Irish or Welsh traffic. The cost is two lines; the cost of omitting them is a gap in somebody else's route.
Why Scotland scopes at all
The framework exists because the alternative stopped working.
MeshCore floods by default. Every repeater that hears a message rebroadcasts it, which is what makes the mesh resilient and also what makes it fragile once enough radios are on the air. Scotland reached that point when roughly 24,000 flood packets a day were arriving from the wider UK mesh: traffic with no business here, rebroadcast by every Scottish repeater, crowding out the messages people were actually sending.
The regional framework was the answer. Repeaters deny unscoped wildcard forwarding and carry only the regions they serve, so traffic stays in the area it belongs to and the national scope stays usable. It works, and the cost is that configuration is no longer optional. A radio with no scope is not a slightly worse citizen of the mesh; it is not on it.
That is also why a guide written for a mesh without this problem gives advice that fails here. A gb-* scheme is a reasonable idea in the abstract. It is simply not the one running, and on a network that matches exactly, the scheme that is running is the only one that matters.
Questions operators ask
What are the MeshCore settings for Scotland?
The UK / EU Narrow radio preset: 869.618 MHz, bandwidth 62.5 kHz, spreading factor 8, coding rate 8, and 22 dBm transmit power. On top of that, the default scope sco and a 3-byte path hash. Every radio on the Scottish mesh matches all of these; a radio that differs on any one of them will not be heard, or will be heard and not carried.
What is the MeshCore region code for Scotland?
sco. Of the 109 repeaters heard on the Scottish mesh, 99 advertise it and 0 advertise any code starting gb. Regional codes sit underneath it: cen for Central Scotland, fif for Fife, tay for Tayside. ioi for the Island of Ireland and wls for Wales are peering roots carried alongside sco rather than underneath it.
How do scopes work in MeshCore?
Every message carries a scope, and a repeater forwards it only when that scope exactly matches a region the repeater is configured for. There is no partial match and no fallback. That is what makes a wrong code silent rather than noisy: the repeater is working, it simply never matches anything, so nothing it hears is worth forwarding.
Why does Scotland use its own region scheme?
Because without one the Scottish mesh drowns. The framework was brought in after roughly 24,000 flood packets a day from the wider UK mesh nearly took the network down. Denying unscoped wildcard forwarding and scoping traffic to the region it belongs in is what keeps it usable.
Do I need a region code for my town?
No. sco alone works perfectly well and most Scottish repeaters run exactly that. A local code earns its place only when there is enough local traffic worth keeping off the national scope, and it has to be agreed before anyone uses it, or the rest of the mesh does not know what to do with it.