Skip to content

Search guides, devices and posts

Guides

MeshCore App Guide: Setup, Contacts, Channels and Repeaters

How to use the official MeshCore app: pairing, radio presets, adverts, contacts, channels, direct messages, repeater login, backups and common fixes.

J
Josh
Updated October 23, 2026 13 min read
On this page

The MeshCore app is how you talk to a MeshCore companion node: it pairs with the radio, sets its frequency, shows who’s on the mesh, and sends your messages. It’s free, it runs on almost everything, and most of what confuses new users comes down to a handful of settings. This guide walks through each part of the app in the order you’ll need it.

It covers the official app by Liam Cottle, version 1.50.0 (September 2026), with companion firmware 1.18.0. Facts here come from the MeshCore FAQ, the app’s own changelog, and the MeshCore protocol docs.

Where to Get It

The app is free on Android and iPhone and iPad. There are also builds for macOS, Windows and Linux, and a web version at app.meshcore.nz that runs in Chrome or Edge.

There’s one paid item, Remote Management ($7.99 on Android and iOS). It removes the waiting timer when you manage a repeater or room server over the radio. Everything else, including messaging, channels and the map, is free. The desktop builds come fully unlocked.

The official app is closed source. If you’d rather use an open-source app, MeshCore Open is a separate community project that works with the same radios.

Before You Connect: The Right Firmware

The app only talks to companion firmware. Repeater and room server firmware don’t accept a phone connection over Bluetooth; you manage those through a companion, covered below.

Companion firmware comes in versions for each connection type, so flash the one that matches how you’ll connect:

  • Bluetooth (BLE) companion for a phone or tablet
  • USB companion for a computer or the web app over a cable
  • Wi-Fi companion on boards that support it

Our MeshCore firmware guide covers flashing, and the release tracker shows the current version.

Connecting to Your Node

The connect screen has tabs for BLE, USB and Wi-Fi. For Bluetooth:

  1. Power on the node and open the app.
  2. Pick your node from the BLE list.
  3. Enter the PIN when your phone asks.

MeshCore app Connect via BLE screen with a banner reading: the default pin for devices without a screen is 123456, and a node named MeshCore-Nodak Mesh M1 ready to connect

For nodes without a screen, the default PIN is 123456, and the app says so at the top of the connect screen. Nodes with a screen show a random PIN on the display instead, as long as you haven’t set your own. You can set a custom PIN in the app’s settings.

If pairing fails:

  • Check the firmware. A node running USB companion firmware won’t show up over Bluetooth.
  • Forget the old pairing. Remove the node in your phone’s Bluetooth settings, then connect again from the app and re-enter the PIN. This fixes most problems after reflashing.
  • Move closer. Some boards, like the Heltec V3, have a small onboard Bluetooth antenna that only reaches a few feet.

For Wi-Fi companions, the app connects over TCP on port 5000. Firmware 1.18 added builds for some boards, including the Heltec V3 and V4, that run Bluetooth and Wi-Fi together, and app 1.50 has a Wi-Fi Settings screen to set them up.

First Setup: Name and Radio Preset

The first time you connect, the app walks you through a short setup: a welcome screen, your name, your radio settings, and done.

MeshCore app Set Name screen showing the node name Nodak Mesh M1 and the note that your name will be shown publicly on the mesh

Your name is public: everyone on the mesh sees it, so don’t use your full name or address. You can change it later in settings.

Pick the preset for your region. In setup, the US option is labeled Canada, USA. Tap the box to see the full list, which shows each preset’s numbers. The app downloads this list from MeshCore’s server, so it stays current without an app update.

MeshCore app Select Radio Settings list, marked as presets suggested by the community, showing Australia, Brazil and Canada presets with their frequency, spreading factor, bandwidth and coding rate

Two that matter most:

RegionPresetSettings
United States and CanadaCanada, USA910.525 MHz, 62.5 kHz, SF7, CR5
Most of Europe and the UKEU/UK (Narrow)869.618 MHz, 62.5 kHz, SF8, CR8

Presets are suggestions, and Show Advanced Settings lets you enter the values by hand. Your node will only hear nodes using the same frequency, bandwidth and spreading factor, so if a local mesh uses something different, match it. Switching to a preset also sets that preset’s path hash size, which matters later.

