📡 Observer Matrix — Chicago Mesh

auto-refresh 30s
📡 Got a node? Add your packet data to the live map ↓ · 🔭 Deep per-observer telemetry in CoreScope →
Observer Key Prefix Model Firmware / Client IATA Uptime Pkts/hr ⏰ Clock Repeat 📡 Neighbors

Connecting to MQTT sources…

Connect Your Observer

Configure a MeshCore observer node to publish packet data to the Chicago Mesh MQTT broker. Your node's data will appear in the matrix above and feed into CoreScope, Live Map, and Health Check.

What's an observer? An observer is a MeshCore node running firmware that captures packets heard over LoRa radio and publishes them to an MQTT broker over WiFi. It's like a packet sniffer for the mesh — you don't need to be a repeater or route traffic, just listen and report.

Prerequisites

Recommended Chicagoland Firmware v1.17.0-chioff-0.14.0

Flash the Chicagoland firmware — all MQTT brokers, radio settings, and IATA region are baked in. Just add WiFi, identity, and location.

Step 1: Flash

  1. Download the *-merged.bin for your board from the v1.17.0-chioff-0.14.0 release — e.g. heltec_v4_dedicated_observer_mqtt-…-merged.bin, Heltec_v3_dedicated_observer_mqtt-…-merged.bin, Heltec_WSL3_dedicated_observer_mqtt-…-merged.bin, or Station_G2_dedicated_observer_mqtt-…-merged.bin
  2. Open flasher.meshcore.co.uk in Chrome/Edge
  3. Select Custom Firmware, pick your file, enable "Erase device", and flash

Firmware variants: each board has dedicated_observer (listen-only), repeater_observer (repeater + observe), and room_server_observer builds. Pick the one matching your node's role. Heltec V4 also has expansionkit variants.

Step 2: Configure via Serial (115200 baud)

# Set identity
set name MyObserver

# Configure WiFi
set wifi.ssid YourNetworkName
set wifi.pwd YourPassword

# Set location (find yours at latlong.net)
set lat 41.8781
set lon -87.6298
set alt 180

# Owner contact (email — NOT mqtt.owner, which wants a pubkey)
set mqtt.email you@example.com

# Apply and reboot
reboot

Note: mqtt.iata is pre-set to ORD (Chicago) in the Chicagoland firmware — you do not need to set it manually. MQTT brokers and radio parameters are also baked in.

Handy CLI commands

get public.key      # your node's public key (used in the MQTT topic)
get prv.key         # private key (keep secret; back it up)
get wifi.status     # WiFi connection state
get mqtt.status     # per-slot broker connection state
get mqtt.iata       # should print ORD
advertise           # send a MeshCore ADVERT now

What's Baked In

Advanced Plain TCP (Any MeshCore Firmware)

If you're running stock MeshCore firmware (not chioff-flex), you can point it at our plain TCP broker manually:

set mqtt.server mqtt.chicagooffline.com
set mqtt.port 1883
set mqtt.iata ORD
reboot

Connection Details

Integrations Broker Connection Info (OpenHop Router & other apps)

To point an external application — e.g. OpenHop Router, a custom bridge, or any MQTT client — at the Chicago Mesh broker, use one of the endpoints below.

WebSocket Secure (recommended — TLS + JWT)

Plain TCP (no auth, no TLS — simplest for LAN/testing)

Topics & region

OpenHop Router: set the broker to the plain-TCP endpoint mqtt.chicagooffline.com:1883 (topic root meshcore/ORD) for the simplest setup, or the WSS endpoint if your build supports WebSocket + JWT. Match the radio params (910.525 MHz / BW 62.5 / SF7 / CR5) on any RF-facing side.

Dev broker

Verification

After configuring and rebooting, confirm your node is connected:

  1. Check serial output — look for [MQTT] Connected
  2. Check the matrix above — your node should appear within a few minutes
  3. Check CoreScope — look for your packets at scope.chicagooffline.com

Troubleshooting

More Resources