Device Configuration Settings
Device Configuration Settings
The Device configuration section (Config > Device) controls fundamental node behavior: its role in the network, how it handles rebroadcasting, node info broadcasts, and administrative access. These are the most impactful settings for network performance and should be understood before deploying any node.
Access these settings in the Meshtastic app under Settings > Radio Configuration > Device, via the web interface at http://<node-ip>/config, or through the Python CLI with meshtastic --set device.*.
Role
Config key: device.role
Default: CLIENT
The Role setting is the single most important Device configuration choice. It tells the firmware how this node should behave in the mesh — specifically, how aggressively it should rebroadcast packets, whether it should send periodic node info, and how it prioritizes battery life versus network contribution.
Available Roles
CLIENT
The standard role for personal devices carried by users. CLIENT nodes:
- Participate normally in mesh routing (rebroadcast packets they receive)
- Send NodeInfo broadcasts on the configured interval
- Receive and send messages on all subscribed channels
- Display in other nodes' neighbor lists
Use when: You are deploying a personal handheld node, a node you carry daily, or any general-purpose device.
CLIENT_MUTE
Identical to CLIENT but with packet rebroadcasting disabled. A CLIENT_MUTE node receives packets but does not relay them to other nodes. It effectively becomes a receive-only listener on the mesh routing layer.
Use when: You have many devices in close proximity (e.g., all members of a team within radio range of each other). Adding non-muted CLIENT nodes in a dense cluster creates redundant rebroadcasts that waste airtime. Making most of them CLIENT_MUTE reduces channel utilization while maintaining full message delivery to those devices.
Also useful for: Devices behind NAT or VPN tunnels acting as monitoring receivers; test devices you don't want to affect mesh traffic.
ROUTER
Designed for fixed infrastructure nodes at high elevation or central locations. ROUTER nodes:
- Rebroadcast packets with the highest priority
- Use a longer NodeInfo broadcast interval to reduce overhead traffic
- Are favored in routing decisions — the mesh prefers to route through ROUTER nodes
- Disable the LED activity indicator and screen (if present) by default to save power
Use when: Deploying a node on a rooftop, tower, hilltop, or any other fixed elevated location whose primary job is to relay traffic for other nodes. ROUTERs form the backbone of a community mesh.
Important: Only set ROUTER on nodes that will genuinely be at good RF locations. A ROUTER with poor antenna placement will be preferred for routing but perform poorly, degrading the network. It's better to use CLIENT on a node that isn't actually a good relay point.
ROUTER_CLIENT
A hybrid role combining ROUTER routing behavior with CLIENT-level NodeInfo and message participation. ROUTER_CLIENT nodes act as network infrastructure while still showing up actively in the node list and accepting messages as a primary user device.
Use when: You want a node to serve as infrastructure (good location, elevated) but also receive your own messages. Common for operators who have a node at home on a mast and want both routing benefit and personal message delivery to that node.
Note: ROUTER_CLIENT uses somewhat more airtime than pure ROUTER because it participates more actively in NodeInfo and channel activity. If the node is purely infrastructure, use ROUTER.
REPEATER
The most minimal infrastructure role. REPEATER nodes:
- Rebroadcast all received packets immediately (highest rebroadcast priority, even higher than ROUTER)
- Do NOT send NodeInfo broadcasts — they are intentionally invisible in the node list
- Do NOT participate in messaging — they cannot send or receive application-layer messages
- Consume minimal airtime overhead
Use when: Deploying a relay-only node in a gap in coverage where you only need packet forwarding and don't need the node to participate in messaging or appear in the network map. REPEATER nodes are ideal for embedded or remotely deployed relays with no user interaction.
Caution: Because REPEATER nodes don't send NodeInfo, they won't appear on your map or in your node list. This makes it harder to verify they are online. Plan for out-of-band monitoring (serial console, MQTT telemetry, physical LED) if using REPEATER in unattended deployments.
TRACKER
Optimized for asset and vehicle tracking use cases. TRACKER nodes:
- Send frequent position updates automatically
- Are optimized to conserve bandwidth by only broadcasting position data (they reduce other overhead)
- Can be configured with smart beaconing: transmit when moving, reduce rate when stationary
Use when: Attaching a node to a vehicle, pet, person, or asset for location tracking. The TRACKER role signals to the firmware and other nodes that this device's primary purpose is position reporting.
TAK
Designed for interoperability with TAK (Team Awareness Kit) — tactical situational awareness software used by military, law enforcement, SAR teams, and emergency management. TAK role nodes:
- Format outgoing position packets in a way compatible with TAK server ingestion
- Enable TAK-specific extensions in the Meshtastic packet format
- Work alongside ATAK (Android TAK) and WinTAK clients
Use when: Integrating Meshtastic into a TAK-based operational picture. Requires TAK server infrastructure or ATAK-capable devices on the network. Not useful for general community mesh deployments.
SENSOR
Optimized for sensor nodes that transmit telemetry data (temperature, humidity, air quality, power levels, etc.) rather than user messages. SENSOR nodes:
- Prioritize low power consumption over routing participation
- May sleep between sensor readings
- Reduce rebroadcast activity to conserve battery
Use when: Deploying a battery-powered environmental sensor, weather station, or power monitor. The node's primary job is to report readings, not to relay traffic.
LOST_AND_FOUND
A specialized tracker role for lost-item finders (similar in concept to Apple AirTags or Tile trackers but on the Meshtastic mesh). Lost_And_Found nodes:
- Broadcast their position at a very low duty cycle to extend battery life
- Are designed for small form-factor nodes attached to items (bags, bikes, pets)
- Other mesh nodes that receive the beacon can report the position on the finder's behalf
Use when: Building a lost-item tracker on Meshtastic hardware. Not suitable for primary communication or infrastructure roles.
Serial Console Enabled
Config key: device.serial_enabled
Default: true
Controls whether the firmware exposes a serial console on the USB/UART port. When enabled, you can connect to the node via USB serial at 115200 baud and interact with the device (view logs, run CLI commands). When disabled, the serial port is not active.
Disable when: Deploying a node in an environment where unauthorized USB access is a concern, or to reduce power consumption marginally in deeply embedded deployments. Most users should leave this enabled — it is the primary recovery mechanism if you lose network access to the node.
Warning: If you disable Serial Console and also lose WiFi/Bluetooth access to the node, recovery may require a full firmware reflash.
Debug Log Enabled
Config key: device.debug_log_enabled
Default: false
When enabled, the firmware outputs verbose debug messages to the serial console. These messages include detailed information about packet processing, routing decisions, radio layer events, and subsystem state changes.
Enable when: Troubleshooting connectivity issues, investigating unexpected behavior, or developing integrations. Debug logging produces a high volume of output that can make normal serial console use harder to read.
Disable in production: Debug logging adds slight CPU overhead and can fill serial buffers. Leave disabled on deployed infrastructure nodes unless actively troubleshooting.
Rebroadcast Mode
Config key: device.rebroadcast_mode
Default: ALL
Controls which received packets this node will rebroadcast (relay) to other nodes. This setting interacts with the Role setting — Role determines the priority and frequency of rebroadcasting; Rebroadcast Mode determines what gets rebroadcast at all.
ALL
The default mode. This node rebroadcasts all received packets that pass the hop limit and deduplication filters, regardless of source or content. This is the correct mode for most nodes.
ALL_SKIP_DECODING
The node rebroadcasts all packets but skips attempting to decode their payload. This mode is primarily useful for REPEATER-role nodes where you want maximum rebroadcast speed and don't need the node to process message content. Slightly reduces CPU overhead per packet.
Use when: Operating a dedicated relay node where content processing is unnecessary and you want to minimize latency and CPU load.
LOCAL_ONLY
The node only rebroadcasts packets that originate from nodes it can hear directly (one hop away). Packets that have already been relayed by another node (hop count reduced) are not rebroadcast. This effectively limits the node's rebroadcast radius to its immediate RF neighborhood.
Use when: You have a densely packed area of nodes and want to limit the rebroadcast storm that can occur when many nodes all relay the same packet. LOCAL_ONLY can significantly reduce channel utilization in dense deployments.
KNOWN_ONLY
The node only rebroadcasts packets from nodes that appear in its local node database (nodes it has seen NodeInfo from). Unknown nodes — those that have never sent a NodeInfo the local node has received — are not relayed.
Use when: Running a private or semi-private mesh where you want to restrict relay behavior to known network members. This can reduce relay of stray packets from neighboring networks that share the same channel.
Node Info Broadcast Interval
Config key: device.node_info_broadcast_secs
Default: Role-dependent (CLIENT: 900 seconds / 15 minutes; ROUTER: 3600 seconds / 1 hour)
How often (in seconds) the node broadcasts a NodeInfo packet — the announcement that includes the node's name, hardware model, and public key. NodeInfo packets allow other nodes to know you exist and update their neighbor lists.
Lower values: More frequent announcements — nodes see each other more quickly after joining the network, and the map updates faster. Costs more airtime.
Higher values: Less frequent announcements — reduces channel utilization overhead, especially important on busy networks. Fixed infrastructure nodes (ROUTER, REPEATER) should use longer intervals (3600–10800 seconds) since their presence is stable.
Minimum recommended: 300 seconds (5 minutes) for active portable nodes. Going below this starts to noticeably consume channel airtime with overhead traffic.
Double-Tap as Button
Config key: device.double_tap_as_button_press
Default: false
On devices with an accelerometer (such as the RAK WisBlock with RAK1904 accelerometer module), enabling this option allows a physical double-tap on the device to simulate a button press. Useful for waking a device from sleep or triggering notifications on nodes that don't have physical buttons.
Enable when: Using a device in a case without easy access to physical buttons, or when you want tap-to-wake functionality. Requires compatible hardware with an accelerometer.
Managed Mode
Config key: device.is_managed
Default: false
When Managed Mode is enabled, the node's configuration can only be changed via the admin channel — it cannot be modified locally through the app's direct Bluetooth connection or the web interface. This is a security feature for remotely deployed infrastructure nodes.
Enable when: Deploying a ROUTER or REPEATER node that should be centrally managed and protected from unauthorized local modification. For example, a rooftop node that community members can physically access — Managed Mode prevents casual configuration changes.
Warning: Enabling Managed Mode without first configuring an admin channel (see Admin Channel Index below) will lock you out of local configuration. Ensure the admin channel is properly set up before enabling this.
Admin Channel Index
Config key: device.admin_channel_index
Default: 0 (primary channel)
Specifies which channel index (0–7) is designated as the admin channel for remote configuration. Admin channel messages can change device configuration, reboot the node, and perform other privileged operations — all encrypted with the admin channel's PSK.
Setting this to a non-zero channel index lets you use a private secondary channel (with its own PSK) specifically for administrative messages, keeping admin traffic separate from user messages. For example:
- Channel 0: public mesh channel (LongFast or community key)
- Channel 1: private admin channel (strong PSK known only to node operators)
- Admin Channel Index: 1
This configuration means only operators with the channel 1 PSK can remotely reconfigure the node, while anyone on channel 0 can use the mesh normally.
Best practice for infrastructure nodes: Always use a dedicated admin channel with a strong PSK and set Admin Channel Index accordingly. Never leave admin access on the default public channel in a production deployment.
No comments to display
No comments to display