Baofeng GMSK Radio Programming Communication Protocol
Home
Protocols
  • 简体中文
  • English
Home
Protocols
  • 简体中文
  • English
  • Protocols
    • Protocol A
      • Handshake
      • Clone
      • Settings
      • Password and Subsystem ID
    • Protocol B
    • Protocol C
    • Protocol D
    • Protocol E
    • Protocol F
    • AT2
      • BLE Transport
      • Frame Format
      • Channel Programming
      • Device Settings
      • Off-network Messages
      • Real-time Voice

Off-network Messages

Off-network messages use family 02, command 04, and subcommand 01. The message ID is a 4-byte uint32-be value. The sender field is 16-byte UTF-8 padded on the right with spaces.

Types

typeContentFrame
01TextStart frame
02TextData frame
03VoiceStart frame
04VoiceData frame
05ImageStart frame
06ImageData frame

The acknowledgment payload for each business frame is 00 82 04 01 00.

Short Text

UTF-8 text up to 180 bytes uses one frame.

FieldLengthEncoding
Fixed header500 02 04 01 01
Message ID4uint32-be
Reserved100
Sender16UTF-8 padded on the right with 20
Text length2uint16-le
Fragment count and sequence201 00
TextNUTF-8

Fragmented Text

Split text into 131-byte chunks. The start frame contains no text. Send the data frames in sequence.

Framepayload
Start frame00 02 04 01 01 [msgId be32] 00 [sender 16] [streamLength le16] [partCount] 00
Data frame00 02 04 01 02 [msgId be32] [seq be16] 00 [up to 131-byte text]

streamLength is the sum of all fragment lengths plus one byte for each fragment.

Voice Message

Voice uses AMR-NB MR475. Each frame covers 20 ms. BLE data retains the 12-byte MR475 payload. Split voice data into 132-byte chunks.

Framepayload
Start frame00 02 04 01 03 [msgId be32] 00 [sender 16] [dataLength le16] [partCount le16] [durationSeconds le16]
Data frame00 02 04 01 04 [msgId be32] [seq be16] 00 [up to 132-byte voice]

Image Message

Images use JPEG with a 300 px long edge and quality 75. Split image data into 132-byte chunks.

Framepayload
Start frame00 02 04 01 05 [msgId be32] 00 [sender 16] [dataLength le16] [partCount] 00 [width le16] [height le16]
Data frame00 02 04 01 06 [msgId be32] [seq be16] 00 [up to 132-byte jpeg]

Session Control

Operationpayload
Enable off-network session00 02 04 07 01
Disable off-network session00 02 04 07 00
Prev
Device Settings
Next
Real-time Voice