Menu Close

MeshCom protocol

MeshCom 4.0 uses the AX.25 protocol for the payload data as defined for APRS. (aprs101.pdf APRS PROTOCOL REFERENCE Version 1.0 2000, Page 12)

Find use:

  • Identifier - APRS data type identifier
  • Message ID - 32-bit LSB->MSB unique value
  • MAX-HOP - max. 7 (mask 0x07) default 5 is used which allows 4 more passes.
    • 0x80 - Identifier whether this message has already run via MQTT server.
    • 0x40 - Identifier that this message is to be supplemented per MeshClient with the callsign of the forwarding station. For measurement and control purposes.
  • Source address - This field contains the callsign and SSID of the transmitting station.
  • Destination Address - This field may contain an APRS destination callsign or "*" for transmissions to ALL.
  • Digipeater - There can be 0 to 8 digipeater call signs in this field. Note: These digipeater addresses can be overwritten by a generic APRS digipeater path (specified by the SSID of the destination address).
  • Information - This field contains transport data. The first character of this field is the APRS data type identifier, which indicates what type of data follows.
  • Frame Check Sequence - The FCS is a sequence of 16 bits used to check the integrity of a received frame.


Text messages:

:|!MMMMMM|!HH|OE0XXX-99|>*|:|Text message|!00|!HW|!MOD|FCS#

Text messages with Path from Mesh:

:|!MMMMMM|!HH|OE0XXX-99,OE3XXX-12,OE3YY-12|>*|:|Text message|!00|!HW|!MOD|FCS#

Position messages:

!|!MMMMMM|!HH|OE0XXX-99|>*|!|4800.00|N|/|01600.00|E|#| BBB /A=HHHH|!00|!HW|!MOD|FCS#

Checksum: FCS is formed as an unsigned 16-bit sum of the protocol bytes 0 to incl. MOD byte and little endian is appended after the MOD byte.

Protocol elements:

| ... is only used to show the separations here in the text

Message elements

Short codeField nameVariable type
: ! Message identifierVersion 4.0
MMMMMMMessage ID32-bit LSB->MSB
HHMAX-HOP8-bit bit mask 0x07
Message via MQTT serverBit mask 0x80
Insert path in mesh (with comma as separator)Bit mask 0x40
4800.00LatitudeDegree/decimal x 100
01600.00LongidudeDegree/decimal x 100
NN ord / S outhchar
/APRS SYMBOL group (/ or \)char
EE ast / W estchar
BBBBattery status in %int 0 - 100
/A=HHHGPS sea level (m)int 0 - 40000
PqayLoad completioncloses the APRS PayLoad range0x00
HWHardware ID (see extra table)8-bit (see table)
MODLoRa Modulation ID (MediumSlow...3)8-bit (see table)
FCS#Checksum incl. identifier and 0x00 from message completion32-bit LSB->MSB

MeshCom hardware

Hardware IDHW TypeMCU TypeLoRa typeHW abbreviationHW version
1TTGO ESP32 PaxcounterESP32SX1278TLORAV2
2TTGO ESP32 PaxcounterESP32SX1278TLORAV1
3TTGO ESP32 PaxcounterESP32SX1278TLORAV2 1.6
4 TTGO T-BeamESP32SX1278T-BEAM1.1
5 TTGO T-BeamESP32SX1268T-BEAM-12681.1 1268
6 TTGO T-BeamESP32SX1262T-BEAM-0.70.7
7T-Echo LoRa SX1262nRFSX1262T-ECHO
9Wisblock RAK4631nRFWisblock nRFRAK4631
10WiFi LoRa 32 v2ESP32SX1262HELTEC-V2-1V2
11WiFi LoRa 32 v1ESP32SX1276HELTEC-V1V1
39Ebyte Lora E22ESP32SX1278EBYTE-E22
43WiFi LoRa 32 v3ESP32-S3SX1262HELTEC-V3V3

MeshCom modulations

MOD IDTransmission rangePlanned range (km)Transmission speedParameter
0Extended range10-20fast
1Extended range10-20slow (robust)0.275 kbps
2Additional extended range20-40slow (robust)0.183 kbps
3Normal range5-10slow (robust)
4Normal range5-10fast5.469 kbps
5Local area0-5slow (robust)
6Local area0-5fast21.875 kbps