Skip to main content

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 PRIMARY or SECONDARY.

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.