On this page
1
Flash companion firmware

Go to meshcore.io/flasher, select your hardware, and choose the Companion firmware variant. This is the client/user node — not repeater or observer.

No local toolchain needed. The flasher runs in Chrome/Edge over USB. Connect your device, click Flash, done.

Most common LoRa boards are supported — check the flasher to see if yours is listed.
2
Get the MeshCore app

The app connects to your device over USB or Bluetooth and is how you send and receive messages.

3
Connect your device

Open the app and tap Connect. You can connect via:

USB — plug in with a data cable (not charge-only). Select the serial port when prompted. Most reliable for initial setup.

Bluetooth — put your device in pairing mode (hold the button or use the device menu), then scan in the app. Good for everyday use once configured.

4
Set your name

In the app: Settings → Name. This is what others see when you send messages or appear on the map. Keep it short — callsign, first name, or handle works fine.

5
Configure radio settings

Go to Device → Radio Settings and match these exactly. All nodes on the Palouse region network use the same config — if these don't match, you won't hear anything.

The easiest way: select the US / Canada preset — it sets all three values automatically.

Frequency
910.525
Bandwidth
62.5 kHz
Spread Factor
SF 7
Coding Rate
CR 5
Coding Rate (CR) — the last parameter — does not need to match between nodes and can be tuned independently per device. Leave it at 5 (the default) for most nodes. Higher values add error correction at the cost of airtime:
  • CR 5 (default) — fastest, least overhead. Best for most nodes with decent signal.
  • CR 6–7 — moderate error correction. Useful for marginal links.
  • CR 8 — maximum error correction, slowest. For noisy environments or very long distance hops.
Never change Freq, BW, or SF. CR is the only radio parameter you should consider adjusting.
6
Set path hash size
Strongly recommended. Set this before going on the air — it affects how your node participates in mesh routing.

This matches the 2-byte addressing standard used by all Palouse region repeaters and improves routing efficiency across the network.

In the app: Settings → Experimental Settings → Default Path Hash Size → change from 1 byte to 2 bytes.

Not getting any message repeats? Try dropping this to 1 byte. Some hardware combinations have trouble with 2-byte hashes — switching to 1 byte can restore routing for that node.
7
Verify region visibility

Once you're connected to a repeater, confirm it's advertising region tags. In the app: ⋮ → Tools → Discover Regions.

What you see depends on which repeater you're connected to. Here are the two examples for this region:

Pullman-based repeater (WA-side)

west
  pnw
    wa
      se-wa
        puw
      e-wa
    palouse

Moscow-based repeater (Idaho-side)

west
  pnw
    id
      n-id
        lws
    palouse

Note that palouse shows up as its own branch off pnw — it's a sibling of wa/id, not nested under puw/lws. If nothing shows up, the repeater may not have region tags configured yet — that's normal for newly deployed nodes. Check back or ask in #thepalouse. See the Regions page for a full breakdown of the tag hierarchy.

8
Set your location (optional)

To appear on map.palouse-mesh.net and MeshMapper, your node needs to broadcast a location. You have two options:

GPS — if your hardware has a GPS module (T-Beam, etc.), enable it in Device → Location and wait for a fix.

Manual pin — in the app, drop a pin on the map for your home location. Works on any hardware, no GPS required.

9
Join Palouse Mesh channels

In the app: Channels → + → Join a Hashtag Channel → type the channel name. Start with thepalouse, then add whichever others apply to you.

#thepalouse Primary local channel — general chat, check-ins, coordination. Start here.
#bot-palouse Bot commands — weather, road conditions, ping, and more. DMs to PalBot 🤖 work too.
#wx-palouse Weather reports and conditions for the Palouse area — forecasts, road conditions, and local observations.
#ham Amateur radio operators — callsign exchanges and EMCOMM coordination.
#pnwd Bridge to the Pacific Northwest Digital DMR community.
#emergency Emergency use only — distress, SAR coordination, critical events.
Channel commands are scope-limited. In #bot-palouse (and other channels), PalBot only responds to messages carrying one of these scopes: puw, palouse, e-wa, n-id, se-wa. If your node's carried/default scope isn't one of these, the bot won't respond to your channel commands — even though your message may still reach it. This doesn't affect direct messages: DMs to PalBot work regardless of your node's scope. Check which region tags your repeater advertises in Step 7, or see the Regions page for the full tag hierarchy.

Or visit the Channels page and scan a QR code under Tools → Add Contacts → Scan QR in the app.

10
Send an advert

Your node won't appear on the network map until it broadcasts itself. In the app: Menu → Flood → Advert. This announces your node to the mesh and gets you visible on CoreScope and MeshMapper.

You're on the network. Try saying hi in #thepalouse — someone's usually around. If you're not hearing anything and the radio config looks right, post in the Facebook group or the Signal chat and we can help figure out coverage.

Coming soon: complete recommended settings walkthrough.