National Cyber Warfare Foundation (NCWF)

Off-Grid Communications, Part 3: Extending Meshtastic Communication Range with MQTT Bridges


0 user ratings
2026-01-27 14:24:34
milo
Red Team (CNA)
In this article, we will configure a Lilygo T-Echo device to use a public Meshtastic MQTT server and explore how to communicate with it over a long distance from your local mesh network.

Welcome back, aspiring cyberwarriors!





LoRa-based mesh networks allow us to communicate over impressive distances without relying on cell towers, internet connections, or any central authority monitoring our conversations. However, even the most powerful antennas have a limitation: physical range. When the nodes are too far apart for LoRa radio to connect, or when physical barriers like mountains and valleys obstruct line-of-sight communication, the mesh can break into isolated segments.





To address this issue, MQTT bridges were developed. By using the MQTT protocol to connect distant mesh networks through internet backhaul, we can extend our communication range from a few kilometers to virtually anywhere on the planet with internet access. The advantage of this approach is that it maintains the decentralization of your local mesh, utilizing internet connectivity only where it’s needed to bridge gaps. Your sensitive communications continue to flow through the local mesh in an encrypted and private manner.





In this article, we will configure a Lilygo T-Echo device to use a public Meshtastic MQTT server and explore how to communicate with it over a long distance from your local mesh network. Let’s get rolling!





Understanding MQTT Bridge Architecture





Before we get into the setup, you need to understand how MQTT bridges work with Meshtastic. When you set up a node as an MQTT bridge, that node keeps working as a normal mesh radio while also connecting to an MQTT broker over WiFi or cellular data. Every message that goes through your local mesh can be sent to the MQTT broker, where any other MQTT-connected nodes around the world can see it. The same works in reverse: messages from distant nodes come through the broker to your bridge and get sent into your local mesh network.





The important thing to know is that the T-Echo device doesn’t have WiFi or cellular built in. This means we need to use it with a device that has internet. The easiest way is to pair the T-Echo with your smartphone running the Meshtastic app, which provides the internet connection through your phone’s data. The T-Echo talks to your phone through Bluetooth, and your phone handles the MQTT connection to the broker.





Source: https://meshtastic.org




Understanding Meshtastic MQTT Communication Options





Meshtastic MQTT provides two communication paths: the native LoRa mesh and an Internet-backed bridge. Use the LoRa mesh for local, radio-based messages, and utilize MQTT when you need to reach nodes that are out of radio range or to connect geographically separated meshes.





There are two common ways to enable MQTT:





Proxy Mode: In this mode, the node uses your phone’s Internet connection as a proxy. This requires a Bluetooth connection to your phone (we’ll use it).





Wi-Fi Gateway: A node equipped with Wi-Fi capability (e.g., ESP32-based devices such as T-Beam or Heltec) can connect directly to your network and act as an MQTT gateway for the entire local mesh.





Understanding MQTT Topics





Meshtastic MQTT employs topics to manage message routing and filtering. The default root topic structure is msh/REGION/ (for example, msh/US/ or msh/EU_868/). In addition, messages sent over MQTT maintain the same encryption as those transmitted via LoRa radio. However, it’s important to understand that the default LongFast channel uses a publicly known encryption key, which means that messages are technically ‘encrypted’ but can be visible to anyone subscribed to the MQTT broker.





Configuring MQTT Settings in the Mobile App





In the Meshtastic app, tap on the settings icon and navigate to the MQTT section. You’ll see several configuration options that need to be set correctly for the bridge to function.










To enable MQTT, start by toggling the switch at the top of the MQTT settings screen. The public Meshtastic MQTT server address should be set to mqtt.meshtastic.org. In my case, this was entered by default, but if it’s not in yours, you will need to input it manually. The username is meshdev, and the password is large4cats. Additionally, make sure to enable TLS to secure your traffic while it is transmitted between your phone and the server. Finally, ensure that the “Proxy to client” option is enabled.





Next, you need to switch to LoRa settings to make sure that “Ignore MQTT” is turned off, as shown below.









Almost ready, we need to allow MQTT for our channels. MQTT bridging in Meshtastic is configured on a per-channel basis, which means you can choose which channels get bridged to MQTT and which remain local-only. Navigate to the Channels section of the app settings to configure this behavior.









Tap on this channel to edit its settings. Find the uplink-enabled and downlink-enabled options. Uplink enabled means that messages sent on this channel will be published to the MQTT broker, making them available to distant nodes. Downlink enabled means that messages received from the MQTT broker will be injected into your local mesh on this channel. For a full bidirectional bridge, you want both options enabled.





However, think carefully about security before turning on MQTT on your main channel. Any message that goes through the public MQTT server can be seen by anyone who subscribes to the same topics. If you’re sharing sensitive information, you should keep your main channel local-only and not connect it to MQTT at all. You can create a separate channel just for MQTT and use it only for general messages that don’t put your operations at risk.





At this point, MQTT should be functioning correctly. To verify everything is set up properly, open the Nodes list, and you should see new nodes with ‘MQTT’ in their names.









At this point, you’ll see users from hundreds of kilometers away from you.





Summary





I hope this tutorial showed you not just how to configure an MQTT bridge, but why this capability fundamentally transforms what’s possible with mesh networks. We covered the architecture of MQTT bridging, walked through configuring a Lilygo T-Echo as a bridge node, and demonstrated how to connect local LoRa mesh networks to the global Meshtastic infrastructure through the public MQTT server.





Keep returning as we continue exploring advanced mesh networking techniques and building communication systems that can’t be easily disrupted or controlled.



Source: HackersArise
Source Link: https://hackers-arise.com/off-grid-communications-part-3-extending-meshtastic-communication-range-with-mqtt-bridges/


Comments
new comment
Nobody has commented yet. Will you be the first?
 
Forum
Red Team (CNA)



Copyright 2012 through 2026 - National Cyber Warfare Foundation - All rights reserved worldwide.