The configuration options for channels include Index, Roles, and Settings. Channel configuration utilizes an admin message that sends a Channel protobuf, which contains either a ChannelSettings or ModuleSettings protobuf.
Note: Channel Settings (described on this page) should not be confused with Modem Preset Settings.
Modem Preset Settings consist of the modem configuration, including frequency settings, spreading factor, bandwidth, and more, applicable to the LoRa radio. These settings are consistent across all channels and cannot be unique to individual channels.
In contrast, Channel Settings provide information for organizing message groups, enabling optional encryption, and allowing or disallowing messaging over internet gateways. These settings are unique and configurable for each channel.
Channel Configuration Values
Index
Indexing can not be modified.
| Index | Channel | Default Role | Purpose |
| 0 | 1 | PRIMARY | Used as default channel |
| 1 | 2 | DISABLED | User defined |
| 2 | 3 | DISABLED | User defined |
| 3 | 4 | DISABLED | User defined |
| 4 | 5 | DISABLED | User defined |
| 5 | 6 | DISABLED | User defined |
| 6 | 7 | DISABLED | User defined |
| 7 | 8 | DISABLED | User defined |
NOTE: You cannot have DISABLED channels placed between active channels like PRIMARY and SECONDARY. Active channels must be in consecutive order.
Role
Each channel is assigned one of three roles:
-
PRIMARY (1) This is the first channel created during the initial setup. Only one primary channel can exist and cannot be disabled. Periodic broadcasts, such as position and telemetry, are sent exclusively over this channel.
-
SECONDARY (2) This channel can modify the encryption key (PSK).
-
DISABLED (0) The channel is no longer available for use, and its settings are reset to default.
NOTE: Although you can use a different PRIMARY channel and communicate over SECONDARY channels with the same name and PSK, the hash of the PRIMARY channel's name defines the LoRa frequency slot. This frequency slot determines the actual transmission frequency within the band. To ensure that devices with different PRIMARY channel names transmit on the same frequency, you must explicitly set the LoRa frequency slot.
Channel Configuration Parameters
The Channel Settings options include: Name, PSK, Downlink Enabled, and Uplink Enabled. These channel settings are encapsulated within the Channel protobuf as a ChannelSettings protobuf and transmitted as an admin message.
channel names
A short identifier for the channel. (< 12 bytes)
| Reserved Name | Purpose |
| "" (default) | If left empty on the Primary channel, this designates the default channel. |
| admin | On Secondary channels, the name admin (case sensitive) designates the admin channel used to administer nodes over the mesh. Note that this is a Legacy feature, see Remote Admin for details. |
NOTE: To communicate on the same channel with other devices, matching channel names are essential. For instance, if your device utilizes the channel name LongFast, the device you want to communicate with must also have a channel named LongFast.
PSK
The encryption key used for private channels can be specified as follows: it can be 0 bytes (no encryption), 16 bytes (AES128), or 32 bytes (AES256). The Primary default channel utilizes the hex byte 0x01.
Note: Matching PSKs are necessary for communication on the same channel with other devices. For example, if your device is using a channel with the default PSK of AQ==, the device you wish to communicate with must also have a channel that matches the same PSK.
Downlink Enabled
If enabled, messages captured from a public internet gateway will be forwarded to the local mesh. By default, this setting is false for all channels.
Uplink Enabled
If enabled, messages from the mesh will be transmitted to the public internet via any node's configured gateway. This setting is false by default for all channels.
Channel Configuration Settings
The channel module settings options include position precision. These settings are incorporated into the Channel protobuf as a ModuleSettings protobuf and are sent as an admin message.
Position Accuracy
The position_precision setting allows you to control the level of precision for location data transmitted over a specific channel. This can be important for privacy, as it may be necessary to obfuscate the exact location when sending position data over certain channels.
The position_precision value is an integer ranging from 0 to 32:
-
A value of 0 indicates that location data is never sent over the given channel.
-
A value of 32 means that location data is sent with full precision.
-
Values in between represent the number of bits of precision to be sent, corresponding to a specific position precision detailed in the table below.
-
Please note that the public MQTT server filters out precise positions.
The client applications provide various levels of precision, allowing users to choose from a practical range. You can set values across the full range of integers using the Python CLI. For examples on how to set different levels of precision using the CLI, refer to Setting Position Precision.
| Precision bits | Metric | Imperial |
| 10 | 23.3 km | 14.5 miles |
| 11 | 11.7 km | 7.3 miles |
| 12 | 5.8 km | 3.6 miles |
| 13 | 2.9 km | 1.8 miles |
| 14 | 1.5 km | 4787 feet |
| 15 | 729 m | 2392 feet |
| 16 | 364 m | 1194 feet |
| 17 | 182 m | 597 feet |
| 18 | 91 m | 299 feet |
| 19 | 45 m | 148 feet |
Channel Client Configuration Availability
Android
Channel Config options are available on Android.

