Loading…
MeshRank.net by G5AIL
Messages Channels Regions BETA Repeater Rank Room Rank Traffic Mix BETA
Observers
Static observers Mobile observers Companion Rank
Tools
Coverage map MeshLive Propagation MeshMap MeshFlow Flood Stats Rank V2 BETA Repeater ID Clashes
More
Why MeshRank? Become a Radio Amateur Forum & Changelog Moderation Get the app Become an Observer
Region
Slow down your refreshes
Feed paused This tab has been idle too long. Refresh the feed to restart live updates.
Other channels
Channels
Discover active spaces, join the ones that matter, and browse the mesh by group.
Channel discovery

Find channels worth following

See what is busy right now, jump into the spaces growing fastest, and browse by group without the page collapsing into a long admin list.

Channel activity

A global view of the busiest channels over the last 7 days, with the top channels listed below.
Top 20 channels Use the list to preview, join, or dismiss channels without leaving the directory.

Browse by group

Open a group to browse channels, recent traffic, and join state.
Traffic Mix
What's really being sent on the mesh, and how much radio time it takes up.

Most of what's on the mesh isn't chat. This shows what's actually being heard, split into simple categories — never by channel or sender.

How this is measured — what counts as a "packet", why airtime is estimated, what's not shown

What's being counted? Every number here counts how many times a packet was heard — one observer, one packet, once. The same packet is usually heard by several observers (so it's counted several times over), and a single chat post is usually carried over several separate over-the-air sends as it hops across the mesh (so those are counted separately too). That's why "times heard", "separate sends" and "messages typed" are never the same number.

Reference snapshot (measured 2026-09-29, not live): ~6.9M times heard per day, from ~1.6M separate over-the-air sends (~4.3 times heard each), carrying ~22,700 messages typed — ~78% of what's heard is flooded to the whole mesh rather than sent point-to-point.

"Airtime" is an estimate, not a measurement: packets don't record their own radio settings, so every separate send is costed using MeshRank's documented EU/UK (Narrow) radio preset (869.618 MHz · SF8 · BW62.5 kHz · CR4/8) and the standard LoRa time-on-air formula — a differently-configured node's real airtime will differ from this estimate. Because separate, distant transmissions can share the air at the same moment without colliding, this page shows airtime as a share and a total, never as one global "% of channel occupied".

"Country" means heard by an observer in that country — never "sent from" that country, since a widely-flooded packet is often heard by observers in more than one. A send heard in two countries has its (de-duplicated) airtime credited to only one of them, never both, so per-country totals still add up to "All".

Airtime per send is measured. The onward cost of one send — how much air it uses once the mesh has relayed it — is temporarily withheld: the flood/direct split it depends on is being corrected, and publishing it now would understate flooding.

"Dead air" is worked out per observer, because the total airtime across all observers can't be compared with real time (distant transmissions share the air at the same moment). For each observer and each minute: the estimated airtime of the hops that observer heard \u00F7 60 seconds. The page then shows the typical observer (median) and the busiest tenth (90th percentile). It is an estimate from an assumed radio preset, it only reflects what each observer could hear, and a value over 100% is shown rather than hidden.

"Quiet" and "busy" hours are worked out separately for whichever country is selected — never as one universal best time — because timing genuinely differs by region. A fresh deploy needs a few days to build a stable pattern; until then the page marks it "provisional".

This page only shows what our own network of observers can hear from where they're sited — never the whole mesh. If the live tally briefly falls behind, its status says "catching up" rather than quietly under-counting.

