Two UARTs configured for the same nominal baud rate can still run at different actual rates. The receiver must tolerate the relative timing difference over each frame. Review both endpoints and the selected receiver mode instead of applying a universal percentage rule.
Calculate actual baud rates
Microchip’s serial-interface debugging brief identifies clock error as a cause of UART corruption despite matching nominal settings. Device documentation provides the receiver-specific tolerance needed to turn that observation into an engineering budget.
Record the clock source, actual divider setting and resulting baud rate for each endpoint. Include fractional-divider behavior where applicable. Keep the rounding error introduced by the divider separate from the oscillator’s initial tolerance and temperature variation.
Compare the worst relative conditions
Evaluate the case in which one endpoint runs fast and the other slow. For illustration, endpoints at plus 1% and minus 1% relative to their targets differ by approximately 2%; considering only one endpoint’s error understates the mismatch.
Use the exact ratio when margin is tight. Check the receiver’s oversampling mode, data length and parity configuration against its documented tolerance. A setting that changes the oversampling behavior may alter the available timing margin even if it produces a more convenient nominal baud rate.
Include operating-state changes
List clock-source changes during boot, sleep recovery and performance-mode transitions. Determine whether either device transmits before its clock is stable or before its baud divider has been updated. Include internal-oscillator calibration behavior if the product depends on it.
Check the partner’s full expected range rather than only the development computer’s USB adapter. A laboratory adapter with an accurate clock can conceal a marginal link to a production module whose tolerance lies near the other end of the budget.
Measure frames and errors together
Measure bit timing at the receiving pin using a known pattern and an instrument with suitable timing accuracy. Record voltage thresholds and signal quality separately from clock mismatch. Capture receiver framing and parity errors while testing the expected voltage and temperature range.
Keep the calculation, programmed registers and measured timing in the interface record. Test sufficiently long traffic patterns to exercise the actual frame configuration, while recognizing that an error-free sample alone does not establish the entire tolerance envelope. When firmware changes the system clock, update this record before reusing the old UART configuration. The resulting budget explains why the two physical endpoints remain compatible, not merely why their configuration menus display the same baud-rate number.
Move from reading to a build-ready project
Use the fabrication and assembly checklists to prepare drawings, production files and test requirements.
Open the DFM checklist