How to Feed the Mesh Map

Share your Meshtastic or MeshCore node with ArkSignal. A Meshtastic node needs a few settings in its app; a MeshCore repeater or companion runs one small program. Your node then appears on the Mesh Nodes list and the Mesh Map, and any node that uplinks tells us what it hears, so the map can show who hears whom.
The Short Version
MQTT serverfeed.arksignal.allisononline.org
Port (TLS)8883
Username and passwordYour own, made on My Mesh Nodes (sign in or register first)
Meshtastic root topicmsh/US/AR
MeshCore topicsmeshcore/<your airport code>/<your public key>/packets

Put those into your node (Meshtastic: MQTT module; MeshCore: the meshcoretomqtt program), switch on map reporting for Meshtastic, and wait for the next report (about every 15 minutes). The exact steps are under Software Setup.

Your node is identified by its own number (Meshtastic, shown as !a1b2c3d4) or its public key (MeshCore). Everything the network is doing right now is on the service status page.

How It Works

Mesh radio networks let small LoRa radios pass short messages from one to the next with no towers and no internet. Two systems are common in Arkansas: Meshtastic, which nearly all of the area's nodes run, and MeshCore, a newer one built around repeaters. Neither needs the internet to work, but a node that does have internet can tell a map about itself and about what it hears. That is what you share here.

SystemWhat you send and what we keep
Meshtastic map reportYour node tells the map who it is on purpose: its name, hardware, role, firmware, region and position (as rough as you set it). It is a public packet by design.
Meshtastic gatewayA node with MQTT uplink also passes on what it hears: other nodes' position, node information and telemetry, with the signal. That is how the map learns who hears whom. Only those packet types are kept.
MeshCore observerA repeater or companion running meshcoretomqtt passes on the packets its radio hears. Only the adverts (a node announcing its name, kind and position, signed with its own key) are kept; the signature is checked.
Everything elseText messages and private channels are encrypted and are never decrypted, stored or shown. They are dropped as soon as they arrive.

So your node can send what it sees about other nodes directly to us: turn on MQTT uplink on a Meshtastic node, or run the observer program for MeshCore, and point it at the server above. Each message carries which gateway or observer heard it and how well, and the node pages show that as Heard By. It is measured from what was heard, not a prediction.

What You Need
  • A node: a Meshtastic device (a T-Echo, RAK WisBlock, Heltec or T-Beam, for example) or a MeshCore repeater or companion.
  • A way onto the internet: for Meshtastic, the node's own Wi-Fi or Ethernet (ESP32 boards and some RAK boards), or the Meshtastic phone app with MQTT proxy turned on. For MeshCore, a small computer (a Raspberry Pi) connected to the repeater or companion by USB or serial, running meshcoretomqtt.
  • A good position: the node's location, shared as roughly as you like (Meshtastic's map precision setting).
  • A network connection that can reach feed.arksignal.allisononline.org on TCP port 8883 (see Ports).
Hardware
ItemOptions and Notes
Meshtastic nodeThe supported devices include the LILYGO T-Echo and T-Beam, RAKwireless WisBlock kits and Heltec V3. Wi-Fi capable boards (ESP32) can uplink to MQTT on their own; nRF52 boards (T-Echo, RAK4631) use the phone app's MQTT proxy or a Wi-Fi gateway node.
MeshCore nodeMeshCore runs on many of the same boards. A repeater sits high and links the mesh; a companion pairs with a phone. Either can serve as an observer when a small computer reads its packets.
AntennaA 915 MHz (US) antenna; outdoors and high beats indoors and low, and a better antenna helps the whole mesh more than a stronger radio.
Observer computerA Raspberry Pi or any small Linux machine for meshcoretomqtt (MeshCore only).
Hardware Setup
  1. Mount the antenna as high as practical with a clear view; keep metal and other radios away from it.
  2. Set the node's region to US and keep a LoRa preset the Arkansas mesh uses (Meshtastic: Long Fast is the default; ask your local community, below, if unsure).
  3. Give the node a real position (a GPS fix or a position set in the app) so the map can place it.
  4. For MeshCore, connect the repeater or companion to the observer computer by USB and note its serial port (ls /dev/ttyACM*).
  5. Give the node or the observer computer a reliable internet connection.
Software Setup

