Configuration

MeshCore Guides

Companion settings that matter

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:

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:

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.