Universal Asynchronous Receiver-Transmitter (UART)

The simplest and most common "Asynchronous" serial communication protocol. No clock line required!

Why UART? - The Universal Standard

UART (Universal Asynchronous Receiver-Transmitter) is one of the oldest communication standards, dating back to teletypewriters (1960s). In an era before high-speed clocks were easily shared, engineers needed a way to send data over long wires without running a separate "clock" cable.

The "Universal" Appeal

  • Asynchronous: No clock wire means you can connect two devices with just 3 wires (TX, RX, GND).
  • Configurable: You can change parity, stop bits, and baud rates to match almost any legacy device.
  • Human Readable: It became the standard for "Console Logs" because it streams characters one by one, perfect for text terminals.

Even today, every microcontroller has a UART port for debugging. It is the bridge between the digital silicon world and the human readable world.

Physical Connection

The "Cross-Over" Rule

Unlike SPI/I2C where you connect SCLK to SCLK, in UART you MUST cross the wires:

TX (Transmit) of Device A connected to RX (Receive) of Device B.

Connection Diagram

      DEVICE A                   DEVICE B
  +-----------------------------+             +-----------------------------+
  |         TX +----------------------------->+ RX         |
  |            |             |            |
  |         RX +<-----------------------------+ TX         |
  |            |             |            |
  |        GND +-----------------------------+ GND        |
  +-----------------------------+             +-----------------------------+
                             

Note: A common ground (GND) is required for the voltage reference, even if it's not a "signal" wire.

The Asynchronous Challenge

Since the receiver doesn't have a clock edget to tell it "sample now", it must oversample.

  • Analogy: Imagine two musicians playing in separate rooms. They can only play together if they agreed on the exact Tempo (Baud Rate) beforehand. If one plays slightly faster, they will eventually drift apart (Framing Error).