Published by Vivian van Zyl in Meshtastic the 12/11/2025 at 10:45 pm
Channels are how nodes in a LoRa mesh talk to each other and decide who can read what. This guide explains channels in Meshtastic, Meshcore, how public and private keys work, why the default channel behaves the way it does, and practical tips for using channels with sensors like motion-based car alarms.
Every Meshtastic node can be configured with one or more channels. One channel is always present by default: the public channel named LongFast. It lives in channel slot zero and uses the short key AQ==. Because that key is common to every device, the app marks the lock icon in orange to indicate low-strength encryption. The traffic on LongFast is encrypted, but with a small, shared key that anyone can use to decrypt messages.
You can create private channels with long, randomly generated keys. For example, a private channel named VIVSOFT will have a much longer key and appear with a green lock in the UI. Anything sent in that channel is forwarded by all nodes on the radio frequency, but only devices that have the channel name and matching key can decrypt the payload. In other words: broadcast on the air, but readable only by those who share the key.
A common point of confusion is the slot number assigned to a channel on a specific device. Slot numbers are local positions in the device’s channel list and do not need to match across devices. What matters is the channel name and the encryption key. A node can have VIFSOFT in slot 0 while another node has it in slot 2. As long as both share the same channel name and key, the receiving node will decrypt the message and place it into its local slot for VIVSOFT.
Motion sensors and other automated sensors typically use channel slot 0 by default. If slot 0 is set to the public LongFast channel, motion alerts broadcast publicly. To keep alarm messages private, set the sensor’s default channel to a private channel and distribute its key only to trusted devices.
In practice, the flow looks like this:
MeshCore follows the same basic model. There is a default public channel where everyone can post messages. Private channels use generated keys and can be shared via QR code or manual entry. The app shows how many repeaters heard a message, which is helpful for troubleshooting reach and hop counts.
The default channel is LongFast (channel 0). It uses the short key AQ== which is shared by all devices for convenience. The UI flags it as orange to indicate weaker encryption—use it for non-sensitive broadcasts only.
Yes. Slot numbers are local. As long as both devices have the same channel name and matching encryption key, they can decrypt messages regardless of the slot index on each device.
Create a private channel with a long, generated key and set the sensor’s default channel to that private channel. Share the key only with trusted devices and regenerate it if a key is exposed.
The principles are the same: a public default channel and user-created private channels secured with keys. MeshCore also provides QR code sharing and shows repeater/heard counts in the app.
Use generated keys and share them via secure methods. In-app QR code sharing is convenient and reduces copy-paste mistakes. Avoid sending keys over unencrypted channels or public messaging services.
Understanding channels in Meshtastic, Meshcore comes down to two things: the channel name and the encryption key. Slots are just presentation. Set defaults thoughtfully, generate strong keys for private traffic, and keep control of those keys to ensure only authorized devices can read your mesh messages.