1 - Overview
What Tri-Cities Mesh is and how the network works.
What is Tri-Cities Mesh?
Tri-Cities Mesh is a community-run, off-grid messaging network for Kingsport, Johnson City, and Bristol. It runs on MeshCore, open-source firmware for small, low-power LoRa radios. Messages hop from radio to radio across miles of terrain, without cell towers, internet, or subscriptions.
People use it for hiking and outdoor trips, community events, emergency preparedness, and learning about radio.
How it works
Radios on a MeshCore network each have a role:
- Companions are personal radios that pair with the MeshCore app on a phone or computer. They send and receive messages but don’t relay other people’s traffic.
- Repeaters are always-on radios at high spots. They relay messages and form the backbone of the network.
- Room servers are small bulletin boards on the mesh. They hold posts for people who were offline.
Because only repeaters relay traffic, the network stays quiet and reliable even as more people join.
Why it matters
- Resilient. It works when the power, cell service, or internet is down.
- Community-powered. Each repeater someone hosts extends coverage for everyone.
- Affordable. A radio costs about $20–40 and there are no fees.
- Educational. It’s a hands-on way to learn about RF, antennas, and networking.
MeshCore is built for short text messages, not voice, photos, or streaming.
What’s next?
2 - Getting Started
Get a MeshCore radio on the Tri-Cities mesh, from buying hardware to sending your first message.
This guide takes you from no radio to chatting on the Tri-Cities mesh. Most people finish in under an hour.
Coming from Meshtastic?
MeshCore and Meshtastic can’t talk to each other, even on the same hardware. Most Meshtastic radios can be reflashed with MeshCore. See Coming from Meshtastic for what’s different.
1. Get a radio
You need a LoRa radio that MeshCore supports, for the US 915 MHz band. Some good options:
| Radio | Good for | Notes |
|---|
| Heltec V3 / V4 | First radio, tinkering | Cheap, with a small screen. Needs a battery or USB power. |
| RAK WisMesh Pocket / Tag (RAK4631) | Carrying with you | Very low power draw, so batteries last for days. |
| Seeed Wio Tracker L1 Pro / SenseCAP T1000-E | Carrying with you | Rugged and pocket-sized, with GPS. |
| Seeed SenseCAP Solar Node P1 Pro | Solar repeater | Weatherproof, with solar and battery built in. |
| LilyGO T-Deck Plus / T-Lora Pager | Using without a phone | Built-in keyboard and screen. |
The MeshCore flasher lists every supported device. If a radio isn’t on the list, check before you buy.
Antennas matter
Always connect the antenna before powering a radio on. Transmitting without one can damage it. A better antenna usually helps range more than any setting does.
2. Flash MeshCore
- Open flasher.meshcore.io in Chrome or Edge on a computer.
- Plug the radio in over USB and choose your device.
- Choose the firmware type:
- Companion (Bluetooth) to use your phone. This is the right choice for most people.
- Companion (USB) to use a computer.
- Repeater or Room Server if the radio will be a fixed, always-on site. See Running a repeater.
- Click flash and wait for it to finish.
3. Install the app
The MeshCore app runs on:
Pair the app with your radio over Bluetooth, or over USB for the web and desktop app.
4. Use the Tri-Cities radio settings
The Tri-Cities mesh uses the standard USA/Canada (Recommended) preset. In the app, open your radio’s settings and pick that preset. To set it by hand, use these values:
Frequency, bandwidth, and spreading factor must match the rest of the mesh, or you won’t hear anyone. Radios configured over USB serial can use this command:
set radio 910.525,62.5,7,5
While you’re in settings:
- Name: something people will recognize, such as your callsign or first name plus town.
- Location: optional. Share it if you want to show up on the map. Use an approximate position if you’d rather not be exact.
5. Say hello
- Send an advert. This announces your radio to the mesh so others can find you.
- Open the Public channel and say hi. Tell people roughly where you are.
- Check your contacts list. Repeaters and other users show up there as their adverts reach you.
- To message someone directly, open their contact. Direct messages are end-to-end encrypted.
If you don’t hear anything, you’re probably out of range of a repeater for now. Try somewhere higher, near a window, or outdoors, and ask in our Discord for the nearest repeater.
Running a repeater
Repeaters are what make the mesh work. If you have a high spot with power and you’re willing to leave a radio on 24/7, a repeater is the best thing you can add.
- Location beats everything. Height and a clear view toward town matter more than radio power.
- Power. USB, PoE, or solar with a battery. Solar setups need enough battery to get through a few cloudy days.
- Weatherproofing. Use an outdoor enclosure, sealed cable glands, and a properly mounted external antenna.
- Setup. Flash the Repeater firmware, then configure it over USB with the MeshCore config tool. Set the US preset and a name, and set an admin password. After that you can manage it remotely from the app.
- Tell us about it. Submit your node so we can track coverage and feature it.
Not sure where to start? Email [email protected]. We’re happy to help pick a site and gear.
Learn more
3 - Coming from Meshtastic
Why Tri-Cities Mesh moved to MeshCore, and what changes for you.
Tri-Cities Mesh started on Meshtastic. In 2026 the community moved to MeshCore. This page covers what’s different and how to switch.
Why we switched
Meshtastic is a great project and got a lot of us into LoRa mesh. As the local network grew, we wanted a design that scales better over our hills and valleys:
- Repeaters do the relaying. In Meshtastic, nearly every radio rebroadcasts what it hears, which crowds the airwaves as the mesh grows. In MeshCore, only dedicated repeaters relay. Phones and handheld companions don’t.
- Direct messages find a route. The first message to someone is flooded, and after that MeshCore sends DMs along a known path, so they don’t hit the whole mesh each time.
- Room servers. Built-in bulletin boards keep messages for people who were offline.
- Easy remote management. You can check on and configure repeaters from the app over the air.
What changes for you
The two networks can’t talk to each other, so a Meshtastic radio won’t see MeshCore traffic and MeshCore radios won’t see Meshtastic traffic.
| Meshtastic | MeshCore |
|---|
| Your phone’s radio | Usually relays traffic | A companion that doesn’t relay |
| Fixed relays | Router / Client roles | Repeater firmware |
| Radio settings | LongFast, etc. | USA/Canada preset: 910.525 MHz, BW 62.5, SF7, CR5 |
| Identity | Node number (!abcd1234) | A public key (contacts show a short prefix) |
| App | Meshtastic app | MeshCore app |
Reflashing your radio
Most common Meshtastic hardware, including Heltec V3, RAK4631, T-Beam, T-Echo, and Seeed trackers, runs MeshCore too.
- Write down anything you want to keep from your Meshtastic settings, such as the name and channel keys.
- Open the MeshCore flasher, pick your device, and choose Companion, or Repeater if it’s a fixed site.
- Follow Getting Started from step 3.
Fixed Meshtastic nodes
If you host a fixed Meshtastic router on a roof or tower, reflashing it as a MeshCore repeater is one of the most helpful things you can do. Please let us know once it’s converted so we can update the node directory.
4 - Contributing to this site
How to suggest changes to tricitiesmesh.net.
This site is open source and lives on GitHub. It’s built with Hugo and the Docsy theme. Pages are written in Markdown.
Small fixes
Spotted a typo or something out of date? Use the Edit this page link on any docs page. GitHub will walk you through forking the repo and opening a pull request.
Bigger changes
- Fork the repo and create a branch.
- Run the site locally with
npm install and then hugo server. See the README for details. - Content lives in
content/en/. Node pages are in content/en/nodes/<NAME>/index.md. - Open a pull request. Every change is reviewed before it goes live.
Reporting a problem
Not sure how to fix it yourself? Open an issue or email [email protected].