
Baud: the speed you agree on
Baud is the number of beats a second on the line, and the two ends agree it beforehand because nothing on the wire carries it. On a plain UART it equals bits per second, but an 8N1 byte spends ten beats on eight data bits, so the data moves at 80 % of it.
Every bit on a UART line lasts the same time, and that time is one beat. Baud is how many beats happen in a second. At 9600 baud a beat lasts 1 / 9600 of a second, about 104 microseconds. At 115200 baud it lasts about 8.7 microseconds.
Baud and bits per second
On a plain UART each beat carries exactly one bit, a high or a low, so the two numbers are equal: 9600 baud is 9600 bits per second on the line. They are different things on links that put more than one bit in a beat, which a UART does not do. The word is a signalling rate, a count of beats, and it comes from the telegraph engineer Émile Baudot.
Ten beats for eight bits
A byte is not eight beats. In 8N1 it is a start bit, eight data bits and a stop bit: ten beats, of which eight carry data. So the data moves at eight tenths of the baud, and the time for a byte is ten beats:
- at 9600 baud, about 1.04 milliseconds a byte, or 960 bytes a second at best;
- at 115200 baud, about 86.8 microseconds a byte, or 11,520 bytes a second at best.
"At best" means back to back. A sender that leaves gaps between bytes, as most programs do, moves fewer. A frame with a parity bit or a second stop bit is eleven beats, and moves 8 / 11 of the baud as data, about 73 %.
Nobody sends the number
There is no clock wire, and nothing in a frame says how fast it was sent. Both devices were told the baud beforehand and each counts beats with its own clock. If the two disagree, the receiver looks at the wrong moments. The result is wrong bytes or framing errors, not a warning that the speed is wrong, and a near miss can look almost right for a while. The next lessons say how near is near enough.
What it costs
Speed is paid for in time on the line. A hundred bytes take about 104 milliseconds at 9600 baud and about 8.7 at 115200, the same hundred bytes twelve times faster. A sensor that sends one short line a second does not need the fast one; a stream of readings or a log might.
Common mistakes
- Reading baud as bytes per second. 115200 baud is at most 11,520 bytes a second. Divide by ten for 8N1, not by one.
- Setting one end only. Both devices need the same baud, and the same frame. Our two thermal printers have theirs printed on the unit.
- Assuming a faster setting is better. The device on the other end has to support it, and a higher speed leaves less time for every beat. Pick a speed your data needs.
Edit this page — content/fundamentals/uart/baud.mdx
Discuss this article
Ask about this page. The answer stays here, on the page it belongs to, for whoever hits the same wall next.