ATAK Over an Off-Grid Mesh Network

Using Meshtastic and a wonderful third-party plugin, you can configure ATAK to operate over an off-grid radio network. If you're familiar with goTenna, this is essentially a DIY version - for much cheaper, and with a lot more control over how you want to use your gear. The tradeoff is that it's harder to set up, but this guide will hopefully get you started.

Once you've got this all set up, you can use ATAK on your devices over a radio link that can (theoretically - terrain will modify this) reach for over ten kilometers, on small $30-ish devices that can run for roughly three days on an 18650 battery. If that sounds cool, let's get started.


Getting Set Up

  1. Get your hands on a meshtastic device (ideally several, since you'll need people to talk to!). I use the LILYGO TTGO T-Beam 915MHz version, which is around $30, but you can decide what you'd like based on this guide on the Meshtastic website.

    If you're not comfortable with using the command line, you may want to get a Meshtastic radio that comes with firmware pre-installed.

    Make sure your team gets radios that are all on the same frequency - if you're in the US, that frequency has to be 902-928 MHz to stay legal.
  2. Once the device arrives, assemble it - never power on the radio without an antenna attached as you could fry the radio hardware.
  3. If your device doesn't have firmware pre-installed, set up the device using this excellent getting started guide. Note the three tabs for Linux, macOS, and Windows. If you do have firmware pre-installed on the hardware you bought, skip this step.
  4. On the (Android!) phone you want to use for ATAK, enable installing unknown apps.
  5. Download the Meshtastic APK from https://github.com/meshtastic/Meshtastic-Android/releases/ and install it.
    (Get the most recent that is NOT alpha. You won't actually be using this app directly so don't worry about it too much.)
  6. Connect to a Meshtastic device using the instructions at
    https://meshtastic.org/docs/software/android/android-usage#connecting.
  7. Install the ATAK and atak-forwarder APKs by downloading them from the links below and hitting "install" on both APKs.
  8. Follow the instructions at https://github.com/paulmandal/atak-forwarder#setting-up-your-comm-device to set up your ATAK instance to use a meshtastic radio and to get your team on the same channel.
To get the ATAK APK, use the Google Play store or download it directly as described here. The ATAK plugin APK is available straight from the developer here.

If you'd like, you can also build the plugin from source using the code available on GitHub, but I'll warn you now it's a bit of a slog.

I did not write this plugin, and would like to thank Paul Mandal for doing so.

The steps above should be enough to get you rolling. If you want more details on things to keep in mind while using this plugin, read on.


More Detail

One thing to keep in mind is that there are several elements that work together to help ATAK work over a radio link. They are different, but easily confused.

The physical devices are LoRa radios running Meshtastic. Meshtastic is both the software that runs on the radios themselves (providing the ability to move data through the air) and also an app which can use those radios to send chat messages and provide a map of your team's location. I'll use the terms "meshtastic radios" and "meshtastic app" to keep these separate. The radios are what we will mostly be using here, whereas instead of the app we'll be configuring the radios to transmit data for ATAK. If you like, you can just use the Meshtastic app with the Meshtastic radios, which is much, much easier to set up but doesn't have the features of ATAK.

So, ATAK: what we're doing here is installing a plugin for ATAK which communicates over the meshtastic radios. The plugin itself handles the job of translating information from something ATAK understands to something that can be sent over the radio (and then back).

One thing to keep in mind is that these radios are fairly long range, and have longer-than-usual battery life, but that comes at the cost of speed. If you want a few technical details on how the ATAK plugin handles this, you can look here, but the short version is that every time you do something in ATAK that needs to be sent out to your team, it goes in a list of "to-be-sent" messages that are transmitted one by one as soon as possible. The list is prioritized such that chat and PLI messages skip to the front of the line (with equal priority), and markers are sent afterward.

In practice, this means that if your team is using ATAK extremely heavily, you may notice delays in synchronizing among your team. Eventually everything will synchronize, but suddenly putting down a lot of markers, sending a lot of chat messages, and so on can and will clog up the system and cause delays.

You'll have to determine through trial and error how much is "too much" and adjust your usage accordingly. The ATAK plugin itself offers some help here as well, in that you can configure the channel your team is using to be shorter range but faster or longer range but slower - with several options in the middle depending on your needs. Again, you'll have to determine through practice what exactly the maximum range is for each setting when you're actually out among the terrain near you, but in theory the longer range settings should go out to over ten kilometers - though the tradeoff is that your radio net will be much slower.

Under all of this, the radios you'll be using are running a protocol called LoRa, which is similar to chirp spread-spectrum modulation. If you want to know how to get more range out of these devices, see the guide to antennas, provided by Meshtastic, or use relay devices. Since the Meshtastic radios are a mesh network, as long as you're within range of a node, and that node is in range of another, you can communicate with the far node even if you can't see it directly, thanks to the middle node repeating your signal. Some teams will leave solar-powered Meshtastic devices on the tops of hills or up in tall trees to act as long-range relay nodes - the possibilities are broad.

If you're worried about the devices running out of power due to protracted use, a guide to understanding power consumption is also provided.

Hopefully this is enough to get your off-grid ATAK network operational! I'll be doing my best to keep this post updated (and may be posting more details about the radio mesh on this site as I get to know it better). If you have any questions or want to share something awesome, say hi at ecologist@cogecog.com.