Technical guide

Understanding UART Frame Time

Learn how UART framing overhead and baud rate determine transmission time and payload bit rate.

Why a byte takes more than eight bit periods

UART is asynchronous, so each character carries framing. A conventional frame has one start bit, five to nine data bits, optional parity, and one or more stop-bit periods. The familiar 8-N-1 format therefore needs ten bit periods for eight payload bits.

frame bits = 1 start + data bits + parity bit + stop bits

From characters to transfer time

Multiply frame length by the frame count, then divide by baud rate. A 256-frame 8-N-1 transfer has 2,560 line bits. At 115,200 baud it takes about 22.22 ms. This excludes buffering, flow control, software latency, and gaps.

Worked example: 100 frames (8-bit data mode) at 115,200 baud

Scenario and inputs

A device continuously sends 100 frames (8-bit data mode) over a UART link configured for 115,200 baud, 8 data bits, no parity, and 1 stop bit (8N1). Ignore deliberate idle time between frames. This is a theoretical wire-time example, not a hardware measurement.

Formula and substitution

  1. One frame = 1 start + 8 data + 0 parity + 1 stop = 10 bits.
  2. Total line bits = 100 frames (8-bit data mode) × 10 bits/frame = 1,000 bits.
  3. Ideal transmission time = 1,000 bits ÷ 115,200 bit/s = 0.00868056 s = 8.68056 ms.
  4. Useful payload bit rate = (100 × 8) bits ÷ 0.00868056 s = 92,160 bit/s (11,520 bytes/s).

The calculator should show 10 bits per frame, 1,000 total bits, and approximately 8.681 ms. The 20% framing overhead means only 80% of the line bits carry the eight-bit payload.

Conditions, limits, and reference

The result assumes an exact baud clock, back-to-back frames, no flow-control stalls, and no software or driver gaps. Actual elapsed time can be longer because of buffering, DMA/FIFO scheduling, USB adapters, interrupt latency, flow control, or application framing. Baud rate is a bit rate; the payload bit rate counts only selected data-field bits and does not promise an application byte rate. For the frame fields and 8N1 meaning, see Microchip's USART guide.

Useful throughput

Eight of ten bits in 8-N-1 are payload, making the theoretical efficiency 80%. Headers, escaping, checksums, and idle gaps reduce application throughput further.

Practical decisions

Both endpoints must agree on data width, parity, and stop bits. Include every transmitted protocol byte, budget half-duplex turnaround, and verify oscillator tolerance. Parity detects limited errors but does not replace a packet CRC.

Common troubleshooting check

If measured time is longer, inspect inter-character gaps, FIFO thresholds, DMA configuration, USB-to-UART buffering, and application framing before changing baud rate.

Open the UART calculator

Check your source documentation. These equations are useful models, but hardware modes and protocol conditions can add constraints not represented in a general guide.