MeshCore Repeater Diagnostics via Serial Console

The MeshCore serial console provides direct access to repeater state and diagnostic information. Connecting via USB to a deployed repeater is the most reliable way to diagnose problems that cannot be addressed remotely.

Connecting to the Serial Console

On Windows: use PuTTY or the Arduino Serial Monitor. On Linux/Mac: use screen or minicom as a serial terminal.

# Linux/Mac
screen /dev/ttyUSB0 115200

# Windows (PuTTY): Connection Type = Serial, Speed = 115200, COM port varies

MeshCore boards use 115200 baud for the serial console, including RAK boards. (If you have configured an attached GPS module, that module's own UART may run at a different baud rate such as 9600 - but that is a separate interface from the console.)

Key Diagnostic Commands

These are commands from the on-device MeshCore serial CLI (see docs.meshcore.io/cli_commands). There is no single combined "status" command - health information is split across several get ... and stats-... commands.

CommandOutputUse for
verFirmware versionConfirm firmware build
stats-coreBattery voltage, uptime, queue depthOverall health check
get radio / get freqRadio config (frequency, bandwidth, SF, coding rate)Verify radio settings match the network
neighborsUp to the 8 most recently heard nodes, with timestamp and SNRVerify which nodes are reaching this repeater
stats-packetsPacket counters: Received and SentIdentify traffic/routing problems
stats-radioNoise floor, last RSSI/SNR, airtime, receive errorsSignal quality of last received packet
logPrints a captured rx log (must first be started with log start, stopped with log stop, cleared with log erase)Capture and review received-packet activity
reboot(restarts device)Recover from hung state

Note: contacts and list are companion/client-side concepts, not repeater serial commands - on a headless repeater, use neighbors instead. The log command is a packet/rx capture you start and stop, not an always-on event log.

Interpreting Stats Output

The stats-packets command is a useful diagnostic tool. The firmware exposes Received and Sent counters. A healthy repeater shows:

Common Issues and Diagnostics

SymptomCheckFix
Received count stays at zeroCheck antenna connection, verify radio settings match networkReconnect antenna; verify radio parameters with get radio and get freq (frequency, bandwidth, SF, coding rate) and confirm they match the USA/Canada preset values shown in the app
Sent count zero despite receivesVerify device is running repeater firmware variant and that forwarding is enabledReflash with repeater firmware; confirm set repeat on
Battery voltage decliningCheck solar panel output, charge controller LVD settingClean panel, verify charge controller settings
Rebooting frequentlyCheck for low battery voltage causing brownoutSize battery correctly; check charge controller
Not appearing in client node listRepeater may not be sending flood adverts; check the flood advert interval with get flood.advert.intervalSend a flood advertisement with advert and confirm a flood advert interval is set, e.g. set flood.advert.interval 12 (hours). Zero-hop adverts (advert.zerohop / set advert.interval) are local only. There is no advert_hops parameter.

Revision #3
Created 2026-05-03 05:46:19 UTC by Mesh America Admin
Updated 2026-06-09 00:56:30 UTC by Mesh America Admin