Skip to content
uencoder

XMODEM

XMODEM is the simple file transfer protocol Ward Christensen developed in 1977, using 128-byte blocks with an 8-bit checksum; it was the most basic serial transfer protocol of the BBS era.

Purpose

It provided basic reliable file transfer over simple serial links, with easy implementation and broad compatibility.

Mechanism

The sender transmits blocks starting with SOH, followed by a block number and its complement, 128 bytes of data, and a single-byte arithmetic checksum; the receiver replies ACK/NAK per block. There is no flow control and no sliding window.

Use cases

  • Early BBS file transfer
  • Embedded bootloader firmware upgrades
  • Simple serial debugging

Related tools

References