{
    "dataset": "D-Central Meshtastic Node-Role Reference",
    "version": "1.0",
    "publisher": "D-Central Technologies",
    "license": "https://creativecommons.org/licenses/by/4.0/",
    "url": "https://d-central.tech/fr/meshtastic-node-roles/",
    "date_as_of": "2026-07-15",
    "dateModified": "2026-07-17",
    "record_count": 13,
    "active_roles": 12,
    "credits": "Role behaviour sourced from the official Meshtastic device-config documentation (https://meshtastic.org/docs/configuration/radio/device/), Apache 2.0 docs. Meshtastic is a trademark of Meshtastic LLC. Compiled by D-Central Technologies.",
    "disclaimer": "Role definitions are as of 2026-07-15 and can change between firmware versions. Always confirm against the current Meshtastic documentation for your firmware. ROUTER_CLIENT was deprecated in firmware 2.3.15.",
    "download_csv": "https://d-central.tech/wp-content/uploads/data/dcentral-meshtastic-node-roles.csv",
    "download_json": "https://d-central.tech/wp-content/uploads/data/dcentral-meshtastic-node-roles.json",
    "rows": [
        {
            "role": "CLIENT",
            "status": "active",
            "deprecated_since": null,
            "description": "Default role. App-connected or standalone messaging device; rebroadcasts a packet only when no other node already has.",
            "rebroadcast": "Yes (only if no closer node did)",
            "appears_in_nodedb": "yes",
            "power_cost": "regular",
            "best_for": "The default for handhelds and everyday user nodes that should also help relay for the mesh.",
            "avoid_when": "You want a silent listener (use CLIENT_MUTE) or a dedicated always-on relay (use ROUTER or REPEATER).",
            "source_url": "https://meshtastic.org/docs/configuration/radio/device/"
        },
        {
            "role": "CLIENT_MUTE",
            "status": "active",
            "deprecated_since": null,
            "description": "A user device that does NOT forward other nodes' packets — cuts congestion on dense meshes.",
            "rebroadcast": "No",
            "appears_in_nodedb": "yes",
            "power_cost": "lowest",
            "best_for": "Nodes in an already well-covered area where you want to send and receive but not add relay traffic.",
            "avoid_when": "You are the only link between two parts of the mesh — muting yourself breaks that path.",
            "source_url": "https://meshtastic.org/docs/configuration/radio/device/"
        },
        {
            "role": "CLIENT_HIDDEN",
            "status": "active",
            "deprecated_since": null,
            "description": "Broadcasts only as needed for stealth or power savings; does not appear in other nodes' lists.",
            "rebroadcast": "Local only",
            "appears_in_nodedb": "no",
            "power_cost": "lowest",
            "best_for": "Privacy or low-power deployments where the node should stay off the public node list.",
            "avoid_when": "You want the node to be discoverable or to relay for others.",
            "source_url": "https://meshtastic.org/docs/configuration/radio/device/"
        },
        {
            "role": "CLIENT_BASE",
            "status": "active",
            "deprecated_since": null,
            "description": "Personal base station that always rebroadcasts to and from your favorited nodes.",
            "rebroadcast": "Yes (favorites only)",
            "appears_in_nodedb": "yes",
            "power_cost": "regular",
            "best_for": "A home base that should reliably relay for your own favorited devices without acting as full public infrastructure.",
            "avoid_when": "You need to relay for the whole mesh — use ROUTER instead.",
            "source_url": "https://meshtastic.org/docs/configuration/radio/device/"
        },
        {
            "role": "TRACKER",
            "status": "active",
            "deprecated_since": null,
            "description": "Broadcasts its GPS position as priority packets.",
            "rebroadcast": "Awake only",
            "appears_in_nodedb": "yes",
            "power_cost": "regular / low",
            "best_for": "GPS trackers and moving assets whose main job is reporting location.",
            "avoid_when": "The device has no GPS, or you need a dedicated relay.",
            "source_url": "https://meshtastic.org/docs/configuration/radio/device/"
        },
        {
            "role": "LOST_AND_FOUND",
            "status": "active",
            "deprecated_since": null,
            "description": "Periodically broadcasts its location as a message on the default channel to help recover a lost device.",
            "rebroadcast": "Yes",
            "appears_in_nodedb": "yes",
            "power_cost": "regular",
            "best_for": "Temporarily locating a misplaced node.",
            "avoid_when": "Normal operation — it chats on the default channel and is not a general-purpose role.",
            "source_url": "https://meshtastic.org/docs/configuration/radio/device/"
        },
        {
            "role": "SENSOR",
            "status": "active",
            "deprecated_since": null,
            "description": "Broadcasts telemetry (sensor) packets as priority and sleeps between reports (no rebroadcast while asleep); for environmental or device-telemetry reporting nodes.",
            "rebroadcast": "Awake only",
            "appears_in_nodedb": "yes",
            "power_cost": "regular / low",
            "best_for": "Environmental or device-telemetry nodes whose primary job is reporting sensor metrics.",
            "avoid_when": "You need a dedicated always-on relay — use ROUTER or REPEATER.",
            "source_url": "https://meshtastic.org/docs/configuration/radio/device/"
        },
        {
            "role": "TAK",
            "status": "active",
            "deprecated_since": null,
            "description": "Optimized for ATAK (Android Team Awareness Kit) integration; reduces routine broadcasts.",
            "rebroadcast": "Yes",
            "appears_in_nodedb": "yes",
            "power_cost": "regular",
            "best_for": "Nodes paired with ATAK for tactical or team situational awareness.",
            "avoid_when": "You are not using ATAK.",
            "source_url": "https://meshtastic.org/docs/configuration/radio/device/"
        },
        {
            "role": "TAK_TRACKER",
            "status": "active",
            "deprecated_since": null,
            "description": "Standalone TAK node that automatically sends position (PLI) broadcasts and reduces routine traffic.",
            "rebroadcast": "Yes",
            "appears_in_nodedb": "yes",
            "power_cost": "regular",
            "best_for": "A GPS-equipped TAK node reporting position without a paired phone.",
            "avoid_when": "You are not using ATAK, or the device has no GPS.",
            "source_url": "https://meshtastic.org/docs/configuration/radio/device/"
        },
        {
            "role": "REPEATER",
            "status": "active",
            "deprecated_since": null,
            "description": "Infrastructure node that extends coverage by always rebroadcasting each packet once; no local user interface and does not appear in the node list.",
            "rebroadcast": "Yes",
            "appears_in_nodedb": "no",
            "power_cost": "high",
            "best_for": "Elevated, permanently-powered relay sites (hilltop or rooftop) whose only job is coverage.",
            "avoid_when": "Battery-critical or poorly-sited nodes — a REPEATER always rebroadcasts and is hidden from the node list, making faults hard to diagnose.",
            "source_url": "https://meshtastic.org/docs/configuration/radio/device/"
        },
        {
            "role": "ROUTER",
            "status": "active",
            "deprecated_since": null,
            "description": "Infrastructure node that extends coverage by always rebroadcasting each packet once; appears in the node list.",
            "rebroadcast": "Yes",
            "appears_in_nodedb": "yes",
            "power_cost": "high",
            "best_for": "Well-placed, mains- or solar-powered backbone nodes that should relay for the whole mesh.",
            "avoid_when": "Ground-level or battery-limited nodes — a misused ROUTER congests the mesh. Use CLIENT instead.",
            "source_url": "https://meshtastic.org/docs/configuration/radio/device/"
        },
        {
            "role": "ROUTER_LATE",
            "status": "active",
            "deprecated_since": null,
            "description": "Infrastructure node that rebroadcasts each packet once, but only after all other roles have taken their turn.",
            "rebroadcast": "Yes (after other roles)",
            "appears_in_nodedb": "yes",
            "power_cost": "high",
            "best_for": "A secondary or backfill relay behind existing routers, filling gaps without being the first hop.",
            "avoid_when": "You want the primary relay at a site — use ROUTER.",
            "source_url": "https://meshtastic.org/docs/configuration/radio/device/"
        },
        {
            "role": "ROUTER_CLIENT",
            "status": "deprecated",
            "deprecated_since": "2.3.15",
            "description": "DEPRECATED in firmware 2.3.15. Formerly combined ROUTER relaying with normal client messaging; removed to prevent misuse. Use CLIENT for a user device, or ROUTER / ROUTER_LATE for a dedicated relay.",
            "rebroadcast": "n/a (deprecated)",
            "appears_in_nodedb": "n/a",
            "power_cost": "n/a",
            "best_for": "— (deprecated; do not use)",
            "avoid_when": "Always — it no longer exists in current firmware. Choose CLIENT, or ROUTER / ROUTER_LATE.",
            "source_url": "https://meshtastic.org/docs/configuration/radio/device/"
        }
    ]
}