UART Baud Rate Error Calculator

Best divider and baud error from clock and target.

f_CLK ÷USARTDIV (config) UART TX baud = fCLK / (OS · USARTDIV)

Values

Result

BRR ≈ 8.68 → actual 115384 baud, error 0.16%

UART baud rate & error

For an STM32 USART with oversampling by 16, the divisor is USARTDIV = fCLK / (16 · baud), split into integer + 4-bit fraction in BRR. The actual rate is fCLK / (16 · USARTDIV) after rounding the FRACTION (×16/16).

Keep the error below ~2% for reliable async links. Example: 16 MHz, 115200 baud → USARTDIV ≈ 8.68 → BRR = 0x8B → actual ≈ 115384 baud (0.16% error). This calculator rounds the fraction the way the hardware does, so the number you read is the one you'll actually get.