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.
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
- One frame = 1 start + 8 data + 0 parity + 1 stop = 10 bits.
- Total line bits = 100 frames (8-bit data mode) × 10 bits/frame = 1,000 bits.
- Ideal transmission time = 1,000 bits ÷ 115,200 bit/s = 0.00868056 s = 8.68056 ms.
- 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.