Field Guide · concept

Also known as: UART, serial port

A UART (Universal Asynchronous Receiver/Transmitter) is a hardware block that sends and receives serial data over two wires without a shared clock.1

idle start 8 data bits (LSB first) stop TX no clock line — both ends agree on a baud rate; the start bit re-syncs the receiver each byte
A UART has no clock wire. The line idles high; a falling edge marks the start bit, eight data bits follow (least-significant first), and a stop bit returns the line high. Because both ends are set to the same baud rate, the receiver recovers timing from that start edge — which is what makes it the simplest point-to-point serial link.

Overview

Instead of a clock line, both ends agree on a baud rate and frame each byte with start and stop bits, so the receiver can recover timing from the data itself. The link uses just transmit (TX) and receive (RX), making it the simplest of the common serial interfaces. A microcontroller usually has several UARTs; one is often wired to a USB-serial adapter to provide a console. Classic RS-232 ports are UARTs with higher voltage line drivers.

Where it fits

UART is the workhorse point-to-point link: a debug/console port, a connection to a GPS or radio module, or a board-to-board serial line. Unlike the multi-drop I²C and SPI buses, a UART connects exactly two endpoints, which keeps it dead simple. Many bootloaders accept new firmware over UART, and it is a fixture of almost every embedded system.

Sources

  1. UART — Wikipedia, on asynchronous serial communication. 

See also