MQTT (Message Queuing Telemetry Transport) allows a Meshtastic node with internet access to publish selected mesh traffic to an MQTT broker and optionally receive MQTT traffic and rebroadcast it onto the radio mesh.
MQTT is commonly used to connect separate RF areas, support web based maps, and allow limited communication when direct radio paths do not exist.
Caution:
Do not enable MQTT on solar or battery powered nodes unless you have confirmed reliable power and connectivity. MQTT requires maintaining an active internet connection and increases power draw.
When to Use MQTT
- Publishing node location and telemetry to maps
- Bridging separated RF areas together
- Supporting mobile users when RF coverage is limited
MQTT is optional. A healthy local mesh does not require MQTT to function.
Step 1: MQTT Module Configuration
MQTT settings are configured only on the node that has internet access. This node can use WiFi, Ethernet, or a phone connection.
- Enable MQTT: On
- Server Address:
mqtt.nwimesh.net - Username:
meshdev - Password:
large4cats - Root Topic:
msh/US/IN/NWI - MQTT Encryption: Optional. This is message level only
- The “Encryption Enabled” option controls the “message-level” encryption – so the same encryption that’s used over LoRa is left in place when messages are uploaded to MQTT.
- JSON: Off unless required for integrations
Connection behavior:
- WiFi or Ethernet nodes: Proxy to Client Off
- Phone connected nodes: Proxy to Client On
Step 2: Channel Uplink and Downlink
MQTT behavior is controlled per channel. Uplink and Downlink determine what traffic is published to MQTT and what traffic is rebroadcast onto RF.
- Uplink Enabled: Publishes radio traffic to MQTT
- Downlink Enabled: Subscribes to MQTT and rebroadcasts traffic on RF
Caution:
Only enable Downlink if you have a very stable internet connection and intentionally want MQTT messages injected into your local radio mesh. Excess downlink traffic can overwhelm a small or dense mesh.
Recommended Baseline Configuration
This configuration is recommended for most users who want their node to appear on maps.
- MQTT Enabled
- Primary Channel Uplink Enabled
- Primary Channel Downlink Disabled
- OK to MQTT Enabled
- Ignore MQTT Disabled
Position Reporting for MQTT
MQTT maps rely on position reports. Position settings control how often and how accurately your node reports its location.
- Position Enabled: On
- Precise Location: Off
- Position Broadcast Interval: 1800 seconds for fixed nodes
Shorter intervals should only be used for mobile nodes when necessary.
Common Reasons MQTT Does Not Work
- MQTT module is disabled
- OK to MQTT is turned off
- Ignore MQTT is turned on
- Incorrect broker credentials
- TLS mismatch with the broker
- No internet connectivity
Summary
- MQTT is optional and not required for a working mesh
- Use MQTT on powered and stable nodes
- Enable Uplink cautiously and Downlink intentionally
- Protect credentials and use TLS when available