On this page

The health check generates a short one-off string — the Active Code. You send that code as a message on the #health-palouse channel from your own node. Every observer that receives the packet reports it back to our MQTT broker, and the site shows which ones matched, how many hops it took, and the SNR each one saw.

Nothing is installed and nothing is configured on your radio. It is a normal channel message — the code is just a unique string so the backend can match your transmission against observer reports instead of guessing.

1
Open the health check

Open https://health.palouse-mesh.net/app and keep it open — every step below happens there.

2
Add the channel

Add #health-palouse in the MeshCore companion app. Scan this code with the phone running MeshCore:

Add #health-palouse in the MeshCore companion app. This link opens the app with the channel prefilled:

Add #health-palouse to MeshCore
meshcore://channel/add?name=%23health-palouse
Keep this channel for health checks. Ordinary conversation belongs on #thepalouse — a quiet test channel makes the results easier to read.
3
Pick your observers

On the site, use the Observers panel to select which observers you want to score against. The default set is fine for a general coverage check; narrow it down if you are testing reach toward one specific site.

4
Send the Active Code

Copy the Active Code from the Session Control panel — the Copy button puts it on your clipboard — and send it as a message on #health-palouse. Send the code and nothing else; extra text is fine but the code has to be in the message for the backend to match it.

New Code starts a fresh session. Use it if you want to run a second check without the first one's results mixed in.

5
Read the results

Observers report in over the next few seconds as the packet propagates. Each one that heard you appears in Observer Reports with its receipt time, and the timeline shows the spread between the first and last receipt. The coverage map plots the observers that have known coordinates.

Zero reports is a result too — it means no observer in the selected set heard the packet, which is usually a placement, antenna, or path problem rather than a broken radio.

Observers currently feeding the health check:

Observer Location
Pullman-Obs-RF Pullman, WA
PalouseMesh-obs Palouse, WA
LBR Room Observer Kendrick, ID
KC7BIV St John, WA — scoped runs only; the St John repeater denies non-scoped packets
EPH Observopeater Ephrata, WA
Tri-Cities. Their observers are set up differently and do not feed this tool. We may find another way to include them. Their data is still in CoreScope and Beacon — it is only the health check they are absent from.

The same mechanism is useful for region scope work. Send a check with a scope set on the channel and you can see exactly where the flood stopped — which observers still heard it and which did not. That is a direct read on whether the repeaters in the path are carrying the scope you expect, rather than inferring it from missing traffic later.

Background on how scopes propagate is on the Scopes page. KC7BIV sits behind the St John repeater, which denies non-scoped packets. An unscoped health check cannot reach it, so it only reports on scoped runs.

Thanks to all of our observer owners for pointing their hardware at our MQTT broker for the benefit of the mesh. The tool is only as good as the observer coverage behind it.