Glen to glen, coast to coast, when the signal doesn't reach.

MeshCore is a long-range radio mesh. Cheap LoRa hardware relays messages for everyone nearby, so a note travels hill to hill with no mast, no SIM and no subscription. Every dot on the map is a real node the mesh heard this week, where it says it is.

Repeater Room Companion Traffic, hop by hop, as observers hear it
4,105Packets heard today
108Repeaters
11Companions
4Rooms
13Observers

Scotland right now: nodes heard in the last 5 days, updated 19:00 BST.

Get on the mesh

Four steps, about an evening, roughly £25 of hardware.

  1. Step 1

    Get a radio

    Any supported LoRa board for the UK 868 MHz band. Heltec and RAK boards are what most people here run.

  2. Step 2

    Flash the firmware

    Fresh firmware from meshcore.io for your exact board. Never keep what came pre-installed.

  3. Step 3

    Set scope and path

    Pair over Bluetooth, then set the radio preset, sco scope and 3-byte path hash, the settings below.

  4. Step 4

    Say hello

    Open #scotland, check its scope is sco, and post. Someone will almost always answer.

The settings that matter

Get these four right and you are on the Scottish mesh. Get the scope wrong and your messages go nowhere useful.

Radio preset

UK / EU Narrow
Frequency869.618 MHz
Bandwidth62.5 kHz
Spreading factorSF 8
Coding rateCR 8
TX power22 dBm

Region & path

Experimental Settings
Default scopesco
Default hash size3 byte
Scope on #scotlandsco
Keep in your scope listioi
ACKsDouble ACKs on
Default scope is the most important setting on ScotMesh. Scotland runs a regional framework, brought in when 24,000 flood packets a day from the wider UK mesh nearly killed the network. Without sco set, your traffic may not travel anywhere useful.
Running a repeater? Build your region script Pick where it is and what it genuinely serves; the commands come out in the wiki's order, with ioi and wls included.
Where is it

Peering with the Island of Ireland (ioi) and Wales (wls) is part of every Scottish repeater and is always included, as are multi ACKs and the 3-byte path hash. Codes with a dotted outline are not agreed on the wiki yet; the script says so, and Discord is where they get agreed.

Baseline Scottish repeater

            

region put fif scoCreates fif as a child of sco; parents are created first.
region allowf fifAllows scoped flood traffic for that region.
region denyf *Denies unscoped wildcard forwarding. Never leave this out.
region default scoScopes your own adverts. Without it the rest of the mesh rejects them and never learns you exist.
region saveKeeps it across a reboot. Check with region and look for OK.
Run a MeshCore observer Observers are radios that report what they hear to CoreScope, the map and the alerts. Every dot on the banner came through one. There are four ways to run one.

A repeater that also reports

The MQTT observer build is normal repeater firmware with an uplink. It still repeats on air; it also pushes what it hears to the ScotMesh broker over Wi-Fi.

  1. Flash the repeater_observer_mqtt file for your exact board from static.loraproject.ie/mqtt. A _merged.bin is a full image and wipes stored settings; use it for the first move onto observer firmware. The plain .bin updates the app and keeps your settings.
  2. After a merged flash, set the radio preset and name again, then the region script above.
  3. Run the commands on the right on the serial console. Then reboot.
  4. Check with get mqtt.status, and look for the node on CoreScope after a minute.

The broker hostname is deliberately the long-standing one. Every existing observer uses it and it will keep working. Later updates can go over the air: start ota on the console brings up Wi-Fi for the upload.

Serial console
# Wi-Fi to reach the broker
set wifi.ssid YourWiFiNetwork
set wifi.pwd YourWiFiPassword

# where the radio sits (see Site codes)
set mqtt.iata EDI

# ScotMesh broker on slot 1, MeshCore JWT sign-in
set mqtt1.preset custom
set mqtt1.server scotmesh-mqtt.mm7roq.compute.oarc.uk
set mqtt1.port 443
set mqtt1.audience scotmesh-mqtt.mm7roq.compute.oarc.uk

# free the second TLS slot on low-RAM boards
set mqtt2.preset none

# your own adverts only; "on" = every packet you send
set mqtt.tx advert

reboot
Analytics

How the Scottish mesh is growing.

New repeaters, repeaters that have gone quiet, traffic, and the total over time. Every panel below reads the same slice, so the numbers always agree.

Range
Area

Active repeaters
New
Gone quiet, 5+ days
Packets

Repeater growth

Cumulative repeaters ever heard, by the period each was first seen. Hover for any point.

Packets heard per day

Active repeaters by area

Nearest observer's airport code. Pick an area to filter every panel to it.

New repeaters

Repeater Area First heard Status

Gone quiet

Repeater Area Last heard Status
How these are counted. Nodes heard by observers at Scottish airport codes, then narrowed to those whose reported position is inside Scotland, because the observers hear well across the Irish Sea and the airport code alone would count Irish and Northern Irish repeaters. A repeater's area is the nearest Scottish observer. Nodes that never report a position are left out rather than guessed at. "Gone quiet" means not heard by any observer for five days.