What's using the air right now
Loading…
Connecting…
Bands show each category's share of that minute — every column is full height, so it's the split that matters, not how tall it is. Absolute totals for this window are below, secondary.
-30mnow
Tap or click a band for what it is and why it matters; tap a column to see that moment's breakdown. Every band is a category — never a channel or a sender.
How full is the air? (dead air)
Loading…
Each column is one minute of real time as a typical observer experiences it: the coloured part is how much of that minute the air was in use (split by category), the grey part is dead air. The dark tick marks the busiest-tenth observer. Estimated from an assumed radio preset.
-30mnow
Composition, by category
Loading…
-24hnow
Cost of one of these
Real measured airtime per send, times an estimated hop count — this is what shows an advert isn't the same load as a chat message.
When it actually lands
Loading…
Average airtime by hour of day (UTC), last 7 days — each category shown separately, so advert load can be told apart from sensor, wardriving and app traffic at the same hour.
00:0012:0023:00
What each category means
Tap any one for more detail.
Forum & Changelog
Share improvements, discuss the mesh, and track site changes.
We also have an active Discord group — click to join
MeshRank for your phone

Take MeshRank with you

Connect a MeshCore companion, explore public channels, follow network activity, and manage the repeaters you administer.

These are the existing test-distribution links. Available features depend on your installed build and connected device firmware.

Viewing region

Choose which country's internet messages and Mesh Live information you see. Messages heard directly by your radio still come from your local mesh.

A viewing choice does not change your radio settings.

Device regions

Read and review a supported companion's default sending region before changing it. Repeater region administration remains in the repeater controls.

Only settings reported as supported by the connected firmware can be changed.

Mesh Live and channels

Open Explore for network activity, public-channel lookup and region choices. Sign in to add a public channel to your account.

Own a new repeater?

Sign in to the MeshRank app, connect your MeshCore node, and authenticate to the repeater as its administrator. The app submits radio proof for the server to verify before ownership is granted.

A discovered advert, app link or submitted request does not establish ownership.

Continue your repeater setup

  1. Install or open the MeshRank app and sign in to your account.
  2. Connect your MeshCore node.
  3. Open Explore → Claim a repeater and select the repeater you administer.
  4. Authenticate to the repeater as its administrator and let the app verify a fresh signed radio challenge. The first verified claim completes automatically; a conflicting owner requires review.

If the app link does not open, follow these steps manually. No password or account token is included in the link.

Moderation
Loading review queue...
Select an item to review.

Log in or sign up

You'll get a more tailored experience and exclusive data access.

Google login is not configured yet.
Route Path none
ROUTE SNAPSHOT Loading the latest observer evidence. 0 observers
Loading route…
Message key-
Using current production routing model.
MeshCQ
--
Live MeshCQ activity
MeshCQ leaderboard
Repeater Rank This data was last updated --
Explore coverage & terrain ↗
Repeaters marked with 🚫 in their names are hidden from the map. If you’d prefer not to share your exact location with anyone, you should set your GPS to 00°00′N 00°00′E.
Map mode: loading…
Running repeater rank, please hold…
MeshCore Regions Loading…
Region-scoped repeaters
Regions are separate from countries. This page shows recovered MeshCore region names and the repeaters inside them.
Region map Select a named region to map the repeaters inside it.
Select a named region to inspect it on the map.
Named MeshCore regions Click a region to map the repeaters inside it. If a repeater has a known region name, this is where it appears.
Region-scoped repeaters with no recovered region name yet These repeaters clearly show region-scoped traffic, but Meshrank has not recovered the actual region name from passive RF yet.
Companion Rank This data was last updated --
Only companions with a confirmed GPS are shown on the map. Others stay in the list with a Location not set badge.
Total companions --
Active today --
Messages 24h --
Channels 24h --
Zero-hop repeaters 7d --
GPS on map --
Only companions with a known GPS are shown on this map.
Running companion rank, please hold…
MeshMap --
MeshRank tracks network health using active repeaters, message volume, and repeat reliability.
Shared totals now live in MeshLive, so this view stays focused on route overlays and confirmed multibyte evidence.
Routes map
Multibyte routes only Filter the current MeshMap window to links with multibyte evidence.
Toggle to show only multibyte links in the current window.
Window 5m
Applies to 1m, 3m and 5m. Leave blank to show all companions.
Propagation Outlook Loading…
Transmission effectiveness
--
Loading Mesh region
Combining live decoded routes, RF samples, hop depth, neighbour evidence and weather around active mesh areas.
Mesh --
Signal --
Weather --
Live RF evidence Loading observed reach…
Separating direct decoded hops from multi-country observer reception.

