UART / Baud Rate
Calculates BRR register for any PCLK and baud rate. Shows actual baud, error %, and bit period. Warns if error >2%. Supports 8× and 16× oversampling.
Instant UART BRR, PLL clock tree, Timer PSC/ARR, PWM duty cycle, ADC sample rate and I²C/SPI calculations — for STM32, ESP32, RP2040, AVR and more. With one-click HAL code export.
No more datasheet arithmetic. Enter values, get results and copy-ready C code.
Calculates BRR register for any PCLK and baud rate. Shows actual baud, error %, and bit period. Warns if error >2%. Supports 8× and 16× oversampling.
Finds optimal Prescaler and Auto-Reload values for any target frequency. Auto mode searches all valid PSC values. Manual mode for fine control.
Configure PLLM, PLLN, PLLP, PLLQ for any HSE. Validates VCO range and USB 48 MHz alignment. Visual SVG clock tree shows every bus frequency live.
Generates PSC, ARR and CCR for exact PWM frequency and duty. Real-time duty bar preview and actual vs target frequency.
Calculates conversion time, max sample rate and LSB voltage for 6–12-bit resolution. Includes raw-to-voltage converter.
Computes bus clock from CCR and PCLK. Shows transfer time and throughput for a configurable byte count. Warns if I²C exceeds 400 kHz.
Every value updates as you type. No submit button, no page reload. Pure client-side math — works offline once loaded.
Click any register value to copy it instantly. BRR, PSC, ARR, CCR — all one click from your clipboard to your IDE.
Warns when UART error exceeds 2%, VCO input is out of range, USB clock is misaligned, or I²C is in Fast Mode territory.
Open the URL, start calculating. No email required for the free tier. No 500MB IDE just to check a BRR value.
PLL calculator renders a live SVG block diagram — HSE → PLL VCO → SYSCLK → AHB → APB1/APB2 — updating as you type.
Every calculator outputs paste-ready C initialization code with your exact register values. UART, Timer, PLL, PWM, ADC, I²C.
PRO generates paste-ready C initialization code for every calculator — your exact register values, correct HAL functions, ready to copy into your project.
/* STM32F4xx UART Config — 115200 baud, PCLK = 84 MHz */ UART_HandleTypeDef huart2; huart2.Instance = USART2; huart2.Init.BaudRate = 115200; huart2.Init.WordLength = UART_WORDLENGTH_8B; huart2.Init.StopBits = UART_STOPBITS_1; huart2.Init.Parity = UART_PARITY_NONE; huart2.Init.Mode = UART_MODE_TX_RX; huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE; HAL_UART_Init(&huart2); /* BRR = 45 (0x2D) | Actual: 116,667 bps | Error: +1.302% ✓ */
The AI assistant has full context of what you're working on — your MCU, clock frequency, and current register values. Ask real questions, get real answers.
CubeMX is a 500 MB desktop install just to check a BRR value. In 2026.
| Feature | RegCalc | STM32CubeMX | Pen & paper |
|---|---|---|---|
| Time to first result | ⚡ ~3 seconds | ~5 minutes | ~10 minutes |
| No install required | ✓ | ✗ | ✓ |
| ESP32 / RP2040 / AVR support | ✓ | ✗ | ✓ |
| Error validation + warnings | ✓ | partial | ✗ |
| HAL code generation | ✓ PRO | ✓ | ✗ |
| AI-assisted debugging | ✓ PRO | ✗ | ✗ |
| Price | Free / from $7/mo | Free | Free |
"I've wasted hours at 3AM debugging UART only to find BRR was off by 1. This tool would have saved so much pain. Now it's the first tab I open."
"The AI assistant actually knows embedded. Asked about I²C timing margins and got a proper answer with register names — not generic ChatGPT fluff."
"Our whole team uses it now. Way faster than opening CubeMX just to check a PLL config. The PRO code export pays for itself in the first hour."
All calculators free forever. PRO unlocks code export, AI assistant, and clock tree diagrams.
30-day refund guarantee · Secure checkout · License key delivered instantly by email
BRR = PCLK / (Oversampling × BaudRate). With PCLK=84 MHz, 16× oversampling, 115200 baud: BRR = 84,000,000 / (16 × 115200) = 45.57 → round to 45. Actual baud = 116,667 bps (error 1.3%). The calculator does this instantly and warns if error exceeds 2%.PLLM=8 (VCO input = 1 MHz), PLLN=336 (VCO output = 336 MHz), PLLP=2 (SYSCLK = 168 MHz), PLLQ=7 (USB = 48 MHz). The PLL calculator validates these and flags any out-of-spec values.PSC=83, ARR=999 → 84,000,000 / (84 × 1000) = 1000 Hz exactly. Auto mode finds this for you.No sign-up. No install. Open the app and get your first register value in under 10 seconds.
Free forever · PRO from $7/month · 30-day refund
RegCalc is a free, browser-based calculator for embedded systems engineers covering the most common register calculations for STM32, ESP32, and ARM Cortex-M firmware work — without any installation or account required.
Computes BRR for any PCLK and target baud rate, supporting 16× and 8× oversampling. Displays actual baud rate, error percentage, bit period. Warns when error exceeds 2%. Supports 9600 through 921600 and custom values.
Configure PLLM, PLLN, PLLP and PLLQ by entering HSE frequency. Shows VCO input, VCO output, SYSCLK, USB clock, APB1/APB2 frequencies. Validates VCO input range and USB 48 MHz alignment. PRO adds a live SVG clock tree block diagram.
Find optimal Prescaler and Auto-Reload values for any interrupt or PWM frequency. Auto mode iterates all valid PSC values to minimize error. Manual mode for precise control. Reports resolution in bits.
Generates PSC, ARR and CCR for exact PWM frequency and duty. Real-time duty bar visualization and resolution in bits. Supports Hz, kHz, and MHz input.
Calculate conversion time and max sample rate from ADC clock, resolution (6/8/10/12-bit) and sample cycles. Includes LSB voltage calculation and raw-to-voltage converter.
Compute I²C or SPI bus clock from PCLK and CCR. Shows transfer time and throughput for configurable byte count. Warns when I²C clock exceeds 400 kHz Fast Mode.