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.
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 |
|---|---|---|
![]() |
Connected | MQTT bridge is active — uplink and downlink both enabled. |
![]() |
Uplink Only | Publishing mesh packets to the broker but not subscribing to incoming packets. |
![]() |
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.
Go to Settings → MQTT:

| 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. |
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.Meshtastic publishes to:
<root_topic>/<region>/<channel_index>/<node_id>/<packet_type>
Example: msh/US/2/!a1b2c3d4/text
mqtt.meshtastic.org.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.