Link Geometry

Weighted mean--
Median hop--
90th percentile--
Longest--

Route Depth

Average hops--
Median hops--
90th percentile--
Routes 5m--

RF Environment

Noise floor--
RSSI median--
SNR median--
RF samples--

Atmosphere Forecast

--
M-gradient--
Pressure--
Wind / gust--
Humidity--

Hop Distance Distribution

Space Weather

Planetary Kp--
Solar flux F10.7--
Sunspots--
Activity--

Route Hop Distribution

Next 12 Hours

Best Windows

Signals To Watch

    Recommended Use

      Weather by Open-Meteo. MeshRank treats forecast data as a reliability modifier, not as proof of a route.
      Mobile Observers Loading…
      Loading mobile observer coverage…
      Want passive repeater coverage reporting? Use the MeshRank Mobile Observer flow to map your own coverage and feed shared RF data back into MeshRank.
      Click for more
      The MeshRank Mobile Observer app lets you go out and see where your own repeater is really being heard, while at the same time feeding that coverage back into useful shared data for everyone else. Repeater owners get a clearer view of their span of control, and every passive upload helps build the wider picture too.
      Your node listens locally and uploads over the internet later, so the coverage reporting stays passive instead of adding extra mesh traffic.
      You're welcome to try it out — grab the app here:
      All we ask in return:
      1. Join our Discord — discord.gg/2QpMBP88Dp
      2. Be patient — this is a one-person development effort.
      3. Send feedback, ideally with concrete recommendations on what to improve.
      Global MeshLive dashboard
      Updating...
      Users Today --
      Countries Today --
      Multibyte Routes 7d --
      Decoded Routes 24h --
      Live Pipeline
      Waiting for pipeline telemetry...
      Waiting for pipeline telemetry...
      ● live-measured by the owning process ≈ derived here (rate from counter deltas, or a proxy) ○ not instrumented Arrow speed follows items per minute; red dashes mean the stage it feeds is falling behind.
      Technical detail for operators (which service runs each stage)
      Background helpers and the rest of the server
      Service health will appear here.
      CPU shown as share of total server capacity. The services that carry packets are shown in the Live Pipeline above.
      Whole server CPU -- --
      Whole server memory -- --
      Daily MeshRank Reach
      Active users
      Today --
      7d Average --
      7d Peak --
      Countries with observed traffic
      Today --
      7d Average --
      7d Peak --
      Most Active Countries

      Repeaters Over 7 Days

      0
      0 current active 0 peak

      Observers Over 7 Days

      0
      0 current active 0 peak

      Rooms Over 7 Days

      0
      0 current active 0 peak

      Nodes Over 7 Days

      0
      0 current active 0 peak
      Multibyte Activity
      Total Routes 0
      2-byte 0
      3-byte+ 0
      Last Seen --
      Decoded Observer Routes
      Resolved --
      Partial --
      Multibyte --
      Links --
      MeshFlow 0 packets
      --
      Total packets0
      CRC ok0
      CRC bad0
      Top type--
      Select a packet to inspect its payload.
      Become an Observer Quick setup
      Choose an observer type
      You can read the setup options here, but flashing and WebSerial configuration require a desktop browser (Chrome/Edge).
      If you get stuck, ask in our Discord: https://discord.gg/2QpMBP88Dp
      Observer node (Heltec V3 only)
      Easiest. Listens silently and reports what it hears. Online in minutes.
      Repeater Observer (Heltec V4 / V4.3)
      Beta. Repeats RF and uploads packets to MeshRank over Wi-Fi. Best placed high with strong RF + Wi-Fi.
      Direct MQTT uplink
      Already using meshcoretomqtt? Add the MeshRank preset and start sending anonymously, then register the observer to your account later.
      Mobile Observer (phone app)
      Walk/drive with the MeshRank Mobile Observer app paired to your MeshCore node. Map your own coverage and feed shared RF data back.
      Open this page on a desktop to flash and configure devices.
      Create your own Observer node
      If you get stuck during setup, ask in our Discord: https://discord.gg/2QpMBP88Dp
      Observer Nodes listen silently and relay RF traffic to MeshRank without stressing repeaters. Place it where Wi-Fi and RF are strong. Firmware is Heltec V3 only.
      By design, there is no admin login for this firmware. It is dedicated to MeshRank and configured through the web flasher only (Wi-Fi + location set during step 3). You won't get a companion screen, an admin password, or be able to send commands. If you want a node you can also log into and manage (repeat, change settings, send via Bluetooth), switch to the Repeater Observer tab above — that uses the full MeshCore firmware with the MeshRank uplink baked in.
      1 Plug in your Heltec V3 in DFU mode.
      2 Flash the firmware.
      The in-page flasher writes the full merged firmware image, then reboots the device.
      MeshRank Observer Flasher (Heltec V3 only)
      Fresh installation writes the full Heltec V3 (ESP32-S3) image and resets saved settings and device identity. Desktop firmware updates that preserve identity are not supported here.
      Firmware
      Observer 2.2.1 beta (P-256 pairing)
      Offset
      0x0 (full image)
      This is a fresh installation. Your previous Observer history and ownership remain under the old ID; the new firmware uses a new ID that must be paired again in the MeshRank app.
      Ready to flash.
      3 Enter Wi-Fi details and set the observer location, then click send and reboot the node.
      Location not selected yet. Click "Select location on map".
      4 Enter the 5-digit Pin shown on your observer screen to link it to your account.
      5 Once validated, you will have access to the observer-only part of the website.
      Verbose install log ready.
      Repeater Observer (Heltec V4 / V4.3)
      Turn a Heltec V4 repeater into an Observer: it keeps repeating, and also uploads the RF packets it hears to MeshRank over Wi-Fi.
      1 (New setup only) Flash + configure your repeater (MeshCore)
      First, set up your Heltec V4 or V4.3 as a normal MeshCore repeater (name, admin password, and radio settings) using the official MeshCore web flasher. Then come back here to add MeshRank uplink.
      Already running a repeater? Skip this step and go straight to Step 2.
      2 Install the MeshRank Firmware Upgrade only (preserves your settings)
      This flashes an app update so your repeater configuration stays intact. The dropdown below exposes the current v1.17.1 beta track plus the known-good Heltec V4.3 v1.14.1 stable track with MeshRank uplink.
      MeshRank Repeater Update (Heltec V4 / V4.3)
      Use this if you already have a working Heltec V4 or V4.3 repeater configured via MeshCore and want to add MeshRank uplink without wiping settings.
      Beta track selected.
      Update image
      heltec_v4_repeater-meshrank-v1.17.1.bin
      Full image
      heltec_v4_repeater-meshrank-v1.17.1-merged.bin
      Update offset
      0x10000 (app only)
      Prefer to flash manually? Download the selected firmware files below. The app-only bin preserves settings at 0x10000; the merged image is a full flash image for 0x0.
      Ready to flash.
      3 Connect it to MeshRank
      Register/login, then go to Account → Repeater auth code and click Create auth code. Paste that token below, along with your Wi‑Fi details, then click Send uplink config.
      4 Once online, it will appear in Static observers like any other observer.
      Direct MQTT uplink
      Already running meshcoretomqtt? No MeshRank account is needed to start. The node public key keeps the observer identity stable if you register it later.
      1 Add the MeshRank preset
      Command
      sudo install -d -m 0755 /etc/mctomqtt/config.d
      sudo curl -fsSL https://meshrank.net/meshcoretomqtt/meshrank.toml -o /etc/mctomqtt/config.d/10-meshrank.toml
      sudo systemctl restart mctomqtt
      2 Start sending
      Packets are sent anonymously under the node public key. The observer appears automatically; no shared upload key is used. /packets is required; /status is optional.
      3 Register it when ready
      Log in, open Account → Observer Setup → MQTT observer registration, create a key and add the generated [[broker]] override to /etc/mctomqtt/config.d/99-user.toml. Restart mctomqtt; the existing observer is attached to your account without changing its public-key identity.
      Gessaman MQTT observer firmware

      The firmware's built-in meshrank preset uses your account token, unlike the anonymous meshcoretomqtt preset above. Create a key in Account → Observer Setup → MQTT observer registration. Do not leave the token blank.

      Choose an unused, supported broker slot. This example uses slot 3 and leaves your other brokers unchanged:

      set mqtt3.preset meshrank
      set mqtt3.token YOUR_MESHRANK_UPLINK_TOKEN
      get mqtt.status

      Firmware broker and slot limits

      Mobile Observer (phone app)
      The MeshRank Mobile Observer app pairs to your MeshCore node over BLE and lets you go out and see where your own repeater is really being heard, while at the same time feeding that coverage back into useful shared data for everyone else. Repeater owners get a clearer view of their span of control, and every passive upload helps build the wider picture too.
      Your node listens locally and uploads over the internet later, so the coverage reporting stays passive instead of adding extra mesh traffic.
      2 Pair the app to your MeshCore node over BLE, then walk or drive your route. Packets are buffered on the phone and uploaded over the internet when you're back online.
      3 All we ask in return:
      1. Join our Discord — discord.gg/2QpMBP88Dp
      2. Be patient — this is a one-person development effort.
      3. Send feedback, ideally with concrete recommendations on what to improve.
      Thanks to M0FXB for this video showing how to setup a MeshRank.net Observer
      Please make sure to check out his other videos on all things Ham/tech and Drones.
      Static Observers This data was last updated --
      Observers --
      Active 24h --
      Packets 24h --
      Running observer rank, please hold…
      Room Rank --
      Loading room rank…
      Repeater ID Clashes --
      Total repeaters: --
      Prefixes used: --/256
      Most common: --
      Set Observer Location
      Observer: -- Lat/Lon: --
      Set Repeater Location
      Repeater: -- Lat/Lon: --
      Local Neighbors
      Mutual
      Incoming
      Outgoing
      Hop 1 (expand)
      Lines show confirmed multibyte repeater links seen in validated routes and multibyte-matched hop 0 packets over the last 7 days.
      Become a Radio Amateur Loading clubs...

      Start with a local club

      Amateur radio is easiest to get into when you can talk to people nearby. Local clubs can explain the Foundation route, help with training, and introduce you to operators already building RF communities around you.

      • Watch the video for the licensing process and what to expect.
      • Find a nearby club on the map or use a national club if you are online-first.
      • Ask about Foundation training, exam support, and beginner-friendly nets.
      • Affiliate with clubs you are part of so MeshRank users can see where the community is growing.
      Local club map --

      Create a club listing

      Local clubs

      Loading local clubs...

      National and online clubs

      Loading national clubs...
      Why MeshRank?

      Why MeshRank?

      Mesh networks promise resilience, but in their early stages they often struggle with something more basic: confidence.

      With MeshCORE, new repeaters are frequently deployed into sparse or growing networks. When messages don’t appear to move - or there’s no clear feedback - operators naturally assume the repeater isn’t helping. Too often, it gets switched off, and the network loses coverage just when it needs it most.

      MeshRank exists to answer one question early mesh networks struggle with: “Is this helping?”

      By giving honest, low-impact feedback, MeshRank helps good repeaters stay online long enough for the mesh to become truly resilient. MeshRank exists to change that experience.

      It provides visibility into how the mesh is actually performing:

      Which repeaters are active and contributing over time. Which messages were delivered, with a confidence score rather than guesswork. Where messages were observed but failed to fully propagate.

      This feedback loop keeps operators engaged and informed, even when the network is still maturing.

      MeshRank uses a passive observer network to provide insight without increasing mesh traffic. By reducing the need for repeated test messages, it lowers network load while giving users meaningful information about what’s happening behind the scenes.

      Repeaters are ranked based on real contribution, not assumptions - encouraging operators to keep nodes online, improve placement, and actively strengthen the network.

      MeshRank doesn’t replace the mesh, and it doesn’t route traffic through the internet. It simply helps the mesh understand itself.

      Visibility builds confidence. Confidence builds resilience.

      Frequently Asked Questions

      Does MeshRank route messages over the internet?

      No. MeshRank does not forward, relay, or complete mesh messages using the internet. All mesh communication still happens entirely over RF. MeshRank only observes what has already occurred and reports that information back to users.

      Does this break the idea of a “pure” mesh?

      No. The mesh remains fully autonomous and functional without MeshRank. If MeshRank disappeared tomorrow, the mesh would continue to operate exactly as it does today. MeshRank does not participate in routing decisions, message delivery, or network control - it provides visibility, not dependency.

      Why involve the internet at all?

      Because feedback matters. In early and sparse networks, lack of feedback causes repeaters to be switched off, not improved. MeshRank uses off-mesh observation to help operators understand what’s happening without increasing RF traffic or adding test spam to the network. This strengthens the mesh - it doesn’t weaken it.

      Could this become a central point of failure?

      No. MeshRank is not in the message path. It cannot block, delay, or interfere with mesh traffic. If MeshRank goes offline, the mesh continues to operate unchanged. There is no reliance on MeshRank for delivery, routing, or authentication.

      Does this reduce resilience by encouraging internet dependence?

      Quite the opposite. MeshRank encourages: better repeater placement, higher uptime, reduced test traffic, and faster identification of coverage gaps. All of these increase RF-only resilience, even when the internet is unavailable.

      Is this surveillance or message tracking?

      No. Observers do not inject traffic or control the network. They report limited metadata needed to understand propagation - not to monitor users. The goal is network health, not message content analysis.

      Why ranking repeaters? Isn’t that gamification?

      Yes - intentionally. Visibility and motivation matter. Ranking makes contribution measurable, encourages operators to keep repeaters online, and helps the network grow during its most fragile phase. Strong networks are built by engaged operators.

      What happens when the mesh becomes dense and mature?

      MeshRank becomes less critical - and that’s a success. As density increases, confidence becomes self-sustaining. MeshRank’s role naturally shifts toward diagnostics, optimisation, and historical insight rather than reassurance.

      So what is MeshRank really for?

      MeshRank exists to answer one question early mesh networks struggle with: “Is this helping?” By giving honest, low-impact feedback, MeshRank helps good repeaters stay online long enough for the mesh to become truly resilient.

      Why isn’t my repeater on the map?

      Two things have to be true: (1) your repeater must be advertising its GPS location in its self-adverts, and (2) at least one MeshRank observer must be in RF earshot to hear the advert. Quick checks:

      • On the repeater, set name, lat, lon and enable the flooded advert (most builds expose advert send + advert flood). Confirm coordinates are non-zero.
      • Send a flooded self-advert from the repeater (CLI: advert send 1) and wait 2–3 minutes for an observer to relay it.
      • Open MeshMap with the right region selected. If still missing, check whether any observer near you reported any packets in the last 24 h on Static Observers.
      • If there is no observer nearby, consider setting one up on the Become an Observer page — without an observer in earshot of your repeater, MeshRank can’t see it.
      My dedicated MeshRank observer has no admin login — how do I connect to it?

      You can’t — by design. The Heltec V3 “Observer node” firmware is single-purpose: it boots, joins Wi-Fi, listens, and uploads. There’s no companion screen, no admin password, and no Bluetooth admin shell. All configuration (Wi-Fi, location, name) happens through the web flasher during step 3 of Become an Observer.

      If you want a node you can also log into and manage, switch to the Repeater Observer or Direct MQTT options instead — those use the full MeshCore firmware with the MeshRank uplink on top.

      Terms of Use
      Privacy Policy (UK)
      Rank V2 —
      Click the map to add polygon vertices. Double-click (or click Done) to close the region.
      Loading rank data…

      Observer coverage information

      Observer coverage details will appear here.

      Email for Heltec V3