Meshtastic: in the app

  1. Open the node in the Meshtastic app (or the web client). Under Radio Config → Module Config → MQTT turn Enabled on.
  2. Make a login on My Mesh Nodes (it fills in every value below for you), then enter the Address, Username and Password, turn TLS Enabled on and set the Root topic to msh/US/AR.
  3. Turn Map Reporting on, accept the notice, and choose the position precision (the coarser, the more private). The node then sends its map report about every 15 minutes.
  4. To also tell us what your node hears (who hears whom): leave MQTT on, turn Encryption Enabled off and, under Channels, turn Uplink Enabled on for the primary channel only. Do this only if the primary channel is the public default (Long Fast with the default key). Uplink sends the channel's packets to the broker in the clear, so never switch it on for a private channel. We keep only positions, node information and telemetry, never text.
  5. If the node has no Wi-Fi, turn MQTT proxy to client on in the same module and keep the phone app connected to the node.

Meshtastic: the same with the command line

meshtastic --set mqtt.enabled true \
  --set mqtt.address feed.arksignal.allisononline.org \
  --set mqtt.username YOUR_USERNAME --set mqtt.password YOUR_PASSWORD \
  --set mqtt.tls_enabled true --set mqtt.root msh/US/AR \
  --set mqtt.map_reporting_enabled true
# to also report what the node hears (public default channel only):
meshtastic --set mqtt.encryption_enabled false --ch-index 0 --ch-set uplink_enabled true

MeshCore: the observer program

  1. Install meshcoretomqtt on the computer the repeater or companion is plugged into (its README has the install steps and the serial port setting).
  2. Add our broker in its config.d/99-user.toml. You can keep any other broker it already uses.
  3. Restart it. Adverts heard by your radio appear on the map within a few minutes; each shows your observer in Heard By.
[[broker]]
name = "arksignal"
enabled = true
server = "feed.arksignal.allisononline.org"
port = 8883
tls.enabled = true
auth.method = "password"
auth.username = "YOUR_USERNAME"
auth.password = "YOUR_PASSWORD"

Your username and password are on your page of My Mesh Nodes, already written into these lines.

Only adverts are kept: the program forwards every packet it hears, and everything that is not an advert (the encrypted chat) is dropped unread when it reaches us. Your radio also needs its location and a name set on the repeater so its advert carries them.

After You Are Feeding
  1. Search for your node's name on the Mesh Nodes list; its page shows what it published and which gateways or observers heard it.
  2. Find it on the Mesh Map; select it to see lines to everything that hears it, colored by signal.
  3. A node without a published position is listed but not mapped: turn on map reporting (Meshtastic) or set the location on the repeater (MeshCore).
  4. To have a node left off the pages, ask (Contact).
Local Meshes and Maps

Communities in Arkansas and the states around it, and the public maps. Their data is theirs; these are links.

Ports and Firewall

Your node only makes outbound connections. You do not need to open or forward anything on your router.

WhatDirectionDestinationPort
Meshtastic MQTT, MeshCore observeroutbound TCP (TLS)feed.arksignal.allisononline.org8883

If your network filters outbound traffic (some schools, businesses and carrier-grade NAT connections do), allow that port to the host name above. A Meshtastic node on the phone app's MQTT proxy uses the phone's own connection.

Troubleshooting
SymptomWhat to check
My Meshtastic node is not on the listThe map report goes out about every 15 minutes. Check MQTT is enabled, the node or phone is online, TLS is on with the port above, the username and password are right, the region is US and Map Reporting is on with a position.
It is listed but not on the mapA node without a published position is listed only. Turn on position sharing in the map report settings (Meshtastic) or set the location on the repeater (MeshCore).
The position is not exactThat is the precision you set; the pages show what the node published, never more.
Heard By is emptyOnly a gateway (Meshtastic uplink with Encryption off) or an observer (MeshCore) reports who heard whom. A node that only sends its own map report appears, but nothing says who heard it.
The broker refuses the connectionThe login or the TLS setting is wrong, or the broker is not open to nodes yet (the box under The Short Version is empty). Check service status.
A MeshCore node is missingOnly adverts with a valid signature are used, and only nodes in the Arkansas area (with a margin) are kept. A repeater must advertise (flood advert) for observers to hear it.
Your Data and Privacy
  • Only what a node publishes in the clear is used: the Meshtastic map report, position, node information and telemetry, and MeshCore adverts. Anything encrypted, chat above all, is never decrypted, stored or shown.
  • The pages show the node's name, hardware or kind, firmware, the position it published at the precision its owner chose, when it was last heard and which gateways or observers heard it. Nodes not heard for a while are forgotten.
  • To have a node left off, ask (Contact): it is removed and not shown again.
  • Each member's login is their own. It lets a node publish to the mesh topics and never read anything, and switching one off or deleting it refuses that node at once without touching anyone else's. Passwords are kept sealed.
  • If you tick "show my name" on a login, the pages of the nodes you list say they are run by you; otherwise your name is never shown.
More Help