Meshtastic Device Configuration includes essential parameters such as Role, Rebroadcast Mode, GPIO assignments, broadcast intervals, and power behavior. These settings define how each device functions within the Meshtastic mesh—whether as a Client, Router, Repeater, Sensor, or Tracker—and how it handles message rebroadcasting. Configuration is applied via an admin message using the Config.Device protobuf structure.
Device Configuration Parameters
Meshtastic Device Roles
| Device Role |
Description |
Best Uses |
| CLIENT |
Standard Meshtastic messaging node, app-connected or standalone. Rebroadcasts packets if no other node has done so. |
General-purpose Meshtastic role for individuals using client applications to communicate across the mesh. |
| CLIENT_MUTE |
Meshtastic node that does not rebroadcast packets from other devices, reducing airtime usage. |
Ideal for dense Meshtastic deployments where minimizing rebroadcast traffic is important. |
| CLIENT_HIDDEN |
Meshtastic device that only transmits when necessary, supporting stealth or power-saving configurations. |
Useful for hidden or low-power Meshtastic roles that still need to participate in the mesh network. |
| TRACKER |
Meshtastic node that prioritizes GPS position packets for reliable location tracking. |
Best for tracking assets or individuals where timely Meshtastic location updates are critical. |
| LOST_AND_FOUND |
Meshtastic device that regularly broadcasts its location to the default channel to aid recovery. |
Used for locating lost Meshtastic nodes in the field. |
| SENSOR |
Meshtastic node that prioritizes telemetry packets, such as environmental or sensor data. |
Ideal for Meshtastic deployments focused on data collection with efficient power usage and frequent updates. |
| TAK |
Meshtastic role optimized for ATAK system integration, minimizing routine broadcasts. |
Used in tactical Meshtastic deployments requiring ATAK plugin support and coordinated communication. |
| TAK_TRACKER |
Meshtastic node that automatically sends TAK PLI broadcasts while reducing routine traffic. |
Standalone Meshtastic integration with ATAK systems for location-based tactical operations. |
| REPEATER |
Meshtastic infrastructure node that always rebroadcasts packets once, extending coverage with minimal overhead. Not shown in topology. |
Strategically placed Meshtastic repeater to maximize mesh coverage without appearing in the node list. |
| ROUTER |
Meshtastic infrastructure node that always rebroadcasts packets once. Visible in topology and node list. |
Best used in fixed locations to extend Meshtastic mesh coverage and improve routing reliability. |
| ROUTER_LATE |
Meshtastic node that rebroadcasts packets only after other roles, enhancing coverage for local clusters. Visible in topology. |
Ideal for filling coverage gaps or supporting isolated Meshtastic clusters without disrupting broader mesh traffic. |
Looking for ROUTER_CLIENT? This role was deprecated in firmware 2.3.15. Learn more in the
2.3.15 release notes。
Comparative Analysis of Roles
This table displays the default values after a preset is selected. As always, individual settings can be adjusted after choosing a preset.
| Device Role |
BLE/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 |
| TRACKER |
Yes |
No |
Regular / Low |
Awake Only1
|
No |
Yes |
| LOST_AND_FOUND |
Yes |
No |
Regular |
Yes |
No |
Yes |
| SENSOR |
Yes |
No |
Regular / Low |
Awake Only1
|
No |
Yes |
| TAK |
Yes |
Optional |
Regular |
Yes |
No |
Yes |
| TAK_TRACKER |
Yes |
Optional |
Regular |
Yes |
No |
Yes |
| ROUTER |
No2
|
No |
High |
Yes |
Yes |
Yes |
| ROUTER_LATE |
Yes |
Yes |
High |
Yes |
No |
Yes |
| REPEATER |
Yes |
No |
High |
Yes |
Yes |
No |
Understanding Power Savings and Role Performance
ESP32 Platform Only – Meshtastic Power Management
On the ESP32 platform, all Meshtastic device roles—except for TRACKER and SENSOR—support standard low-power operation using the power.is_power_saving setting. When enabled, the device enters a sleep mode where components such as the serial console, peripherals, GPS module, and WiFi/Bluetooth radios are powered down to conserve energy. The CPU transitions to a low-power state (either light or deep sleep), while the LoRa radio remains in standby mode to listen for incoming packets. Upon receiving a packet, the Meshtastic node wakes to resume normal operation.
Timeout parameters such as display.screen_on_secs (screen timeout), power.min_wake_secs (minimum wake duration), and power.wait_bluetooth_secs (Bluetooth wait time) influence when a Meshtastic device transitions into sleep. These timers can be interrupted by external events like packet reception, button presses, or client connections via serial or Bluetooth, resetting the sleep countdown.
For the ROUTER role, power.is_power_saving is automatically enabled and cannot be disabled. This ensures that Meshtastic Router nodes maintain efficient power usage while still supporting continuous LoRa mesh networking.
ESP32 and NRF52 Platforms – Tracker and Sensor Sleep Behavior
On both ESP32 and NRF52 platforms, the TRACKER and SENSOR roles implement specialized Meshtastic sleep behavior when power.is_power_saving is enabled. In the TRACKER role, the device sleeps for the duration defined by position.position_broadcast_secs. Upon waking, it waits for a valid GPS fix and then transmits a position packet before returning to sleep. In the SENSOR role, the device sleeps for telemetry.environment_update_interval, then wakes to collect environmental data and send a telemetry packet.
Unlike other Meshtastic roles, TRACKER and SENSOR nodes do not keep the LoRa radio in standby during sleep. These devices only wake at their configured transmission intervals, making them ideal for low-power, periodic data reporting in Meshtastic mesh networks.
NOTE:
-
In Meshtastic, the Awake Only mode allows retransmissions to occur during active periods, but not while the device is in sleep between transmission intervals. This behavior is relevant for roles like TRACKER and SENSOR, which rely on timed wake cycles.
-
For the ROUTER role on ESP32 devices, power.is_power_saving is enabled by default to reduce energy consumption. If you need to update a Meshtastic ROUTER via Bluetooth (BLE), it’s recommended to use the admin channel to temporarily change the Device Role to a non-sleeping mode. Once the update is complete, revert the role back to ROUTER to restore normal mesh behavior and power-saving operation.
Other Device Configuration Parameters
| Value |
Description |
| ALL |
ALL (Default) – Rebroadcasts all messages from the local Meshtastic mesh and other meshes using the same modem settings, even if encryption differs. |
| ALL_SKIP_DECODING |
Same behavior as ALL, but skips packet decoding and rebroadcasts blindly. Only available for Meshtastic devices using the Repeater role. |
| LOCAL_ONLY |
Rebroadcasts only messages from the local primary/secondary channels. Ignores packets from foreign Meshtastic meshes or those it cannot decrypt. |
| KNOWN_ONLY |
Similar to LOCAL_ONLY, but also filters out packets from unknown nodenums not listed in the device’s Meshtastic NodeDB. |
| NONE |
Disables all rebroadcasting. Only permitted for Meshtastic roles such as SENSOR, TRACKER, and TAK_TRACKER. Behavior is similar to CLIENT_MUTE. |
| CORE_PORTNUMS_ONLY |
Filters out non-standard portnums (e.g., TAK, RangeTest, PaxCounter). Rebroadcasts only core Meshtastic packet types: NodeInfo, Text, Position, Telemetry, and Routing. |
-
Meshtastic User Button GPIO Settings: Defines the GPIO pin number used for the user button if the device lacks a built-in button.
-
PWM Buzzer GPIO Configuration: Specifies the GPIO pin number assigned to the PWM buzzer for Meshtastic devices without a built-in buzzer.
-
NodeInfo Broadcast Interval: Sets the interval (in seconds) between automatic NodeInfo broadcasts, including long and short names. Meshtastic devices also respond to ad-hoc NodeInfo requests and will auto-reply when receiving packets from unknown nodes.
-
Double Tap as Button Press: Enables double tapbutton pressaccelerometer is present on the Meshtastic device.
-
Disable Triple Click Feature: Disables the triple-click shortcut used to toggle GPS functionality on Meshtastic nodes.
-
Timezone Definition (TZDEF): Allows Meshtastic devices to define local time offsets using the
TZ Database format. To
set the timezone, use the corresponding
POSIX TZ string. For example,
PST8PDT,M3.2.0,M11.1.0 for America/Los_Angeles.
-
LED Heartbeat Disabled: If set to true, disables the default blinking behavior of the LED_PIN on the Meshtastic device, useful for stealth or power-saving deployments.
Device Configuration Client Accessibility
Android
Device Config is available for Android.
-
Open the Meshtastic App.
-
Navigate to: Vertical Ellipsis (3 dots in the top right) > Radio Configuration > Device.
Apple
All device configuration options, except for the NTP Server, are available on iOS, iPadOS, and macOS at Settings > Device Configuration > Device.
CLI
All device configuration options are accessible in the Python CLI. Example commands are provided 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 |
| meshtastic --set device.role CLIENT |
| meshtastic --set device.tzdef UTC0 |
NOTE: Because the device will reboot after each command is sent through the CLI, it is advisable to chain commands together into a single command when setting multiple values in a configuration section. For example:
| meshtastic --set device.role CLIENT --set device.tzdef UTC0 |
Web
All device config options are available in the Web UI.