MeshCore LetsMesh Observer
LetsMesh analyzer: https://analyzer.letsmesh.net/
What Is LetsMesh?
LetsMesh is a packet analyzer and observer network for MeshCore. It collects packet reports from observer nodes to help communities understand coverage, routing quality, and overall network behavior. MeshMapper also uses data from letsmesh for wardriving.
What Does an Observer Do?
An observer is an MQTT-connected MeshCore node that reports packets it hears to LetsMesh. Observers can be repeater, room server, or companion setups depending on your node type.
NEO Observer Status
You can view active observers for NEO here:
Set Up an Observer
To set up your own observer, follow the LetsMesh onboarding instructions:
Add the NEO Mesh Broker
Once your observer is reporting to LetsMesh, add the NEO Mesh MQTT broker as a second broker so the same packets also feed NEO Mesh tools like the Live Map. Keep LetsMesh configured as-is.
NEO Mesh MeshCore broker:
- Hostname:
mqtt.neomesh.org - Port:
1883(plain MQTT over TCP, no TLS) - Username:
neomesh - Password:
meshneo - Topics: leave at the defaults (
meshcore/{IATA}/{PUBLIC_KEY}/...)
meshcoretomqtt
If your observer uses meshcoretomqtt, add a broker block to your user config (requires root):
sudo vim /etc/mctomqtt/config.d/99-user.toml
[[broker]]
name = "neomesh"
enabled = true
server = "mqtt.neomesh.org"
port = 1883
[broker.auth]
method = "password"
username = "neomesh"
password = "meshneo"
Brokers are merged by name, so this adds NEO Mesh alongside your LetsMesh brokers rather than replacing them. Make sure iata under [general] is set to CLE, then restart the service and confirm both brokers connect:
sudo systemctl restart mctomqtt
sudo journalctl -u mctomqtt -f
MQTT observer firmware
If your observer runs the standalone MQTT observer firmware (flashed from observer.gessaman.com), configure the NEO Mesh broker in MQTT slot 2 from the CLI. This leaves the broker in slot 1 untouched.
If your device supports a third MQTT slot, you can use mqtt3 instead of mqtt2 in the commands below and keep slot 2 free.
set mqtt2.preset none
set mqtt2.audience
set mqtt2.filter
set mqtt2.preset custom
set mqtt2.server mqtt.neomesh.org
set mqtt2.port 1883
set mqtt2.username neomesh
set mqtt2.password meshneo
set mqtt.iata CLE
set mqtt.status on
set mqtt.packets on
Check it with:
get mqtt2.preset
get mqtt2.server
get mqtt2.port
get mqtt2.topic
get mqtt.iata
get mqtt.status
Other observer setups
If your observer uses different software or firmware, add a second MQTT broker using the values above and leave its topic settings at the defaults.
MeshMapper + Wardriving
MeshMapper for NEO runs off LetsMesh observer data. For MeshMapper links and wardriving details, see: