UART#

Asynchronous serial. Two wires plus ground; bytes start with a low bit, end with a high bit, and the two sides agree on the baud rate beforehand. The console hidden behind every embedded device. Find the right two pads on the board and the operator has a shell, a boot log, or a bootloader prompt.

Wires#

Signal

Direction

Purpose

TX

Out

Transmit. Wires to the peer’s RX.

RX

In

Receive. Wires to the peer’s TX.

GND

Reference

Common ground; without it the levels float.

RTS, CTS

Out / In

Optional hardware flow control. Rare on embedded boards.

DTR

Out

Optional. Re-purposed on some boards (e.g. Arduino) to pulse the reset line.

Wire format#

Logic levels are CMOS, 0 V for low and 3.3 V or 5 V for high. The line idles high. A frame is 7 to 12 bit-times long.

  • Start (1 bit), low; marks the beginning of a frame.

  • Data (5–9 bits), LSB first, at the negotiated logic level.

  • Parity (0 or 1 bit), optional even, odd, mark, or space.

  • Stop (1, 1.5, or 2 bit-times), high; returns the line to idle.

The standard shorthand 8N1 means 8 data bits, no parity, 1 stop bit. Common baud rates are 9600, 38400, 57600, 115200, and 921600; the operator’s first guess on an unknown device is 115200, then 9600.

        sequenceDiagram
    participant TX
    participant RX
    TX->>RX: Start bit (low)
    TX->>RX: Data bits (LSB to MSB)
    TX->>RX: Parity bit (optional)
    TX->>RX: Stop bit (high)
    Note over TX,RX: Line idles high until next frame
    

Pads#

The operator usually meets UART as a 3- or 4-pin header on a board, often unpopulated.

Label

Meaning

TX, TXD, UART_TX

Device transmit; the operator’s adapter connects this to its RX.

RX, RXD, UART_RX

Device receive; the operator’s adapter connects this to its TX.

GND, G, -

Ground.

VCC, 3V3, 5V

Power; do not connect from a USB-UART unless intentional.

Tools#

Tool

Effect

FT232, CP2102, CH340

USB-UART adapters; the operator’s bridge from a host laptop to the target.

screen, minicom, picocom, putty

Terminal emulators over a serial port.

stty

Configure baud, parity, and framing on a Linux tty.

Logic analyzer (Saleae, PulseView)

Capture and decode UART traffic when the baud rate or framing is unknown.

References#

  • man 1 picocom, man 1 stty, man 1 screen.

  • RS-232 for the bipolar-voltage industrial variant.

  • SPI for the synchronous-serial neighbor.

  • Sigrok UART decoder.