In Europe, our getting started guide has the country presets and duty cycle rules.

Adverts: How Other Nodes Find You

MeshCore nodes don’t announce themselves constantly. They send an advert, a small packet with their name and public key, and other nodes add them from it. There are two kinds:

  • Zero hop: only nodes that hear you directly get it.
  • Flood: repeaters pass it along across the mesh.

Tap the signal icon at the top of the screen to open the advert menu:

MeshCore app advert menu with three options: Advert Zero Hop, Advert Flood Routed and Advert To Clipboard

  • Advert • Zero Hop reaches nodes in direct range.
  • Advert • Flood Routed goes across the mesh through repeaters.
  • Advert • To Clipboard copies your advert so you can paste it to someone directly.

After a fresh setup, send a flood advert so the mesh learns about you.

Adverts can include your location, which is what puts you on the Map tab in other people’s apps when their node hears you. Location sharing is a setting you can turn on or off. Leave it off if you don’t want your position shared. (The online MeshCore map is separate: it shows repeaters and room servers that someone has uploaded, and the app opens it from Internet Map in the menu.)

MeshCore app Map tab showing repeaters across Fargo and West Fargo, each labeled with its name and how long ago its last advert was heard

The Map tab plots every contact your node has heard with a location. An age like “9792d” means that repeater’s clock was never set, so its adverts carry a date around January 2000.

Contacts

The main screens are Contacts, Channels and Map, along the bottom. Settings are under the gear icon, and the ⋮ menu holds the rest:

MeshCore app menu with Disconnect, Add Contact, Add Channel, Discover Contacts, My Contact Code, Internet Map, Tools and About MeshCore

Every node you’ve heard an advert from can become a contact. Each contact is one of four types: companion, repeater, room server or sensor, and repeaters show a tower icon. Each row shows when its last advert was heard and whether it came by flood. Discover Contacts in the menu lists recent adverts so you can add nodes by hand.

MeshCore app Contacts tab listing nineteen contacts, mostly repeaters named after street intersections, each with its public key and the time of its last advert

By default the app can add contacts automatically as adverts come in. In settings you can choose which types it adds and limit it to nodes within a set number of hops, which keeps a busy mesh from filling your list with distant repeaters.

That matters because the contact list has a limit, and a full list can stop new nodes from reaching you. The app now warns you when it’s full. To clean up, long-press in the contacts list to select and delete several at once. When you purge contacts, you can keep your favorites.

To share a contact, use its share option to send a link or show a QR code. Your own code is under My Contact Code in the menu. The other person scans it, or opens the link, and your node is added without waiting for an advert.

Channels

