MQTT

The MQTT module allows a Meshtastic node to bridge mesh traffic to an MQTT broker, extending the mesh over the internet and enabling integration with home automation systems.

What MQTT Does

A node with MQTT enabled acts as a gateway: it publishes received mesh packets to an MQTT broker and optionally subscribes to a topic so that remote nodes can inject packets back into the local mesh.

Icon State Description
MQTT connected Connected MQTT bridge is active — uplink and downlink both enabled.
MQTT uplink only Uplink Only Publishing mesh packets to the broker but not subscribing to incoming packets.
MQTT disconnected Disconnected MQTT is configured but not currently connected to the broker.

This enables two mesh networks in different physical locations to appear as one logical network — as long as at least one node in each location has internet access.

Configuring MQTT

Go to Settings → MQTT:

MQTT Config

Setting Description
MQTT Server Hostname or IP of your MQTT broker (e.g., mqtt.meshtastic.org for the public broker).
Port Default is 1883 (unencrypted) or 8883 (TLS).
Username MQTT broker username (optional).
Password MQTT broker password (optional).
Root Topic The topic prefix for all published messages (default: msh). Find Topics shows the topics for your region, state and city and the topics active on your broker.
Enabled Toggle MQTT bridging on/off.
Encryption Enabled Encrypt packets before publishing. Recommended — prevents the broker from reading message content.
JSON Enabled Removed. JSON packet support was deprecated and removed in firmware.
TLS Enabled Use TLS for the MQTT connection. Requires a broker with TLS support.
Proxy to Client Route MQTT traffic through the phone app rather than directly from the radio. Useful for radios without Wi-Fi.
Warning — Custom root topic reset Radio firmware 2.7.12 through 2.8.0 has a bug that can replace a custom root starting with msh, such as msh/US/bayarea, with the new region's default (msh/EU_868 after switching to EU_868, for example) when the LoRa region is changed. Saving other LoRa settings leaves it alone. After changing the region, return to MQTT, restore your custom Root Topic, and tap Save. Read the setting back from the radio to confirm it was saved. The fix is in radio firmware 2.8.1 and later; updating the Apple app alone does not fix the radio.

Topic Structure

Meshtastic publishes to:

<root_topic>/<region>/<channel_index>/<node_id>/<packet_type>

Example: msh/US/2/!a1b2c3d4/text

Security Considerations

Public Broker

The public MQTT broker at mqtt.meshtastic.org is available for testing. Do not transmit sensitive information over the public broker. Use it only for initial setup verification.