Menu Close

MeshCom 4.0 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.
  • Gateway ID - The gateway that passes the message to the MQTT server appends the 32-bit MAC address to ensure compatibility with MeshCom 2.0.


Text messages:

:|MMMMMM|HH|OE0XXX-99|>*|:|Hello Mike, I am trying to send an APRS message|0x00|FCS#|GGGGG

Position messages:

!|MMMM|HH|OE0XXX-99|>*|!|4800.00|N|/|01600.00|E|#| BBB /A=HHH|0x00|FCS#|GGGGGGG

Protocol elements:

Short codeField nameVariable type
: or !Identifier
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 - 9999
Message completioncloses the APRS message area0x00
FCS#Checksum incl. identifier and 0x00 from message completionunsigned int 16-bit
GGGGGGGGateway ID (only for MeshCom 2.0 compatibility)32-bit LSB->MSB
|... is only used to show the separations here in the text

Text messages with Path from Mesh:

:|MMMMMM|HH|OE0XXX-99,OE3XXX-12,OE3YY-12|>*|:|Hello Mike, I am trying to send an APRS message|0x00|FCS#|GGGGG