Skip to main content

Getting Your First Message Through: MeshCore

MeshCore is a newer peer-to-peer LoRa mesh platform that differs from Meshtastic in some important ways. This guide walks you through buying hardware, flashing firmware, and sending your first message - including a plain-language explanation of what makes MeshCore distinct from a beginner's perspective.

Step 1: Buy Compatible Hardware

MeshCore runs on many of the same LoRa development boards as Meshtastic, including:

  • Heltec LoRa 32 v3 - compact, inexpensive ($20 - 25), has a built-in OLED display.
  • LILYGO T-Echo - a sleek device with an e-ink display and GPS, popular for MeshCore "client" nodes.
  • LILYGO T-Deck - has a built-in keyboard, making it usable without a phone for messaging.
  • RAK WisBlock - modular system popular for building infrastructure repeater nodes.
  • Most boards using the nRF52840 or ESP32 + SX1262 chip combination.

As with all North American mesh hardware, make sure your board is rated for 915 MHz. Check the product description for "915MHz", "US915", or "ISM 915".

Step 2: Flash MeshCore Firmware

MeshCore provides its own web-based flashing tool:

  1. Open Google Chrome or Microsoft Edge.
  2. Go to flasher.meshcore.io.
  3. Connect your board to your computer via USB.
  4. Click Connect and select the serial port for your device.
  5. Select your board model from the device list.
  6. Select the firmware variant you want. For most beginners, choose the Companion Radio (client) variant - this is the mode you use when connecting a phone app to the node over Bluetooth)Bluetooth - or Repeater if you are building a fixed relay node. (Note: the exact label for the companion/client variant can vary slightly between the flasher and app versions.)
  7. Click Flash and wait for the process to complete (30usually -a 90minute seconds)or two).

If the serial port does not appear, the same driver fix applies as for Meshtastic: install the CP2102 or CH340 driver depending on your board's USB chip.

Step 3: Install the MeshCore App

  • Android: Search for MeshCore on the Google Play Store, or sideload the APK from files.liamcottle.net/MeshCore (the official GitHubdownload releaseslocation page.linked from the MeshCore FAQ).
  • iPhone / iPad: Search for MeshCore on the App Store.
  • Web client: Available at client.app.meshcore.co.uknz.

Step 4: Configure the USA/Canada Preset

MeshCore uses channel presets to configure frequency, spreading factor, and bandwidth. For North America, you want to set the USA/Canadaregion/frequency preset:to North America (915 MHz):

  1. Open the MeshCore app and connect to your node via Bluetooth (the pairing process is similar to Meshtastic - the node's name will appear in the Bluetooth scan list).
  2. Go to the node settings (gear icon).
  3. Find the Channel or Radio Config section.
  4. Select the USNorth America / US-Canada (915 MHz) preset. The exact wording varies by app version. This configures the node for 915 MHz operation with appropriate spreading factor and bandwidth settings for community mesh use.
  5. Save the settings. The node will apply the configuration and restart the radio.

Step 5: Pair and Send Your First Message

  1. In the MeshCore app, go to the Contacts or Chat tab.
  2. YourNearby nodes appear in Contacts after they send an advert - so your own node will not appear as a contact.contact, Tapand ityou need at least one other node in range to openpopulate the list.
To test with just a single device, post a message to a public channel. To test the radio path end-to-end (a direct messagemessage), thread.you need a second node or another MeshCore user within range. Type a message and tap Send. Your node will transmit it. You will see it appear in the conversation.

Because MeshCore uses a more structured routing approach than Meshtastic, it distinguishes clearly between direct messages (private, sent to a specific node), channel messages (broadcast to everyone on the same channel), and room server messages (routed through a dedicated hub node). For your first test, a direct message to yourself or a broadcast channel message bothis workthe fine.easiest way to confirm your node is transmitting; to test a direct message you will need a second node or a nearby community node in range.

How MeshCore Feels Different from Meshtastic (Beginner's Perspective)

If you have used Meshtastic before, you will notice a few differences:

  • Explicit node roles. In Meshtastic, every node implicitly relays for every other node. In MeshCore, you explicitly configure a node as a client (your personal node, does minimal relaying), a repeater (infrastructure node that forwards traffic), or a room server (a hub for group chat). This makes the network's behavior more predictable and reduces unnecessary transmissions, but requires a bit more intentional planning.
  • Different discovery model. Meshtastic nodes automatically announce themselves and appear in a node list. MeshCore's discovery works slightly differently - you may need to add contacts manually or enable node broadcasting to see nearby nodes.
  • Stronger encryption by default. MeshCore uses elliptic-curve Diffie-Hellman key exchange for direct messages, giving each conversation unique encryption keys. ThisNote that Meshtastic also uses public-key cryptography for direct messages (since firmware 2.5.0); both systems use shared keys for channel (group) messages, so the comparison is morereally mathematicallyabout robustimplementation details rather than Meshtastic'sone shared-keybeing channelbroadly model."more robust" than the other.
  • Less plug-and-play for newcomers. Meshtastic has more polished beginner documentation and a larger US-based community, so it is often easier to get your first message through quickly. MeshCore rewards the extra learning investment with a more controlled network architecture.

What to Check If Nothing Works

The flasher does not detect the device
Try a different USB cable (many cables are charge-only and lack data wires). Try a different USB port. Install the USB-to-serial driver for your board's chip.
The app cannot pair with the node via Bluetooth
Make sure the node is fully booted (wait 10a - 15few seconds after flashing)flashing for it to finish booting). Grant the app Bluetooth and Location permissions on Android. If pairing fails, put the node in pairing mode if required (consult the MeshCore documentation for your board).
Messages are queued but not transmitted
CheckIf thatyour radio settings (frequency / spreading factor / bandwidth) don't match your region's preset, you won't be able to hear or reach anyone - verify the USA/CanadaNorth America (or915 appropriate regional)MHz) preset is configured. Without a valid channel config, the radio will not transmit.applied.
You cannot find other MeshCore users nearby
MeshCore has fewer deployed nodes than Meshtastic in many areas. Check the MeshCore Discord (linked in the app's help section) for your region's activity level, or invite a friend to flash a second node for testing.