Mesh-Hunter Start mapping

FAQ

Short answers about mapping, hunting, accounts and what the map shows.

What is Mesh-Hunter?

A mapping and node-hunting toolkit for MeshCore. The RX webapp logs every packet your companion radio hears, placed with your phone's GPS. The shared map shows every mapper's receptions together, and is where you follow one node's signal to where it transmits from.

How does the map relate to the RX webapp?

The RX webapp is where you map: on your phone, paired with your companion, it shows what your radio hears as you hear it, with the HUD, the sound and a live map of your own receptions. It keeps every reception on the phone and sends it on to the server once it can, so a stretch without mobile data is not lost.

The map is where every mapper's receptions meet. It needs no radio and, for reading, no account: coverage, reach and hunting over everyone's data. The account you make in the RX webapp is the one you log in with on the map, and it shows your own receptions there in full detail.

What do I need to start mapping?

A MeshCore companion radio, and a phone with GPS and a browser that supports Web Bluetooth (see which browser). Open the RX webapp, pair the radio over Bluetooth, and walk or drive. The webapp installs as a PWA: add it to your home screen.

Which browser do I need?

One that supports Web Bluetooth, the browser feature that lets a web page pair with your companion radio. Only the RX webapp needs it; the map works in any browser.

  • Android: Chrome.
  • iPhone and iPad: no built-in browser supports Web Bluetooth, Safari included. Install Bluefy from the App Store, open rx.mesh-hunter.eu in it, and pair as you would on Android.
  • Firefox does not support Web Bluetooth on any platform.
SF7 or SF8: which mesh does my radio map?

The one your companion is set to. The spreading factor (SF) is part of a radio's settings, and a node on SF8 does not hear one on SF7, or the other way round. So there are two meshes side by side.

The RX webapp reads your companion's radio settings (the Status tab shows them under Radio) and names the nodes you hear from the node list of that mesh. The map shows every mapper's receptions, whichever SF their radio was on. To map the other mesh, change your companion's radio settings.

How do I install the RX webapp on Android?

Open rx.mesh-hunter.eu in Chrome, open Chrome's menu and choose Install app or Add to Home screen. It then starts from your home screen like an app, in its own window without the browser's address bar, and upright.

Keep the screen on and the webapp in front while you map: with the screen off or the webapp in the background, the phone stops capturing.

Can the reading stay on screen while I drive?

Yes. The window button in the HUD, beside Ignore, opens the readout: the signal in large type and in its colour, with the node it came from.

  • Android: the readout opens full screen. Switch to your navigation app and it floats on top of it in a small window.
  • A computer: the readout floats in a picture-in-picture window over your other apps.
  • iPhone and iPad: the readout opens full screen.
Do I need an account?

Not to read the map: without one you see all-time coarse coverage and the last 24 hours of individual receptions. An account shows your own receptions in full detail, and it starts with a radio rather than with a sign-up form, which is why it is made in the RX webapp.

  1. Pair your MeshCore companion to the RX webapp over Bluetooth and start mapping.
  2. Register there. The account is made from the companion you paired, which is why the map itself has no sign-up form.
  3. Log in with it on the map. Your own receptions now show in full detail, everyone else's stay coarse and recent.
  4. Ask an admin for member verification. That opens the full history, Locate and the CoreScope layers for everyone's data, not only your own.
Does the map show where my node is?

No. Position is inferred from radio measurements (RSSI/SNR) via mesh topology, not from GPS tracking of any target node. The coordinates stored with each reception are the mapping phone's own position at the moment of reception. The map shows where a mapper was when they heard your node and how well, not where your node stands.

Verified members can run Locate, which works the other way: it estimates where a node transmits from out of the readings around it. That is still an inference from radio measurements rather than a position your node reports, and it lands a few hundred metres out on average, so it is a search area and not a fix.

Who sees what my radio hears?

Every reception you map is published to the shared map. Visitors without an account see it coarse and recent, you see your own receptions in full detail, and verified members see everything.

By default your receptions and the route you drove also go to DutchMeshCore, signed with your companion's key. You can switch that off in the RX webapp, under Manage brokers.

Can I send my receptions to my own MQTT broker?

Yes. In the RX webapp, open the menu, then Status, Manage brokers, and choose Add broker.

  • Give it a name and the broker's WebSocket address, starting with wss://.
  • Sign in with a username and password, or with your companion's key: the companion signs you in, and the key stays on the radio.
  • Under Advanced, Send as picks the format. Wardrive sends your receptions plus your track, for a hunter map. Packets sends one message per reception, the format a Mesh-Hunter server reads.

The webapp connects before it saves, so a wrong address or login shows up at once. A new broker gets what you hear from then on. Every broker that is on gets each reception, and one that is offline catches up later.

Does it cost anything?

No. Mesh-Hunter is run by amateur-radio operators; accounts and member verification are free.

Which nodes can I hunt?

Any node that transmits: a companion, a repeater, a sensor or a room server. Hunting means driving toward where its signal is heard strongest, so anything that transmits can be found.

What does autoping send, and how often?

Nothing until you switch it on: the RX webapp only listens by default. The Discover button on the map turns autoping (auto-discover) on and off. Each cycle sends:

  • one Discover request, a zero-hop broadcast that nearby nodes answer directly;
  • a trace-ping to each repeater you selected as a target, or with no target, to a few of the repeaters it has heard, in turn;
  • with Introduce my node to targets on and a companion as target, your own advert, so that node can hear you and answer.
  • with a target selected, one direct question: a companion is asked for its telemetry, or a repeater for its regions and clock or for its owner. A repeater gets such a question at most once a minute.

A cycle runs every 10 seconds, or sooner once you have moved 50 metres, but never faster than the airtime budget of the band allows. That budget depends on the spreading factor, so at SF8 the cycles sit further apart than at SF7. The Status tab shows the cadence it is on.

Everything is a direct transmission from your companion to nodes in range; nothing is sent through the mesh.

How does Mesh-Hunter relate to the other community tools?

Mesh-Hunter builds on CoreScope, the mesh observatory by ON8AR. The Community section on the front page links the wider ecosystem: the Dutch MeshCore Community, the DMC Triangulator, MC Radar and MeshWiki.

How can I contribute?
  • Map: pair a companion with the RX webapp and walk, cycle or drive. Every reception adds to the shared map, most of all where nobody has mapped yet.
  • Report a bug or ask for a feature in the issues on GitHub.
  • Work on the code: it is on GitHub. Every change starts with an issue; AGENTS.md in the repository explains how the project works.