Science & engineering

UART throughput and frame time calculator

Model UART start, data, parity and stop overhead, finite message-batch gaps and useful payload-bit throughput without treating baud as byte rate.

Your numbers

Calculated on your device. Your inputs aren’t sent to us.

Your result

Ready when you are

Enter your inputs and select Calculate.

Try it, understand it

Explore the result

Count one start period, the selected data bits, optional parity and stop periods for each character. Divide total bit periods by baud, then add gaps only between messages in the finite batch.

Worked example comparison
ExampleOutputWhat to notice
Worked exampleWire time per message104.166667 msAt 9,600 baud with 8N1 framing, each character uses ten bit periods. One hundred characters take about 104.167 ms. Ten such messages with nine 10 ms gaps take about 1.13167 seconds.
Enable parityWire time per message114.583333 msOne additional bit period is transmitted per character.
Single messageWire time per message104.166667 msNo inter-message gap appears in finite elapsed time.

Check your understanding

Is baud the byte rate?

No, framing overhead and data width must be included.

Does the finite batch include a final gap?

No, gaps occur only between messages.

Behind the numbers

How this calculation works

Count one start period, the selected data bits, optional parity and stop periods for each character. Divide total bit periods by baud, then add gaps only between messages in the finite batch.

THE FORMULAFrame bits = 1 + data + parity + stop; batch seconds = messages × characters × frame bits / baud + (messages − 1) × gap

A worked example

At 9,600 baud with 8N1 framing, each character uses ten bit periods. One hundred characters take about 104.167 ms. Ten such messages with nine 10 ms gaps take about 1.13167 seconds.

Good to know

Ideal one-direction asynchronous timing only. No flow control, buffers, retries or OS delays. Check hardware framing support. Payload bits remain distinct from 8-bit bytes for non-eight-bit words.

Baud does not directly equal useful bytes per second

For this UART timing model, baud gives bit periods per second. A character contains framing periods as well as payload. In 8N1, one start, eight data and one stop period make ten periods for eight useful bits.

Dividing baud by eight would ignore start and stop overhead. The frame-efficiency result exposes the useful fraction before any higher-level message pauses, protocol headers or retransmissions are considered.

The pcm audio file size and wav storage calculator adds calculate uncompressed PCM storage in bytes, MB and MiB from sample rate, packed bit depth, channels and duration, with a classic RIFF size warning.

A finite batch has one fewer gap than messages

Ten messages have nine spaces between them. Adding a gap after the final message would describe a continuing schedule rather than the elapsed time to finish that batch.

The repeated-message metric intentionally includes one gap per ongoing cycle. It can differ from the finite-batch payload rate, especially when the batch is small. Both labels state which timing boundary is used.

Keep data-word width distinct from byte assumptions

UART configurations can use data widths other than eight bits. The calculator reports payload throughput in bits so a nine-bit word is not silently counted as one conventional byte.

Parity contributes timing overhead but is not counted as payload. Stop settings and other combinations still need hardware support; accepting a numerical scenario does not establish that a particular microcontroller can implement it.

Use the result with the next measurement

The PCM audio file size and WAV storage calculator counts raw stored audio bytes. A serial-transfer plan would also need UART framing, message boundaries and any additional protocol overhead beyond that byte count.

Ideal one-direction asynchronous timing only. No flow control, buffers, retries or OS delays. Check hardware framing support. Payload bits remain distinct from 8-bit bytes for non-eight-bit words.

A few questions, answered

Is baud the byte rate?

No, framing overhead and data width must be included.

Does the finite batch include a final gap?

No, gaps occur only between messages.

Is parity useful payload here?

No, it contributes timing overhead only.

Find your calculator

Start typing to explore the library.