Find the achievable baud rate and error percentage for any MCU clock and prescaler configuration
Shows all standard baud rates achievable within ±2% error for the current clock settings. ✅ = within spec, ⚠ = marginal, ❌ = unusable.
| Baud Rate | BRR | Actual (bps) | Error | Status |
|---|---|---|---|---|
| Click Calculate to scan all baud rates | ||||
UART (Universal Asynchronous Receiver-Transmitter) generates baud rates by dividing a peripheral clock frequency by an integer prescaler (BRR — Baud Rate Register). Because the division must be an integer, the actual baud rate is rarely exactly equal to the target, resulting in a small error.
The formula is: BRR = FCLK / (Oversampling × Target_Baud). The BRR is rounded to the nearest integer, giving: Actual_Baud = FCLK / (Oversampling × round(BRR)).
Internal RC oscillators (e.g., STM32 HSI at 8 MHz) have ±1–2% frequency tolerance themselves. For reliable high-baud UART, always use an external crystal oscillator so the clock error doesn't add to the baud rate error.