UART (Universal Asynchronous Receiver-Transmitter) to asynchroniczny protokół komunikacyjny, służący do szeregowej transmisji danych między mikrokontrolerami, komputerami i urządzeniami peryferyjnymi. Wykorzystuje dwie główne linie:
- TX (Transmit) – wysyłanie danych.
- RX (Receive) – odbiór danych.
Działa bez sygnału zegarowego, dlatego nadajnik i odbiornik muszą mieć ustaloną tę samą prędkość transmisji (baud rate), np. 9600, 115200 bps. Dane są przesyłane bit po bicie, zazwyczaj w formacie 8 bitów danych, 1 bit startu, 1 bit stopu (8N1). Może pracować w trybie full-duplex (jednoczesna transmisja i odbiór) lub half-duplex (naprzemienna komunikacja).
UART jest szeroko stosowany w komunikacji między mikrokontrolerami (Arduino, ESP32, STM32), modułami GSM (SIM800L, Quectel M65), modułami GPS (NEO-6M, L76-L) oraz konwerterami USB-TTL. Jego zaletą jest prosta implementacja, ale wymaga precyzyjnego ustawienia prędkości transmisji, aby uniknąć błędów. Może być rozszerzony do wielourządzeniowej komunikacji poprzez RS-485 lub RS-232.