Understanding Channels and PSKs
Overview
Meshtastic supports up to 8 simultaneous channels (index 0–7). Channel 0 is the primary channel; channels 1–7 are secondary channels used for specific groups or purposes.
Channel Anatomy
Every channel has three defining properties:
- Name – a human-readable label used to match channels between nodes.
- PSK (Pre-Shared Key) – a 32-byte AES key used to encrypt and decrypt messages on that channel.
- Role – either
PRIMARYorSECONDARY.
AES-256-CTR Encryption per Channel
Each channel is encrypted independently with AES-256-CTR using its PSK. All nodes that possess the matching name and PSK can decrypt traffic on that channel. Relay nodes forward ciphertext blindly — they do not need the PSK to relay packets, only the destination nodes need it to decrypt.
The Default "LongFast" Public Channel
The default LongFast channel uses a well-known, publicly documented PSK — it is intentionally not secret. Any Meshtastic device running stock firmware with default settings can read messages on this channel. It exists as a shared public mesh for interoperability.
Creating a Private Channel
To create a private channel, set a custom name and generate a random PSK. Messages on that channel are unreadable to any node that does not possess both the correct name and PSK. Share access via QR code (see page 2).
Channel Roles
- PRIMARY – the node broadcasts NodeInfo, position packets, and telemetry on this channel. There is exactly one primary channel per node (index 0).
- SECONDARY – carries only messages explicitly addressed to or sent on that channel. No automatic position or telemetry broadcasts.
Running Multiple Channels Simultaneously
A single node can participate in up to 8 channels at once. The node relays traffic for every channel it is configured with, regardless of whether it can decrypt it. This makes it possible to bridge a private club channel and the public mesh on the same hardware — the node relays both transparently.
Channel Index 0 vs. Named Secondary Channels
Index 0 (the primary channel) carries the majority of mesh traffic: NodeInfo, position, telemetry, and general messages. Indices 1–7 carry traffic only for the specific groups or functions those channels are assigned to. Most community deployments use channel 0 for public connectivity and one or more secondary channels for group communications.
No comments to display
No comments to display