UART
Two wires, no clock: bytes wrapped in start and stop bits.
One character on the wire
Type a message. Each character becomes a start bit, eight data bits (least significant first), an optional parity bit and a stop bit.
Whole frame
Each character costs 10 bit times in 8N1: 1 start + 8 data + 1 stop (more with parity or a second stop bit). At 115200 baud that is about 11.5 thousand characters per second.
Start bit
The line drops from 1 to 0 for one bit time. This falling edge wakes the receiver and starts its bit clock. The start bit is always 0.
Data 'H' (0x48)
The 8 bits of 'H' = 72 = 0b01001000, sent least significant bit first. So the bits appear on the wire in the reverse of how you write the number.
Stop bit
The line returns to 1 (idle level) for at least one bit time. This guarantees the next start bit produces a clean falling edge. If the receiver does not see a 1 here, it reports a framing error.
Overview
UART (Universal Asynchronous Receiver/Transmitter) is the simplest serial link: one wire for each direction and a shared ground. There is no clock line. Instead both ends agree on a speed in advance (the baud rate), and every byte is wrapped in a start bit and a stop bit so the receiver can re-synchronise on each character.
The common shorthand 8N1 means 8 data bits, No parity, 1 stop bit. Debug consoles, GPS modules, Bluetooth modules, and microcontroller boot loaders all speak it.
Key facts
- Wires
- TX, RX (+ GND)
- Clock
- None (asynchronous)
- Typical speeds
- 9600 / 115200 baud
- Frame
- 1 start + 5–9 data + parity? + 1–2 stop
- Bit order
- LSB first
- Topology
- Point to point
Where you meet it
- Debug consoles and log output from microcontrollers (printf over serial)
- GPS (NMEA), Bluetooth and Wi-Fi modules, fingerprint sensors
- The physical layer under RS-232, RS-485 (Modbus RTU) and MIDI
Watch out for
- Both sides must use the same baud rate, data bits, parity and stop bits. A mismatch shows up as garbled characters, not as an error message.
- TX connects to the other side's RX (cross over). Connecting TX to TX is the classic first-time mistake.
- RS-232 uses ±3 to ±15 V and inverts the logic. Plugging it straight into a 3.3 V microcontroller pin can destroy it; use a level shifter (MAX3232 or similar).
Standards
- TIA/EIA-232-F (RS-232)