Getting Your First Message Through: MeshCore
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–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:
- Open Google Chrome or Microsoft Edge.
- Go to flasher.meshcore.
ioco.uk. - Connect your board to your computer via USB.
- Click Connect and select the serial port for your device.
- Select your board model from the device list.
- Select the firmware variant you want. For most beginners, choose Companion Radio (this is the mode you use when connecting a phone app to the node over Bluetooth) or Repeater if you are building a fixed relay node.
- Click Flash and wait for the process to complete (
30–30 - 90 seconds).
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 the official GitHub releases page.
- iPhone / iPad: Search for MeshCore on the App Store.
- Web client: Available at client.meshcore.co.uk.
Step 4: Configure the USA/Canada Preset
MeshCore uses channel presets to configure frequency, spreading factor, and bandwidth. For North America, you want the USA/Canada preset:
- 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). - Go to the node settings (gear icon).
- Find the Channel or Radio Config section.
- Select the US / Canada preset. This configures the node for 915 MHz operation with appropriate spreading factor and bandwidth settings for community mesh use.
- Save the settings. The node will apply the configuration and restart the radio.
Step 5: Pair and Send Your First Message
- In the MeshCore app, go to the Contacts or Chat tab.
- Your own node will appear as a contact. Tap it to open a direct message thread.
- 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 both work fine.
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. This is more mathematically robust than Meshtastic's shared-key channel model.
- 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
10–10 - 15 seconds after flashing). 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
- Check that the USA/Canada (or appropriate regional) preset is configured. Without a valid channel config, the radio will not transmit.
- 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.