Channel Configuration
The Channels config options are: Index, Roles, and Settings. Channel config uses an admin message sending a Channel protobufProtobuf (Protocol Buffers). A method developed by Google for serializing structured data, used in Meshtastic for efficient communication protocol between devices. which also consists of a ChannelSettings or ModuleSettings protobufProtobuf (Protocol Buffers). A method developed by Google for serializing structured data, used in Meshtastic for efficient communication protocol between devices..
Channel Settings (as described on this page) should not be confused with Modem Preset Settings
Modem Preset Settings contain the modem configuration (frequency settings, spreading factor, bandwidth, etc.) used for the LoRaLoRaA low-power, long-range wireless communication technology used by Meshtastic devices to enable communication over distances of several kilometers without the need for cellular, Wi-Fi, or other traditional network infrastructures. radio. These settings are identical for all channels and can not be unique per channel.
Channel Settings contain information for segregating message groups, configuring optional encryption, and enabling or disabling messaging over internet gateways. These settings are unique and configurable per channel.
Channel Config Values
Index
The channel index begins at 0 and ends at 7.
Indexing cannot 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 |
You can not have DISABLED channels in-between active channels such as PRIMARY and SECONDARY. Active channels must be consecutive.
Role
Each channel is assigned one of 3 roles:
PRIMARYor1- This is the first channel that is created for you on initial setup.
- Only one primary channelPrimary ChannelThe channel used for a node's default traffic and its name in the mesh. It's channel 0, and its name helps set the node's frequency slot. can exist and cannot be disabled.
- By default, periodic broadcasts like position and telemetry are sent over this channel.
SECONDARYor2- Can modify the encryption key (PSKPSK (Pre-Shared Key). A secret code or passphrase used in Meshtastic channels for encryption, ensuring that only devices with the matching PSK can communicate within that specific channel.).
DISABLEDor0- The channel is no longer available for use.
- The channel settings are set to default.
While you can have a different PRIMARY channelPrimary ChannelThe channel used for a node's default traffic and its name in the mesh. It's channel 0, and its name helps set the node's frequency slot. and communicate over SECONDARY channels with the same Name & PSKPSK (Pre-Shared Key). A secret code or passphrase used in Meshtastic channels for encryption, ensuring that only devices with the matching PSK can communicate within that specific channel., a hash of the PRIMARY channelPrimary ChannelThe channel used for a node's default traffic and its name in the mesh. It's channel 0, and its name helps set the node's frequency slot.'s name sets the LoRaLoRaA low-power, long-range wireless communication technology used by Meshtastic devices to enable communication over distances of several kilometers without the need for cellular, Wi-Fi, or other traditional network infrastructures. frequency slotFrequency SlotThe numbered frequency within a region's band that a node transmits on. Nodes must use the same frequency slot to hear each other. When it's left at 0, most regions pick the slot from a hash of the primary channel's name., which determines the actual frequency you are transmitting on in the band. To ensure devices with different PRIMARY channelPrimary ChannelThe channel used for a node's default traffic and its name in the mesh. It's channel 0, and its name helps set the node's frequency slot. name transmit on the same frequency, you must explicitly set the LoRaLoRaA low-power, long-range wireless communication technology used by Meshtastic devices to enable communication over distances of several kilometers without the need for cellular, Wi-Fi, or other traditional network infrastructures. frequency slotFrequency SlotThe numbered frequency within a region's band that a node transmits on. Nodes must use the same frequency slot to hear each other. When it's left at 0, most regions pick the slot from a hash of the primary channel's name..
Unless the frequency slotFrequency SlotThe numbered frequency within a region's band that a node transmits on. Nodes must use the same frequency slot to hear each other. When it's left at 0, most regions pick the slot from a hash of the primary channel's name. is set explicitly, renaming the PRIMARY channelPrimary ChannelThe channel used for a node's default traffic and its name in the mesh. It's channel 0, and its name helps set the node's frequency slot. moves a node off the frequency slotFrequency SlotThe numbered frequency within a region's band that a node transmits on. Nodes must use the same frequency slot to hear each other. When it's left at 0, most regions pick the slot from a hash of the primary channel's name. the rest of its area is using. Keeping private groups on SECONDARY channels avoids that, as covered in Joining your local mesh.
Channel Settings Values
The Channel Settings options are: Name, PSKPSK (Pre-Shared Key). A secret code or passphrase used in Meshtastic channels for encryption, ensuring that only devices with the matching PSK can communicate within that specific channel., Use AEAD, Downlink Enabled, Uplink Enabled, and Mute. Channel settings are embedded in the Channel protobufProtobuf (Protocol Buffers). A method developed by Google for serializing structured data, used in Meshtastic for efficient communication protocol between devices. as a ChannelSettings protobufProtobuf (Protocol Buffers). A method developed by Google for serializing structured data, used in Meshtastic for efficient communication protocol between devices. and sent as an admin message.
Name
A short identifier for the channel. (< 12 bytes)
| Reserved Name | Purpose |
|---|---|
"" (default) | If left empty on the Primary channelPrimary ChannelThe channel used for a node's default traffic and its name in the mesh. It's channel 0, and its name helps set the node's frequency slot., this designates the default channel. |
admin | On Secondary channels, the name admin, in any letter case, designates the admin channel used to administer nodes over the mesh. It works only when Admin Channel Enabled is on. Note that this is a Legacy feature, see Remote Admin for details. |
Matching channel names are required in order to communicate on the same channel with other devices. Example: If your device is using the channel name LongFast the device you are attempting to communicate with must also have a channel named LongFast.
PSK
The encryption key used for private channels.
Hex byte 0x01 for the Primary default channel.
Must be either 0 bytes (no crypto), 16 bytes (AES128), or 32 bytes (AES256).
Matching PSKsPSK (Pre-Shared Key). A secret code or passphrase used in Meshtastic channels for encryption, ensuring that only devices with the matching PSK can communicate within that specific channel. are required in order to communicate on the same channel with other devices. Example: If your device is using a channel with the default PSKPSK (Pre-Shared Key). A secret code or passphrase used in Meshtastic channels for encryption, ensuring that only devices with the matching PSK can communicate within that specific channel. of AQ== the device you are attempting to communicate with must also have a matching channel with the same PSKPSK (Pre-Shared Key). A secret code or passphrase used in Meshtastic channels for encryption, ensuring that only devices with the matching PSK can communicate within that specific channel..
Use AEAD
On firmware 2.8.1 and later, use_aead switches the channel from AES-CTR to authenticated encryption, AES-CCM. Each packet carries a 12-byte tag, and nodes reject any packet that was altered or forged by someone without the key.
Every node on the channel must turn it on. Nodes with it on and nodes with it off can't read each other's messages on that channel, even with the same name and PSKPSK (Pre-Shared Key). A secret code or passphrase used in Meshtastic channels for encryption, ensuring that only devices with the matching PSK can communicate within that specific channel.. The setting needs a PSKPSK (Pre-Shared Key). A secret code or passphrase used in Meshtastic channels for encryption, ensuring that only devices with the matching PSK can communicate within that specific channel., is experimental, and is off by default.
Downlink Enabled
If enabled, messages captured from a public internet gateway will be forwarded to the local mesh.
Set to false by default for all channels.
Uplink Enabled
If enabled, messages from the mesh will be sent to the public internet through any node's configured gateway.
Set to false by default for all channels.
Channel Config Client Availability
Channel Module Settings
The channel module settings options are: Is muted and position precision. Channel module settings are embedded in the Channel protobufProtobuf (Protocol Buffers). A method developed by Google for serializing structured data, used in Meshtastic for efficient communication protocol between devices. as a ModuleSettings protobufProtobuf (Protocol Buffers). A method developed by Google for serializing structured data, used in Meshtastic for efficient communication protocol between devices. and sent as an admin message.
Is Muted
If enabled, the is_muted setting silences invocation of the ExternalNotificationModule when messages are received over the specified channel(s). UI notifications such as "New Message From []" are also blocked from popup.
Set to false by default for all channels.
Control the channel's notification behaviour.
meshtastic --ch-set module_settings.is_muted true --ch-index 0
meshtastic --ch-set module_settings.is_muted false --ch-index 0
Position Precision
The position_precision setting allows control of the level of precision for location data that is sent over a particular channel. This can be useful for privacy reasons, where obfuscating the exact location may be desired when sending position data over certain channels.
The position_precision value is an integer between 0 and 32:
- A value of 0 means that location data is never sent over the given channel.
- A value of 32 means that location data is sent with full precision.
- On a channel whose key is public, which means no key, the default key, or any single-byte key, the firmware limits precision to 15 bits.
- Values in between indicate the number of bits of precision to be sent, which correspond to a position precision from the table below.
- The public MQTTMQTT (Message Queuing Telemetry Transport). A lightweight messaging protocol designed for small sensors and mobile devices, enabling efficient data transmission in the Meshtastic network for Internet connectivity and integration with IoT platforms. See https://en.wikipedia.org/wiki/MQTT. In Meshtastic, MQTT is used to connect a node to the internet, and can be used to connect multiple meshes to each other. server filters out precise positions.
| 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 |
The client applications have implemented different levels of precision giving the user a practical range to choose from. Setting across the full range of integers can be done via the Python CLICLI (Command Line Interface). A text-based interface used for interacting with software or devices like Meshtastic.. See Setting Position Precision for examples on setting different levels of precision using CLICLI (Command Line Interface). A text-based interface used for interacting with software or devices like Meshtastic..
- Android
- Apple
- CLI
- Web
Android
All Channel config options are available for Android.
- Open the Meshtastic App
- Navigate to: Settings > Channels
Apple
A channel editor is available on the iOS, iPadOS and macOS applications at Settings > Radio Configuration > Channels.
CLI
All Channel config options are available in the python CLI. Example commands are below:
Because the device will reboot after each command is sent via CLI, it is recommended when setting multiple values in a config section that commands be chained together as one.
meshtastic --ch-set name "My Channel" --ch-set psk random --ch-set uplink_enabled true --ch-index 4
Name
# without spaces
meshtastic --ch-set name MyChannel --ch-index 0
# with spaces
meshtastic --ch-set name "My Channel" --ch-index 0
PSK
If you use Meshtastic for exchanging messages you don't want other people to see, random is the setting you should use. Selecting default or any of the simple values from the following table will use publicly known encryption keys. They're shipped with Meshtastic source code and thus, anyone can listen to messages encrypted by them. They're great for testing and public channels.
| 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 |
meshtastic --ch-set psk default --ch-index 0
meshtastic --ch-set psk random --ch-index 0
meshtastic --ch-set psk simple15 --ch-index 0
meshtastic --ch-set psk 0x1a1a1a1a2b2b2b2b1a1a1a1a2b2b2b2b1a1a1a1a2b2b2b2b1a1a1a1a2b2b2b2b --ch-index 0
meshtastic --ch-set psk base64:puavdd7vtYJh8NUVWgxbsoG2u9Sdqc54YvMLs+KNcMA= --ch-index 0
Use this to copy and paste the base64 encoded (single channel) key from the meshtastic --info command. Please don't use the omnibus (all channels) code here, it is not a valid key.
meshtastic --ch-set psk none --ch-index 0
Uplink / Downlink
For configuring gateways, please see MQTT
meshtastic --ch-set uplink_enabled true --ch-index 0
meshtastic --ch-set uplink_enabled false --ch-index 0
meshtastic --ch-set downlink_enabled true --ch-index 1
meshtastic --ch-set downlink_enabled false --ch-index 5
Setting 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.
meshtastic --ch-set module_settings.position_precision 13 --ch-index 0
meshtastic --ch-set module_settings.position_precision 32 --ch-index 1
Web
All Channel config options are available in the Web UI.