Frequently Asked Questions¶
General¶
What is MeshMapper?
MeshMapper is a community-driven, web-based RF coverage mapping platform for MeshCore LoRa mesh networks. Users "wardrive" with mobile devices to collect GPS-tagged signal data, which is then visualized on interactive maps showing coverage areas, dead zones, and repeater locations.
How much does MeshMapper cost?
MeshMapper is completely free to use. The platform is community-driven and maintained by volunteers.
How do I get my region added to MeshMapper?
Use the new region form. You need a valid email address and at least one observer sending data to the MeshMapper MQTT broker (see MQTT setup). Linking Discord is optional.
How do I set up an observer?
Choose a method in the MQTT observer setup guide, then configure it to send reports for your region to the MeshMapper broker. Check Region → Observers on your region's map after the first report arrives.
What is a region?
A region is a geographic area on MeshMapper that has its own map, administrators, and settings. Regions are typically centered around a city or metropolitan area. Some regions are grouped into multi-region setups that share a single map view.
My repeater shows as Ambiguous. Why?
As a region's mesh network grows, two repeaters can end up sharing the same short ID. When MeshMapper can't tell a repeater apart from another at the ID width it advertises, it marks it Ambiguous and doesn't credit pings to it. Read more about it here.
Why isn't my repeater showing on the map?
Its advert must be heard by a connected observer, and the repeater needs location coordinates. Check Region → Observers and whether your region requires approval for new repeaters. Follow the repeater troubleshooting steps if it still does not appear.
Does MeshMapper support multibyte?
Yes, MeshMapper fully supports multibyte repeater hops/paths. Read more about it here.
How long does it take for my region to be onboarded?
Once the onboarding form is completed, the MeshMapper servers perform an MQTT verification. This checks that an observer in the region is sending data to the MeshMapper MQTT broker (we also accept data seen on the public LetsMesh broker, which isn't MeshMapper infrastructure). This can take up to 5 minutes. If verification is successful, the region is presented to the MeshMapper administration team for review. The team checks that boundaries are set correctly, reads any notes added during onboarding, determine if the region should belong to a multiregion, etc. Once complete, the region is deployed. As the process after MQTT verification is manual, the time to complete can vary, but typically regions are onboarded in under 24 hours.
Wardriving & Coverage¶
What is wardriving?
Wardriving is the process of traveling through an area while collecting signal data from your mesh network. As you move, the MeshMapper companion app records GPS coordinates alongside signal quality data, building a picture of where your network has coverage.
Why can I only use Passive mode?
Hybrid needs Flood Traffic enabled under Settings → Wardriving → Modes. If your region has disabled flood traffic, ask its administrator. If the zone's TX slots are full, wait for a slot and reconnect. See Wardriving Modes.
What do the different coverage colours mean?
Each colour represents a different type of signal interaction:
- Green (BIDIR) — Two-way confirmed link
- Orange (TX) — Transmitted and routed through the mesh, but no repeats heard back
- Purple (RX) — Heard mesh traffic, but didn't transmit
- Cyan (DISC/TRACE) — A discovery or trace request got a reply
- Grey (DEAD) — A repeater heard it, but no other radio received the repeat
- Red (DROP) — No repeats heard and no successful route
For more detail, see Understanding Visuals.
Do I need the companion app to contribute data?
Yes. The MeshMapper companion app is the primary way to submit wardriving data. It is available for both Android and iOS. See Getting Started for setup instructions.
Does the wardriving app broadcast my location on the mesh?
Not by default. TX pings sent on the #wardriving channel carry a short anonymous token instead of coordinates, and your GPS position travels only to the MeshMapper server over the internet. Anyone listening on the channel sees the token, not where you are. If you want your live position visible on the air (e.g., so local mesh users can follow your drive), enable Broadcast My Coordinates under Settings > Wardriving in the app.
Can I view or delete the data I have contributed?
Yes. Create an account on the My MeshMapper portal, link your companion device (a quick cryptographic proof over USB or Bluetooth), and you can view your sessions, see your own pings on the map, set your leaderboard display name, and delete some or all of your contributed pings. To delete your account itself, contact admin@meshmapper.net.
Why isn't my recent data showing on the leaderboard?
Leaderboards and profile statistics are regenerated about once a day, so new contributions can take up to 24 hours to appear. The coverage map itself updates in near-real-time.
Why does the app show Deferred instead of sending a ping?
Smart Pinging is holding that ping because the square you are in already has recent coverage on the map. The ping is kept, not dropped: it goes out the moment you reach a square with nothing recent, and you are credited for the square you crossed without transmitting. It is on by default. See Smart Pinging, or turn it off under Settings > Wardriving in the app.
In Hybrid mode with Smart Pinging, which ping goes out when I reach a clear square?
Usually the GRP_TXT. Smart Pinging holds only one ping at a time, and Hybrid alternates between the flood GRP_TXT on #wardriving (the TX channel message) and the zero-hop discovery request. Once a GRP_TXT has been held, a discovery request deferred after it never takes its place, so the GRP_TXT is the first ping into the clear square and can paint it green. A discovery request goes out first only if you reach a clear square before any GRP_TXT was held, for example right after starting Hybrid on already covered ground. Hybrid then carries on with the other kind. See Smart Pinging.
Do I lose leaderboard points when Smart Pinging holds a ping?
No. Each square where a ping was held is reported to MeshMapper, checked against the region's own coverage data, and credited at 1.5 points once verified. Verified squares also count toward the Airtime Saver, Airtime God and Airtime Legend awards and the Top Airtime Savers board. Like the rest of the leaderboard, the credit appears after the next daily update.
Do coverage tiles expire when a repeater moves or disappears?
Coverage remains until its underlying pings are removed or filtered out. An admin can enable stale ping cleanup for pings whose repeater moved or vanished, or preview and confirm a one-time purge. A time filter can hide older tiles without deleting their data.
Mobile App¶
Where can I download the MeshMapper app?
The companion app is available on both the Google Play Store (Android) and the Apple App Store (iOS). Search for "MeshMapper" or visit the App Overview page for direct links.
How does the app connect to my MeshCore device?
The app connects to your MeshCore device over Bluetooth, over TCP/Wi-Fi, or over USB on Android. See the Connection Guide for pairing instructions and troubleshooting tips.
How do I join the app beta?
In the MeshMapper Discord server, open Channels & Roles and select Yes for beta testing. Then use TestFlight for iOS or the GitHub APK for Android. Android users can also add MeshMapper to Obtainium to follow prereleases.
How do I claim a repeater I administer?
Sign in to your MeshMapper account in the app, connect your companion, select the repeater on the map, then tap Manage. Sign in with the repeater's admin password and tap Claim. The claim lists your account as a repeater administrator on the map.
Why does the app say my companion is unknown?
The server has not recognized that radio's public key yet. Use the official MeshCore app to advertise the companion on the mesh, wait for an observer to receive it, then reconnect to MeshMapper. Check that you are in an active region with an observer.
Does MeshMapper work with CarPlay or Android Auto?
The iOS Live Activity can appear as a small CarPlay dashboard card on supported iOS versions. There is no full CarPlay map or Android Auto screen in the app. Android audio is designed to duck and release car audio during app sounds.
What happens when I drive across a region boundary?
The app pauses if it is outside every active region. When it enters another region, the server can transfer the active session to that region and the app resumes after zone authentication. A multiregion group provides a shared map for neighboring regions. Keep GPS accurate and watch the zone indicator on a long drive.
Can I wardrive from an airplane?
No. The app blocks or ends wardriving when GPS indicates aircraft travel. The server also flags suspiciously fast uploaded sessions for administrator review. Map an area from the ground instead.
Administration¶
How do I become a region administrator?
For a new region, volunteer in the onboarding form. After approval, you'll receive an invite to set up your admin account. For an existing region, ask its administrator for an invite. If the region has no administrator or that person is unresponsive, ask a Moderator in the MeshMapper Discord for help with access.
How do I change my region boundary?
Open your region's admin panel and go to Settings → Region Boundary. Use Load Boundary for a suitable mapped border, coordinate with neighboring regions, then save your settings. See Defining a Region's Boundary for the steps.
How do I request a multiregion group?
Ask a Global Administrator to create the group or add your region to one. Each region keeps its own data. See Multiregion Groups.
Where can I find my region's administrator?
Open Region Info on your region's map. See Finding Your Region's Administrators for other ways to reach them.
I'm an admin. Where do I manage my region?
Region administrators can manage settings, repeaters, and sessions through the Admin Portal. See Admin Portal for details.
Region setup and access¶
How do I rename my region?
Ask a global administrator to change its display name. The region editor in the global admin panel controls the name; the region's own settings panel does not.
What if my region's administrator is inactive?
Contact a Moderator through the administrator contact guide. A global administrator can grant region access to another verified MeshMapper account, so an inactive administrator does not have to issue the invite.
How do I split or merge regions?
Coordinate the new boundaries with neighboring admins, then ask a global administrator. The global panel can merge whole regions, including their sessions, or move pings within a selected area. An area transfer does not move whole sessions. Changing a boundary alone does not move earlier data.
How big should my region be?
Size it by practical driving access; major hubs can cover a larger area where that makes sense. Drop the pin on your area and use Load Boundary, following county lines where possible, and avoid gaps and overlaps with neighboring regions. Coordinate it with them. Custom drawn or GeoJSON boundaries are for special cases only. The onboarding form checks for substantial overlap, and the MeshMapper team reviews each request. See Region Guidelines and Boundary.
Can I use any three letters as my region code?
No. Pick the IATA code of a recognizable airport with scheduled commercial passenger service near your area. An airport alone isn't a reason for a separate region. The form checks that the code is available and geographically appropriate; it will suggest nearby codes when one is too far away. See Code.
Why does the form say my code is already used or pending?
A code can belong to only one active or pending region. Open that region's subdomain to check its pending status, and contact a Moderator if the request appears stuck. Do not submit another region with a made-up code.
Why did my onboarding submission fail?
Read the error shown by the form. It checks the airport code, region name, email, boundary and overlap with existing regions. Correct the reported field and retry; if the form says you have submitted too often, wait a few minutes.
Does my area already have a region?
Check the MeshMapper region map before starting a request. If a nearby region can reasonably expand to include your area, contact its administrator first. The new-region form checks for overlap with existing boundaries.
My observer is online. Why is onboarding still pending?
The pending request must receive observer reports tagged for its region code through a supported MQTT broker. A connected observer that has sent no matching reports does not complete verification. Check the pending status page and observer setup, then wait for manual approval once verification passes.
Which code should an observer use? Can a region have aliases?
Set the observer's IATA topic to the region code shown in MeshMapper. Each region has one code; a multiregion group joins separate coded regions for a shared map. If you need the code changed, ask a global administrator instead of publishing under an unrelated code.
How do I get a Discord region-admin role?
Admin panel access and the Discord role are separate. The bot assigns the role when a Moderator grants access through the bot, but an email invite may not update Discord. If your admin access works and the role is missing, ask a Moderator to check it.
Why has my admin invite not arrived?
Check the email address used by the inviting admin and your spam folder. The inviter can resend or revoke a pending email invite from the admin panel. Bot-issued invites go by Discord DM, so allow DMs from the server if that route was used.
Why am I no longer listed as an admin?
Sign in with the MeshMapper account that received the invite and check that it was accepted. If the region is absent from that account, ask a global administrator to check its current region access. The admin panel checks current permissions when you open it.
How do admins work in a multiregion group?
A group administrator can work across the group's member regions; a member-region administrator keeps access to that region. Ask a global administrator to grant the group or additional region to the right verified account. See Multiregion Administration.
What if my admin login stopped working after an account change?
Use the portal Forgot password flow or Sign in with Discord for the account you linked. If login succeeds but your region is missing, ask a global administrator to check its access grant. The bot cannot reset an admin password.
Is a separate portal account needed for each region?
No. One verified MeshMapper account can hold access to several regions. The same login works on the portal and on each admin panel you are allowed to use.
Why do my region's wardriving settings revert?
If your region belongs to a multiregion group, its radio presets are controlled by the group and copied to member regions. Change them in the group admin panel, or ask a group administrator. For a standalone region, save the preset in its own Settings tab and check for any save error.
What does the traffic scope setting do?
Wardriving Scope is the scope the app sends its own pings in. Scopes to Monitor controls which scopes the map looks for in heard traffic. The wardriving scope and scopes reported by local repeaters are included automatically; add other scopes only when you need to track them.
Can my region keep wardriving traffic within its own scope?
Set the Wardriving Scope in the region or group admin settings for the radio preset your app uses. This chooses the scope of the app's outgoing pings; Scopes to Monitor only affects what the map tracks and does not constrain those pings.
Why does my region map open in the wrong place?
A single-region map starts at the region's stored centre; a group map starts around its members. Your browser may also remember a zoom level. A region admin can adjust the boundary editor's centre pin; ask a global administrator if the region's stored centre or name needs correction.
Where do I edit my region description, contact details or channels?
Open your region's admin panel and use Settings for the region message, links and public channels. Your own contact details are under User Settings. Ask a global administrator to change the region's display name.
How do I group several companions under one contributor?
Link your own devices to one portal account. They then appear together as one entry on the leaderboards.
Can duplicate leaderboard entries or old device data be merged?
Link the devices you still control to one portal account. If the old device cannot be linked, ask a Moderator on Discord for help. Do not delete an account or device record to try to merge history.
Portal accounts¶
Where do I link Discord, and is it required?
Sign in to the portal, open your account settings, and choose Connect Discord. It is optional for an ordinary account. A Discord-bound admin invite must be accepted while signed in with the invited Discord account.
Why did Discord linking fail?
If the portal says that Discord account is already linked elsewhere, sign in to the other MeshMapper account or ask a Moderator for help. If the sign-in expired or was cancelled, start the connection again from the portal. Do not create a third account to work around it.
Can I merge or remove duplicate MeshMapper accounts myself?
There is no account-merge button in the portal. Pick the account you want to keep and ask a Moderator to review the duplicate before deleting anything. A Discord account and a companion device can each be linked to only one portal account at a time.
Support & Contributing¶
How do I report a bug?
You can report bugs by tagging the MeshMapper bot on Discord with !bug followed by a description, or through the MeshMapper website and mobile app. See Report Bugs & Features for more info.
How do I request a feature?
Tag the MeshMapper bot on Discord with !feature followed by your idea, or through the MeshMapper website or mobile app. See Report Bugs & Features for more info.
Where can I get help if my question isn't answered here?
Try the MeshMapper Wiki first. If you still need help, post in the MeshMapper Discord server. You can also tag the @MeshMapper AI bot directly and it will do its best to answer based on the wiki and its training.
I would like to contribute!
Thank you! Feature requests can be submitted through the MeshMapper AI bot, website, or mobile app (see above). If you would like to help support the costs of development, servers, hosting, etc., you're welcome to do so via BuyMeACoffee. Thank you!
Access to Data¶
Can I export my regions data?
Yes, data can be exported in .csv format through the admin panel.
Can I scrape for data or call your API's?
Unauthorized scraping or access to undocumented API's is strictly prohibited and will result in action being taken to protect MeshMapper's data and servers.
The publicly available APIs are listed here and require a provisioned integration key.
Can I have access to the MeshMapper MQTT broker or raw data?
MeshMapper does not offer a public raw MQTT feed. For tools that need map coverage data, use the documented Coverage API and request an integration key. A region admin can configure a broker that sends observer reports to MeshMapper; that is separate from read access to MeshMapper's collected data.
Is MeshMapper open source? Can I run a local copy?
The MeshMapper wardriving app for Android and iOS is open source. It can also natively be configured to send wardriving data to additional endpoints outside of MeshMapper.
The MeshMapper web interface is not open source and cannot be run locally. The MeshMapper development team has put time, effort, and money into developing a tool that can be used and is accessible to all globally without the requirement/complexity/cost of any per-region/local configuration of code, servers, MQTT engines, hosting, etc. Part of MeshMapper's appeal is global leaderboards and comparing region by region, which is not possible unless made a global platform.