Configuration
MeshCore Guides
Companion settings that matter
- Name: public, visible to everyone in advert range. Pick something you are happy to broadcast.
- Region preset: must match the local mesh exactly. Frequency, bandwidth, and spreading factor all have to agree for radios to hear each other.
- Transmit power: defaults are sensible. Raising it is the weakest range lever (see Range Expectations) and your region's legal limit still applies.
- Location: optional in adverts. Fixed infrastructure benefits from accurate coordinates (it lands on the map and helps others aim antennas). Your pocket node does not need to broadcast your position; leave it off if that bothers you.
Adverts
An advert is how a node exists publicly: name, public key, optional location, signed by the node. Two flavors matter in practice: a zero-hop advert reaches only direct radio neighbors, and a flooded advert is relayed across the mesh. Flood occasionally (after setup, after moving, after renaming), not constantly. Everything you send after that rides on the paths the mesh learned from adverts.
Channels and encryption
Direct messages are end-to-end encrypted using the two nodes' key pairs. Channels are AES encrypted with a shared key, and they come in three practical flavors:
- The public channel: the default channel every node ships with. Shared by everyone running the defaults; treat it as open air.
- Private channels: a channel with a generated key, shared with your group as text or QR code. Exactly as private as your handling of the key.
- Hashtag channels: joined by name (enter the same
#name, land on the same channel). Convenient for ad hoc groups, and only as private as the name is obscure.
Know the delivery semantics: channel messages are broadcast in the moment, like a voice transmission on ham or GMRS radio: if your radio was not on and listening when it went out, it is gone. A node that is powered off or out of range when a message goes by simply misses it; there is no retransmission for channels (that store-and-forward behavior is what room servers are for). Your node does hold the channel messages it hears while you are away from your phone, and hands them over when BLE reconnects, so the node being on and in range is what matters, not the phone being in your hand.
Repeaters
Repeaters have no phone pairing. You administer them over the mesh (or a USB serial console) after authenticating with the repeater's admin password: set the name, coordinates, and radio settings, and query status remotely with the app's remote administration or meshcore-cli. Two operational notes:
- Set a real admin password at deployment. The admin interface is reachable over the mesh by design; the password is the fence.
- Placement is the whole job. A repeater in a window helps a house; a repeater on a ridge helps a county. Height first, antenna second, per the antenna guide.
Room servers
A room server is a message board with store-and-forward: members post to the room, and the room delivers held messages when a member reconnects, so offline does not mean missed. Within limits: the room holds a fixed-size buffer of recent messages and overwrites the oldest as new ones arrive. Reconnect after a day and you get what you missed; reconnect after a month and you get whatever is still in the buffer. It is a message board, not an archive. Rooms have an admin password for management and a join mechanism for members. Run one where it has good coverage and stable power; a room that flaps is worse than no room.
Clocks
Message timestamps come from the node's clock, and most boards have no battery-backed RTC, so a power loss means the time is gone. Do not assume pairing with a phone fixes it: nodes can carry a wrong clock long after being paired and used. Check the time explicitly and set it explicitly. meshcore-cli has clock to read it, clock sync to set it from the connected computer, and time <epoch> to set it directly; repeaters and room servers accept the same clock commands through their remote admin console. Re-sync after any outage: a room server with a wrong clock stamps every held message with nonsense times, and you will notice.