Channels are group chats. There are three kinds, and the difference matters for privacy:

  • Public: the default channel everyone has. Its key is fixed and published, so anyone can read it.
  • Hashtag channels (like #nodakmesh): the key is made from the channel name. Anyone who knows the name can join and read it, so they’re for communities, not secrets.
  • Private channels: use a random secret key, shown with a lock icon. Only people you give the key or QR code to can read them.

To join a hashtag channel, choose Add Channel in the menu and type its name:

MeshCore app Create Channel screen with the channel name #nodakmesh entered and a note that hashtag channels are public and anyone can join by entering the same name

The app reminds you that hashtag channels are public. Channel names can use a to z, 0 to 9 and hyphens.

Every channel also has a share screen with a QR code and its secret key. For a hashtag channel that’s harmless, since the key comes from the name anyway. For a private channel, that screen is the secret: only show it to people you want in the channel.

MeshCore app Share Channel screen for #nodakmesh with a QR code, the channel secret key and a note that anyone with the secret key can send and receive messages in this channel

You can join a channel by scanning its QR code, even with your phone’s normal camera app.

Every channel message floods the mesh, so it goes out through every repeater in range. The app shows how many repeats it heard for each message you send. If it heard none, there’s a button to resend.

Direct Messages

Direct messages are end-to-end encrypted between you and the other node. They’re also smarter about routing than channel messages:

  1. The first message to a contact floods the mesh to find them.
  2. The delivery report comes back with the path it took.
  3. Later messages go direct along that path, which uses far less airtime.

MeshCore app direct message thread with a contact three hops away, showing a sent message marked Delivered and a message box with a 0 of 150 character counter

The chat header shows how many hops away the contact is, and a sent message is marked Delivered once the other node confirms it. The message box counts characters as you type, up to 150.

If a path stops working, the app retries along it, then falls back to flooding on the last attempt. That fallback is on by default and can be turned off. To choose for yourself, long-press Send to pick direct or flood for one message.

If messages to someone keep failing, reset the path from the contact’s settings so the next message floods and finds a fresh route.

Managing Repeaters and Room Servers

You manage repeaters and room servers from the app through your companion, over the radio. Open the repeater or room server contact and log in:

  • Admin login gives full control. The default admin password is password, so change it on any node you put up.
  • Room server guest login lets members read and post. The default guest password is hello.

MeshCore app Repeater Login screen asking for a password, with a Remember Password option, a Log In Flood button and a note that some repeater owners allow guests to view metrics without a password

The login button shows how it will reach the repeater, like Log In • Flood. Long-press it to switch between flood and direct, which helps for a node several hops away. Passwords can be up to 15 characters, and the app can remember them.

Once you’re logged in, remote management has three tabs: Status, Command Line and Settings.

MeshCore app Repeater Admin Status tab showing battery at 92 percent, the repeater clock, 92 days of uptime, total transmit and receive airtime, last RSSI and SNR, a noise floor of minus 106 dB and packet counts

Status is the health check: battery, the repeater’s clock, uptime, airtime, the signal of the last packet heard, the noise floor and packet counts. Command Line runs the same commands as over USB. Settings covers the rest:

MeshCore app Repeater Admin settings list with Position, Sync Clock, Access Control, Admin Password, Guest Password, Change Identity Key and Manage Regions

  • Position sets where the repeater appears on maps.
  • Sync Clock sets the repeater’s clock from your phone. Do this on any repeater whose adverts show a strange date.
  • Advert and Advert Intervals send an advert now or change how often it sends them.
  • Admin Password and Guest Password set who can log in, and Access Control manages individual users.
  • Manage Regions sets which regions the repeater forwards.

A repeater can also show its neighbours: the repeaters it hears directly, on a map, with the signal of each link.

MeshCore app Neighbours map for a repeater in Fargo, with dashed lines to nearby repeaters each labeled with the link signal-to-noise ratio in dB

Without the Remote Management purchase, there’s a short wait before each remote session. Our repeater setup guide and room server guide cover what to set.

With companion firmware 1.18 or newer, your own companion has a command line too, under Settings. A contact can also be given Remote CLI permission over your companion. Only grant that to someone you fully trust: it lets them change your radio settings and reboot your node. Our companion CLI guide lists every command.

Settings Worth Knowing

  • Path hash size. Larger path hashes (2 or 3 bytes) avoid routing mix-ups on big meshes, but repeaters older than firmware 1.14 drop those packets without telling you. Keep it at 1 byte until most repeaters near you are on 1.14 or newer. Path hash modes explained.
  • Transmit power. Set in the app. Some boards, including the Heltec V4 and Station G2, have power limits of their own, so check your board before turning it up.
  • Telemetry and contact permissions. Control which contacts can request your battery, location and sensor data.
  • Backups. Export Settings saves your node’s identity key, contacts and channels; Import Settings restores them. Do this before reflashing. The file holds your private key, so store it like a password.

Common Problems

Nobody shows up in Contacts. Check that your preset matches the local mesh, then send a flood advert. Other nodes only appear once they send an advert too, so a quiet mesh can take a while. A node with the wrong clock can also fail to show up.

I can’t connect to my repeater over Bluetooth. That’s expected. Repeater firmware doesn’t take phone connections. Log in to it from a companion instead.

New people can’t message me. Your contact list may be full. Delete old contacts or limit auto-add.

Messages to one person keep failing. Reset the path for that contact and send again.

New to MeshCore? Start with our getting started guide, then pick hardware in the MeshCore device guide.

#meshcore #meshcore app #meshcore setup #meshcore channels #meshcore contacts #meshcore repeater #companion #bluetooth pairing #radio presets #meshcore settings

Comments