Device Configuration
The device config options are: Role, Rebroadcast Mode, GPIOGPIO (General Purpose Input/Output). An uncommitted digital signal pin on a device. for User Button, GPIOGPIO (General Purpose Input/Output). An uncommitted digital signal pin on a device. for PWM Buzzer, Node Info Broadcast Seconds, Double Tap as Button Press, Disable Triple Click, Timezone Definition, and LEDLED (Light-Emitting Diode). An indicator light on a device. The External Notification module can drive one in response to mesh activity. Heartbeat Disabled. Device config uses an admin message sending a Config.Device protobufProtobuf (Protocol Buffers). A method developed by Google for serializing structured data, used in Meshtastic for efficient communication protocol between devices..
Device Config Values
Roles
| Device Role | Description | Best Uses |
|---|---|---|
| CLIENT | App connected or stand alone messaging device. Rebroadcasts packets when no other node has done so. | General use for individuals needing to communicate over the Meshtastic network with support for client applications. |
| CLIENT_MUTE | Device that does not forward packets from other devices. | Situations where a device needs to participate in the network without assisting in packet routing, reducing network load. |
| CLIENT_HIDDEN | Device that only broadcasts as needed for stealth or power savings. | Use in stealth/hidden deployments or to reduce airtime/power consumption while still participating in the network. |
| CLIENT_BASE | Personal base station: always rebroadcasts packets from or to its favorited nodes. Handles all other packets like CLIENT. | Use for stronger attic/roof “base station” nodes to distribute messages more widely from your own weaker, indoor, or less-well-positioned nodes. |
| TRACKER | Broadcasts GPSGPS (Global Positioning System). A satellite positioning system. A node with a GPS module determines its own location and can report that position to the mesh. position packets as priority. | Tracking the location of individuals or assets, especially in scenarios where timely and efficient location updates are critical. |
| LOST_AND_FOUND | Broadcasts location as message to default channel regularly to assist with device recovery. | Used for recovery efforts of a lost device. |
| SENSOR | Broadcasts telemetry packets as priority. | Deploying in scenarios where gathering environmental or other sensor data is crucial, with efficient power usage and frequent updates. |
| TAKTAK (Team Awareness Kit). A situational awareness ecosystem. Meshtastic bridges to it by converting mesh messages to and from Cursor on Target format. | Optimized for ATAKATAK (Android Team Awareness Kit). The Android TAK client. An official Meshtastic plugin forwards its Cursor on Target traffic over the mesh. system communication, reduces routine broadcasts. | Integration with ATAKATAK (Android Team Awareness Kit). The Android TAK client. An official Meshtastic plugin forwards its Cursor on Target traffic over the mesh. systems (via the Meshtastic ATAKATAK (Android Team Awareness Kit). The Android TAK client. An official Meshtastic plugin forwards its Cursor on Target traffic over the mesh. Plugin) for communication in tactical or coordinated operations. |
| TAK_TRACKER | Enables automatic TAKTAK (Team Awareness Kit). A situational awareness ecosystem. Meshtastic bridges to it by converting mesh messages to and from Cursor on Target format. PLI broadcasts and reduces routine broadcasts. | Standalone PLI integration with ATAKATAK (Android Team Awareness Kit). The Android TAK client. An official Meshtastic plugin forwards its Cursor on Target traffic over the mesh. systems for communication in tactical or coordinated operations. |
| REPEATER 1 | Infrastructure node for extending network coverage by always rebroadcasting packets once with minimal overhead. Not visible in Nodes list. | Best positioned in strategic locations to maximize the network's overall coverage. Device is not shown in topology. |
| ROUTER | Infrastructure node for extending network coverage by always rebroadcasting packets once. Visible in Nodes list. | Best positioned in strategic locations to maximize the network's overall coverage. Device is shown in topology. |
| ROUTER_LATE | Infrastructure node that always rebroadcasts packets once but only after all other modes, ensuring additional coverage for local clusters. Visible in Nodes list. More details in our blog: Demystifying Router Late | Ideal for covering dead spots or ensuring reliability for a cluster of nodes where placement doesn’t benefit the broader mesh. Device is shown in topology. |
Still not sure which role to use? Check out our blog post: Choosing the Right Device Role
Looking for ROUTER_CLIENT? This role was deprecated in firmware 2.3.15. Learn more in the 2.3.15 release notes
Role Comparison
This table shows the default values after selecting a preset. As always, individual settings can be adjusted after choosing a preset.
| Device Role | BLEBLE (Bluetooth Low Energy). The default wireless connection between a node and a phone client./WiFi/Serial | Screen Enabled | Power Consumption | Retransmit | Prioritized Routing | Visible in Nodes List |
|---|---|---|---|---|---|---|
| CLIENT | Yes | Yes | Regular | Yes | No | Yes |
| CLIENT_MUTE | Yes | Yes | Lowest | No | No | Yes |
| CLIENT_HIDDEN | Yes | Yes | Lowest | Local Only | No | No |
| CLIENT_BASE | Yes | Yes | Regular | Yes | Favorites Only2 | Yes |
| TRACKER | Yes | No | Regular / Low | Awake Only3 | No | Yes |
| LOST_AND_FOUND | Yes | No | Regular | Yes | No | Yes |
| SENSOR | Yes | No | Regular / Low | Awake Only3 | No | Yes |
| TAKTAK (Team Awareness Kit). A situational awareness ecosystem. Meshtastic bridges to it by converting mesh messages to and from Cursor on Target format. | Yes | Optional | Regular | Yes | No | Yes |
| TAK_TRACKER | Yes | Optional | Regular | Yes | No | Yes |
| ROUTER | No4 | No | High | Yes | Yes | Yes |
| ROUTER_LATE | Yes | Yes | High | Yes | No | Yes |
| REPEATER | Yes | No | High | Yes | Yes | No |
Notes about Power Saving + Role behavior
ESP32 Platform Only
Every role except for the TRACKER and SENSOR roles are capable of traditional sleep behavior using the power.is_power_saving setting. When a node goes to sleep, in general, the serial console, peripherals, GPSGPS (Global Positioning System). A satellite positioning system. A node with a GPS module determines its own location and can report that position to the mesh., and WiFi/Bluetooth radio are all shut down to conserve power. The CPU will enter a low power state (light sleep or deep sleep on the ESP32ESP32A chipset of microcontroller made/designed by Espressif, used by a number of devices. Higher power usage than nRF52, but often cheaper and supports Wi-Fi if desired.). 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 will be left on stand-by for receiving any packets which will wake up the device to resume services and respond.
Timeout configurations of display.screen_on_secs (Screen timeout), power.min_wake_secs (Minimum time till sleep), and power.wait_bluetooth_secs (Bluetooth timeout) will delay a node's transition to a sleep state. The timeouts and subsequent transition to sleep states may also be reset by external events or actions such as receiving a packet, pressing a button, or connecting via client through serial or other means.
For the ROUTER role, the power.is_power_saving behavior of sleep is enabled automatically and cannot be turned off.
ESP32 and NRF52 Platforms
In the TRACKER and SENSOR roles, there are special sleep behaviors when combined with power.is_power_saving. For TRACKER, the device will go to sleep for position.position_broadcast_secs and upon waking will send a position packet when the GPSGPS (Global Positioning System). A satellite positioning system. A node with a GPS module determines its own location and can report that position to the mesh. provides a valid location and repeat the cycle. For SENSOR, the device will go to sleep for telemetry.environment_update_interval and upon waking will gather environment data and send a telemetry packet and repeat the cycle. For both of these roles, 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 does not remain in standby mode to accept packets and wake up the device. Sleep remains constrained to their respective transmission intervals.
Rebroadcast Mode
This setting defines the device's behavior for how messages are rebroadcasted.
| Value | Description |
|---|---|
ALL | ALL (Default) - This setting will rebroadcast ALL messages from its primary mesh as well as other meshes with the same modem settings, including when encryption settings differ. |
ALL_SKIP_DECODING | ALL_SKIP_DECODING - Same as behavior as ALL, but skips packet decoding and simply rebroadcasts them. Only available with Repeater role. |
LOCAL_ONLY | LOCAL_ONLY - Ignores observed messages from foreign meshes that are open or those which it cannot decrypt. Only rebroadcasts message on the nodes local primary / secondary channels. |
KNOWN_ONLY | KNOWN_ONLY - Ignores observed messages from foreign meshes like LOCAL_ONLY, but takesTAK (Team Awareness Kit). A situational awareness ecosystem. Meshtastic bridges to it by converting mesh messages to and from Cursor on Target format. it a step further by also ignoring messages from nodenums not in the node's known list (NodeDB). |
NONE | NONE - Only permitted for SENSOR, TRACKER and TAK_TRACKER roles, this will inhibit all rebroadcasts, not unlike CLIENT_MUTE role. |
CORE_PORTNUMS_ONLY | CORE_PORTNUMS_ONLY - Ignores packets from non-standard portnums such as: TAKTAK (Team Awareness Kit). A situational awareness ecosystem. Meshtastic bridges to it by converting mesh messages to and from Cursor on Target format., RangeTest, PaxCounter, etc. Only rebroadcasts packets with standard portnums: NodeInfo, Text, Position, Telemetry, and Routing. |
GPIO for User Button
This is the GPIOGPIO (General Purpose Input/Output). An uncommitted digital signal pin on a device. pin number that will be used for the user button, if your device does not come with a predefined user button.
GPIO for PWM Buzzer
This is the GPIOGPIO (General Purpose Input/Output). An uncommitted digital signal pin on a device. pin number that will be used for the PWM buzzer, if your device does not come with a predefined buzzer.
Node Info Broadcast Seconds
This is the number of seconds between NodeInfo message (containing i.a. long and short name) broadcasts from the device. The device will still respond ad-hoc to NodeInfo messages when a response is wanted. When the device hears any packet from a node it doesn't know yet, it will send its NodeInfo and ask for a response automatically.
Double Tap as Button Press
This option will enable a double tap, when a supported accelerometer is attached to the device, to be treated as a button press.
Disable Triple Click
Disables the triple-press of user button to enable or disable GPSGPS (Global Positioning System). A satellite positioning system. A node with a GPS module determines its own location and can report that position to the mesh..
TZDEF (Timezone Definition)
The tzdef setting allows the local offset to be defined for the device. It uses the TZ Database format to display the correct local time on the device display and in its logs.
To set the timezone, use the POSIX TZ Database string for the relevant region. Here is a list of supported timezones. For example, if your region is America/Los_Angeles, you would input PST8PDT,M3.2.0,M11.1.0 as the timezone.
LED Heartbeat Disabled
If true, disable the default blinking LEDLED (Light-Emitting Diode). An indicator light on a device. The External Notification module can drive one in response to mesh activity. (LED_PIN) behavior on the device.
Device Config Client Availability
- Android
- Apple
- CLI
- Web
Android
Device Config is available for Android.
- Open the Meshtastic App
- Navigate to: Settings > Device
Apple
All device config options other than NTP Server are available on iOS, iPadOS and macOS at Settings > Device Configuration > Device.
CLI
All device config options are available in the python CLICLI (Command Line Interface). A text-based interface used for interacting with software or devices like Meshtastic.. Example commands are below:
| Setting | Acceptable Values | Default |
|---|---|---|
| device.role | CLIENT, CLIENT_MUTE, ROUTER, REPEATER, TRACKER, SENSOR | CLIENT |
| device.rebroadcast_mode | ALL, ALL_SKIP_DECODING, LOCAL_ONLY | ALL |
| device.button_gpio | 0 - 34 | 0 |
| device.buzzer_gpio | 0 - 34 | 0 |
| device.node_info_broadcast_secs | 3600 - UINT MAX | 10800 (3 hours) |
| device.double_tap_as_button_press | false, true | false |
| device.disable_triple_click | false, true | false |
Because the device will reboot after each command is sent via CLICLI (Command Line Interface). A text-based interface used for interacting with software or devices like Meshtastic., it is recommended when setting multiple values in a config section that commands be chained together as one.
meshtastic --set device.role CLIENT --set device.tzdef UTC0
meshtastic --set device.role CLIENT
meshtastic --set device.tzdef UTC0
Web
All device config options are available in the Web UI.