The Radio Configuration tab is available for common tasks, including:
-
Viewing your current channel configuration QR code and URL.
-
Quickly creating or modifying your primary channel.
-
Selecting a modem preset for all your channels, such as Long Range or Fast.
For additional instructions on setting up your primary channel, see the Android App Usage section.

Tap "Edit" to access the Channel Menu, where you can:
-
Add, remove, or modify secondary channels.
-
Create or modify encryption keys.
-
Enable uplink and downlink for individual channels.
-
Enable position settings.
-
Set precise location (if position is enabled).
-
Adjust position precision (if precise location is disabled).
Apple
A channel editor is accessible in the iOS, iPadOS, and macOS applications under Settings > Radio Configuration > Channels.
CLI
Tip: As the device will reboot after each command is sent via the CLI, it is recommended to chain commands together as one when setting multiple values in a config section.Example:
| meshtastic --ch-set name "My Channel" --ch-set psk random --ch-set uplink_enabled true --ch-index 4 |
All Channel config options are available in the Python CLI. Example commands are provided below:
Name
Set channel name for the PRIMARY channel
|
# without spaces
|
PSK
If you use Meshtastic for exchanging messages that you don’t want others to see, you should use the random setting. Choosing default or any of the simple values from the following table will utilize publicly known encryption keys. These keys are included with the Meshtastic source code, making it possible for anyone to intercept messages encrypted with them. While they're suitable for testing and public channels, they are not secure for private communications.
| Setting | Behavior |
| none | Disable Encryption |
| default | Default Encryption (use the weak encryption key) |
| random | Generate a secure 256-bit encryption key. Use this setting for private communication. |
| simple0- simple254 | Uses a single byte encoding for encryption |
-
Set encryption to default on PRIMARY channel
| meshtastic --ch-set psk default --ch-index 0 |
-
Set encryption to random on PRIMARY channel
| meshtastic --ch-set psk random --ch-index 0 |
-
Set encryption to single byte on PRIMARY channel
| meshtastic --ch-set psk simple15 --ch-index 0 |
-
Set encryption to your own key on PRIMARY channel
| meshtastic --ch-set psk 0x1a1a1a1a2b2b2b2b1a1a1a1a2b2b2b2b1a1a1a1a2b2b2b2b1a1a1a1a2b2b2b2b --ch-index 0 |
-
Set encryption to your own key on PRIMARY channel (Base64 encoded)
| meshtastic --ch-set psk base64:puavdd7vtYJh8NUVWgxbsoG2u9Sdqc54YvMLs+KNcMA= --ch-index 0 |
-
Disable encryption on PRIMARY channel
| meshtastic --ch-set psk none --ch-index 0 |
NOTE: Use this to copy and paste the base64 encoded (single channel) key from the meshtastic --info command. Please avoid using the omnibus (all channels) code here, as it is not a valid key.
Uplink / Downlink
For configuring gateways, please see MQTT
-
Enable/Disable Uplink on PRIMARY channel
| meshtastic --ch-set uplink_enabled true --ch-index 0 meshtastic --ch-set uplink_enabled false --ch-index 0 |
-
Enable/Disable Downlink on SECONDARY channel
| meshtastic --ch-set downlink_enabled true --ch-index 1 meshtastic --ch-set downlink_enabled false --ch-index 5 |
Configuring Position Precision
This is a per-channel setting. The --ch-index parameter must be specified to set the position precision for a specific channel, e.g., --ch-index 0 for the primary channel or --ch-index 1 for the secondary channel 1.
-
Set position precision to 13 bits (approx ±3 km)
| meshtastic --ch-set module_settings.position_precision 13 --ch-index 0 |
-
Set position precision to full precision (32 bits)
| meshtastic --ch-set module_settings.position_precision 32 --ch-index 1 |
Web
All Channel config options are accessible in the Web UI.
QR code
The Meshtastic QR code (or Channel URL) enables users to quickly share channel and LoRa settings, simplifying the process of configuring multiple nodes with matching communication settings. Scanning a QR code applies all included channel settings and LoRa configuration settings, so make sure to review what these settings encompass before proceeding. Only scan QR codes from trusted sources.
For more details, see:
