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–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.co.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–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–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.
No comments to display
No comments to display