KevsRobots Learning Platform
80% Percent Complete
By Kevin McAleer, 6 Minutes
Work down this list in order. As in part one, most problems are in the first few items, and most of those are radio settings or wiring.
Before anything clever:
get radio on each - 869.618, 62.5, 8, 8get role tells you what you actually flashedget radio on the server. Compare all four numbers against a working clientget role - confirm it really is running room server firmwareadvert on the console while someone watches their contacts listget guest.password - is it what you told them?clock - is the serverβs time right? Sync itget allow.read.only - if on, they may be joining read-only without realisingstats-core - what is the uptime? If it keeps resetting, it is a power problemset guest.password and give them the password. Read-only access looks like a successful join until the first post fails.
stats-core on the server - is the queue backing up?sensor list shows nothing but batteryIn order:
reboot. Detection runs at boot only - this is the single most common causesensor list is not a recognised command, it does notYou have a short on the I2C bus. Check SDA to SCL and SDA to GND. The screen shares the bus, which makes it a free fault indicator.
| Symptom | Likely cause | Fix |
|---|---|---|
| Temperature 1-2Β°C high | Self-heating from the board | Move sensor onto a short lead in free air |
| Temperature wildly high | Direct sunlight | Shade it |
| Humidity stuck at 100% | Condensation on the element | Dry it out somewhere warm |
| No humidity at all | It is a BMP280, not a BME280 | Check the lid for the vent hole |
| Pressure a few hPa off | Normal absolute accuracy | Use the trend, not the value |
| Battery voltage wrong | ADC multiplier needs calibrating | set adc.multiplier |
| Distance jumping around | Dirty lens or awkward target | Clean it, aim square at the surface |
set tx and lengthen advert intervalsThese commands are your instrument panel:
| Command | Tells you |
|---|---|
ver / board |
Firmware and hardware - start here |
get role |
What this node actually is |
get radio / get freq |
Whether it can talk to anything |
stats-core |
Uptime, battery, queue depth |
stats-radio |
RSSI, SNR, noise floor |
stats-packets |
Whether it is hearing anything at all |
sensor list |
What sensors were detected at boot |
clock |
Time - critical for room servers |
get acl |
Who has what permission (serial only) |
A useful habit: run stats-radio when everything is working and write down the noise floor. When something degrades in six months, you will have a baseline to compare against, and that turns guesswork into diagnosis.
Sometimes the fastest fix is a clean slate:
erase
reboot
Then reflash and reconfigure. Ten minutes, and it eliminates every accumulated mistake at once.
For a room server, note what you are losing: erase clears configuration and the buffer. Tell your group first.
stats-radio output from every node in your mesh. That set of baselines is your future selfβs best diagnostic tool.Problem: Everything worked on the desk and nothing works once deployed.
Solution: The problem is physical - range, obstruction, antenna orientation, or power.
Why: Settings problems are all-or-nothing and would have failed on the desk too. Gradual, position-dependent failures are always physical.
Problem: I have tried everything and it still will not work.
Solution: erase, reflash, and rebuild the configuration on the desk with all nodes a few metres apart.
Why: Debugging two unknowns at once is much harder than starting from a known good state and adding one variable at a time.
You can use the arrows β β on your keyboard to navigate between lessons.
Comments