Contributing to the MeshCore coverage map
mesh-map -> meshmapper.net
The team at meshmapper.net have onboarded the Seattle area! They have a lot of great features, tools that help
protect the mesh airtime while wardriving, and native wardrive apps! In order to help build the best
coverage map while using the least amount of airtime, I've decided to retire my map and encourage everyone to
start using their tools. I'm working with the team to migrate all the data we've collected so far so we
don't lose any of our hard work. I'll leave this map up, but wardriving is no longer supported.
New docs are on the meshmapper.net wiki.
What is this?
This project maps "effective" coverage of the Puget MeshCore mesh. Your radio can tell
you if a repeater heard you, but that does not show whether your message went further.
MQTT observers confirm where messages are widely received.
The coverage map
is a crowd-sourced view of repeater coverage in the PNW MeshCore mesh.
The main map includes:
- Dots indicate wardrive "pings" or "samples".
-
- Pings show for 1 day, then roll into a coverage tile.
- Green dot - observed ping.
- Orange dot - repeated, not observed.
- Red dot - ping was lost.
- Small purple dot - RxLog sample uploaded.
- Coverage tiles hold stats for the last 15 grouped pings.
-
- Green box - mesh reachable.
- Orange box - mesh not reachable, but pings were heard.
- Red box - mesh not reachable.
- Dark tiles - updated within the past day, no new sample needed.
- Light tiles - could use an update.
- Dashed line - link to 1st hop repeater(s).
- Blue dot - repeater with an advert in the past day.
- Light gray dot - advert in the past 5 days.
- Dark gray dot - no advert in the past 5 days.
How it works
You send your location to #wardrive as "lat.xxxx lon.yyyy". If it is received,
the map records a reachable point. The wardrive web app can also log misses
automatically. A point is "reachable" only if a repeat is observed by MQTT.
WA7JNJ Radio made a
video
overview
of the project and how to get started.
How you can contribute
The easiest way to contribute is to use the
Wardrive app.
It connects to your companion radio and can send ping messages automatically.
It also posts your ping location so misses are logged. Use single pings or
auto mode, which only pings tiles that have not been updated recently. The
app listens for repeats and submits repeater and radio stats, which can help
identify repeaters not reaching the larger mesh.
Passive wardriving helps too: just connect your radio and the app will collect RxLog-based
samples when it hears group traffic. Active pings are best reserved for new areas or testing
a new repeater deployment; in well-covered regions, they add little value. Fewer pings are
better for the mesh, so use auto mode or short bursts instead of constant manual pings.
Leaderboard
The leaderboard counts tiles per day per person, not individual pings. Both active and
passive samples contribute, so you can help just by staying connected. We avoid counting
individual pings to discourage unnecessary flood messages.
Using the Wardrive app
It mostly "just works", but a few things matter:
- If you are using a mobile repeater, use "ignore id" to exclude it from the path.
Otherwise coverage data will be inaccurate.
- Radio statistics (SNR/RSSI) cannot be collected if you're using a mobile repeater.
- You must allow access to Bluetooth and Location in your browser.
- Your companion radio must add the #wardrive channel. The app will help with that.
- It does not work in Safari or most vendor-modded Android browsers.
- On macOS use Edge or Chrome.
- On iOS, use the Bluefy app
- On Android use Edge
or Chrome.
- You have to disconnect from the MeshCore app in order to connect to your radio. BLE only allows one
connection.
- If you're using auto mode, the page must stay foreground and the screen unlocked.
- It tries to keep the screen alive while running, but I've only tested on iOS.
- Auto mode checks every 10 seconds and only pings tiles that need an update (not pinged in the past day).
- Do not spam the mesh or the service. The mesh is a shared resource.
Wardrive app features
- Connects over Web BLE and shows your radio name.
- One-tap ping and auto mode for stale tiles.
- Logs misses as well as observed pings.
- Passive RxLog sampling while connected.
- App logo flashes when RxLog sees flood messages.
- Repeater path + RSSI/SNR stats for heard messages.
- Coverage map, ping history, and clear-history tools.
- Ignore-id support for mobile repeaters.
- Optional sender name for leaderboard entries.
Host an instance for your region?
If you want to set up an instance for your region, you have two options:
- Host your own Cloudflare version by following the
setup instructions.
- Use the self-hosted fork from nullrouten0.
Privacy
The service stores the location you send to #wardrive and the id of the 1st hop repeater.
The web app sends your location to #wardrive and to the service. Logging stays local.
Your companion radio name is sent with your location to #wardrive, which is a public channel.
Optionally, if you want to participate in the leaderboard, you can choose to send your radio name with pings.