Meshtastic Guide - Meshtastic Device Configuration

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 messaging node, app-connected 📱 or standalone. Rebroadcasts packets if no other node has done so. General-purpose role for individuals using client apps to communicate 💬 across the mesh.
🤫 CLIENT_MUTE Node that does not rebroadcast packets 🚫, reducing airtime usage ⏳. Ideal for dense deployments 🏙️ where minimizing rebroadcast traffic is important.
🙈 CLIENT_HIDDEN Device that only transmits when necessary, supporting stealth 🕵️ or power-saving 🔋. Useful for hidden or low-power roles needing mesh participation.
📍 TRACKER Prioritizes GPS position packets 🛰️ for reliable location tracking. Best for tracking assets 📦 or individuals 🚶 where timely updates are critical.
🆘 LOST_AND_FOUND Regularly broadcasts location 📡 to the default channel to aid recovery. Used for locating lost nodes in the field 🌲.
🌡️ SENSOR Prioritizes telemetry packets 📊 such as environmental or sensor data. Ideal for data collection 🌱 with efficient power usage 🔋 and frequent updates.
🎖️ TAK Optimized for ATAK system integration, minimizing routine broadcasts. Used in tactical deployments 🪖 requiring ATAK plugin support.
🎯 TAK_TRACKER Automatically sends TAK PLI broadcasts 📡 while reducing routine traffic. Standalone integration with ATAK systems for location-based tactical ops.
🔄 REPEATER Infrastructure node that always rebroadcasts packets once 🔁, extending coverage. Not shown in topology. Strategically placed repeaters 🏔️ to maximize coverage without appearing in node list.
📡 ROUTER Infrastructure node that always rebroadcasts packets once. Visible 👀 in topology and node list. Best used in fixed locations 🏠 to extend coverage and improve routing reliability.
⏳ ROUTER_LATE Rebroadcasts packets only after other roles, enhancing coverage for local clusters 🌐. Ideal for filling coverage gaps 🕳️ or supporting isolated clusters.

📊 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 Only ⏱️ No 🚫 Yes 👀
🆘 LOST_AND_FOUND Yes ✅ No 🚫 Regular ⚡ Yes 🔁 No 🚫 Yes 👀
🌡️ SENSOR Yes ✅ No 🚫 Regular / Low 🔋 Awake Only ⏱️ No 🚫 Yes 👀
🎖️ TAK Yes ✅ Optional ⚙️ Regular ⚡ Yes 🔁 No 🚫 Yes 👀
🎯 TAK_TRACKER Yes ✅ Optional ⚙️ Regular ⚡ Yes 🔁 No 🚫 Yes 👀
📡 ROUTER No 🚫 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 roles—except TRACKER 📍 and SENSOR 🌡️—support low-power operation using power.is_power_saving 💤. When enabled, the device enters sleep mode 😴, powering down peripherals 🔌, GPS 🛰️, and radios 📡 to conserve energy 🔋.

Timeout parameters ⏱️ such as display.screen_on_secs, power.min_wake_secs, and power.wait_bluetooth_secs influence when the device sleeps. External events like packet reception 📦, button presses 🔘, or Bluetooth connections 📱 can reset the countdown.

For the ROUTER role 📡, power saving is always enabled ✅ to ensure efficient energy use while maintaining mesh networking 🕸️.

🌐 ESP32 and NRF52 Platforms – Tracker and Sensor Sleep Behavior

On both ESP32 💻 and NRF52 🔋 platforms, TRACKER 📍 and SENSOR 🌡️ roles use specialized sleep cycles 💤. Trackers sleep until the next GPS broadcast 🛰️, then wake to send position packets 📍. Sensors sleep until the next telemetry interval 📊, then wake to collect and transmit data 🌱.

Unlike other roles, these nodes do not keep the LoRa radio in standby 🚫, waking only at configured intervals ⏱️. This makes them ideal for low-power, periodic reporting 🔋.

  • 📌 Awake Only mode allows retransmissions only during active periods, not while sleeping 😴.
  • 📡 For ROUTER nodes on ESP32, power saving is enabled by default ⚡. To update via Bluetooth 🔗, temporarily change the role to a non-sleeping mode, then revert back once complete ✅.

⚙️ Other Device Configuration Parameters

  • 🔁 Meshtastic Rebroadcast Configuration: Defines how messages are rebroadcast across the mesh 🕸️.
Value Description
ALL 📡 Default – Rebroadcasts all messages from local and foreign meshes 🌍, even if encryption differs.
ALL_SKIP_DECODING 🚫 Same as ALL but skips decoding, rebroadcasts blindly 👀. Only for Repeater role 🔄.
LOCAL_ONLY 📍 Rebroadcasts only messages from local channels, ignores foreign meshes 🚫.
KNOWN_ONLY 🧩 Filters out packets from unknown nodes ❌, rebroadcasts only from known NodeDB entries.
NONE 🚫 Disables rebroadcasting. Only for roles like SENSOR 🌡️, TRACKER 📍, and TAK_TRACKER 🎯.
CORE_PORTNUMS_ONLY 🎯 Rebroadcasts only core packet types: NodeInfo ℹ️, Text 💬, Position 📍, Telemetry 📊, Routing 🔄.
  • 🔘 User Button GPIO Settings: Defines the GPIO pin number for the user button if missing.
  • 🔔 PWM Buzzer GPIO Configuration: Assigns GPIO pin for buzzer alerts 📢.
  • ⏱️ NodeInfo Broadcast Interval: Sets interval for automatic NodeInfo broadcasts ℹ️.
  • 👆 Double Tap as Button Press: Enables double-tap gesture if accelerometer present.
  • 🚫 Disable Triple Click Feature: Turns off triple-click shortcut for GPS toggle 📍.
  • 🌍 Timezone Definition (TZDEF): Defines local time offsets ⏰ using POSIX TZ strings.
  • 💡 LED Heartbeat Disabled: Stops LED blinking ✨ for stealth or power-saving 🔋.

📱 Device Configuration Client Accessibility

🤖 Android

  1. Open the Meshtastic App 📲.
  2. Navigate: ⋮ (3 dots) ➡️ Radio Configuration ➡️ Device.

🍎 Apple

All configuration options (except NTP Server 🌐) are available on iOS, iPadOS, and macOS at Settings ➡️ Device Configuration ➡️ Device.

💻 CLI

All options are accessible via the Python CLI 🐍. Example commands 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

Sidebar

Latest post

This section doesn’t currently include any content. Add content to this section using the sidebar.

Register for our newsletter

Get the latest information about our products and special offers.