CALCULATORS / EMBEDDED TIMING AND DIGITAL SYSTEMS

UART baud-rate divider and error calculator

Integer-divider UART baud error; oversampling factor supplied.

embedded-uart-baud.napkin / editable
× check failed

SCENARIO COMPARISON

Compare the numbers.

This source describes an analytical model. Its quantities and checks are the view.

ScenariodivideractualHzrelativeError
91111110.0354938
71142860.00793651

All calculated quantities are listed with the inputs. Switch to Source to inspect the equations.

SCENARIOS / CALCULATED VALUESSAME SOURCE

Change an input to see the consequences.

baud error budget0.04 × fails

BASELINE INPUTS

CALCULATED

divider9
actual111110 Hz
relativeError0.035494

Edits change the baseline source.

Calculated from your source · not saved
Baseline · Baseline
baud error budget0.04 × fails
alternative · alternative
baud error budget0.01 ✓ passes

Illustrative first-order example. Checks are editable requirements, not design standards. The broader topic may require additional equations, data, and validation.

Formula and units

This example uses the following equations. Input names and units match the editable source above.

divider
divider = round(clock/(oversampling*baud))
actual
actual = clock/(oversampling*divider) [Hz]
relative error
relativeError = abs(actual-baud)/baud

Original worked example

These are the baseline values in the downloadable source. Edits above let you test your own values.

Given

clock
16000000 Hz
baud
115200 Hz
oversampling
16

Calculated

divider
9
actual
111111 Hz
relative error
0.0354938

Assumptions and limits

Integer-divider UART baud error; oversampling factor supplied.

The requirement checks use the limits written in this example. Passing a check does not establish that the model covers every load, material behavior, or operating condition in a real design.

Download this .napkin example ↓

Take it further with your agent

Napkin keeps the inputs, equations, checks and assumptions together in one study. Your agent sets it up; you change the numbers.

Try with Claude ↗

codex 'Use Napkin (https://napkin.engineering/mcp, or the local Napkin plugin) to build a study: UART baud-rate divider and error. Inputs: clock; target baud; divider mode. Outputs: divider; achieved baud; percentage error. Model scope: Declared clock, peripheral and execution assumptions. Read napkin_capabilities and the current snapshot. Ask me for the values that matter, label assumptions with units, author .napkin source, validate it and apply it with napkin_source using the current revision, then open the study. Add checks for the limits I supply. Keep unsupported analyses explicit.'

Claude needs the Napkin connector; Codex needs the Napkin plugin. Set up your agent ↗

The broader study

The topic brief below describes the broader scope. The worked example above states the particular calculation it implements.

  • Inputs: clock, target baud, divider mode
  • Outputs: divider, achieved baud, percentage error
  • Modes: calculate, compare, sweep
  • Drawing: Timing diagram or event simulation

EXECUTABLE WORKED EXAMPLE · FIRST-ORDER MODEL · CHECK THE SCOPE & ASSUMPTIONS

More in embedded timing and digital systems