Tutorials

Learn More

Baud rate defines how many signal symbols are transmitted per second on the UART line. In common UART NRZ signaling, one symbol represents one bit, so baud rate is usually treated as the number of serial bits transferred per second.

Bit Time

Bit time is the duration of one serial bit on the UART line. It tells how long the transmitter holds each start, data, parity, or stop bit before moving to the next bit.

Bit Time = 1 / baud_rate

For example, at 9600 baud, the UART line carries about 9600 serial bits per second, and each bit lasts about 104.17 us.

Note: Baud rate is not the same as useful data throughput. UART frames include start, optional parity, and stop bits, so the payload byte rate is lower than the baud rate.

Examples:

Baud rateBit time
9,600about 104.17 us
115,200about 8.68 us
1,000,0001 us

For 8N1, each byte consumes 10 serial bit times:

1 start + 8 data + 1 stop = 10 bits on the wire

So the maximum byte rate for 8N1 is approximately:

bytes_per_second = baud_rate / 10

Baud Mismatch and Timing Margin

UART has no forwarded clock. The transmitter and receiver each use their own local timing. Even if both are configured for the same nominal baud rate, oscillator tolerance and baud generator rounding can create a real timing difference.

The receiver normally re-synchronizes at the start bit of each frame. Sampling error therefore accumulates mainly across one frame, not forever.

UART_Baud_Mismatch_Timing_Margin

Note: The transmitter and receiver should be configured to the same baud rate.