Serial Communication (UART)
UART
UART (Universal Asynchronous Receiver/Transmitter) is hardware that transmits data serially and is commonly built into devices such as Arduino and Raspberry Pi. Serial communication typically refers to communication using the UART protocol.
UART communicates 1:1 using two pins, Tx (transmit) and Rx (receive), and serves to convert parallel data received from devices such as CPUs into serial form or to convert serial data received from external devices back into parallel data for transmission to devices such as CPUs.
Below is the protocol structure used in UART communication. It is asynchronous communication, and for two devices to communicate, they must match communication speed (baud rate), number of data bits, parity bit type, etc., for normal communication to be possible.

TTL
Control devices such as Arduino, Raspberry Pi, and PCs express data using 0 (OFF) and 1 (ON). For example, the decimal number 10 is 1010 in binary and is expressed by turning internal transistor elements ON(High)-OFF(Low)-ON(High)-OFF(Low).
TTL (Transistor-Transistor Logic) level is one of the methods for determining the voltage level recognized as ON(High) or OFF(Low), and the 5V TTL level is as follows:
Category | INPUT | OUTPUT |
---|---|---|
ON(High, 1, True) | 2~5V | 2.7~5V |
OFF(Low, 0, False) | 0~0.8V | 0~0.4V |
UART communication uses TTL levels. Communication using TTL levels has the disadvantages of being vulnerable to noise and having limited communication distance due to low voltage levels and small noise margins (difference between input and output voltages). Therefore, UART communication is mainly used only for internal device communication or short-distance communication.
RS-232, RS-422, RS-485
RS-232, RS-422, and RS-485 complement the disadvantages of UART communication by being more resistant to noise and enabling communication over longer distances. However, these standards relate to hardware and voltage levels, while the communication protocol uses UART.
Item | RS-232 | RS-422 | RS-485 |
---|---|---|---|
Operating Mode | Single-Ended | Differential | Differential |
Network | 1:1 (Point To Point) | 1:N (Multi-drop) | 1:N (Multi-drop) |
Transmission Method | half duplex full duplex | half duplex | half duplex |
Max Communication Distance | 15m | 1.2km | 1.2km |
Max Communication Speed | 20kb/s | 10Mb/s | 10Mb/s |
Max Output Voltage | ±25V | -0.25V to +6V | -7V to +12V |
Max Input Voltage | ±15V | -7V to +7V | -7V to +12V |
RS-232
Uses ±12V voltage levels to communicate over longer distances. Only 1:1 communication is possible, with a maximum communication distance of about 15m. It communicates using three wires: Rx, Tx, and GND.

RS-422
Uses differential connection to be more resistant to noise and communicate over longer distances. It uses four wires: TX+, TX-, RX+, RX-, and operates on the principle that noise on + and – wires is identical and can cancel each other out.
1:N (Multi-drop) communication is possible with a maximum communication distance of about 1.2km. However, it’s not truly multi-drop configuration as only one device can be the master and the remaining up to 10 devices can only be slaves.


• Slave: Device that receives commands from the master and processes or responds
RS-485
Similar to RS-422, but any device within the network can be either master or slave, allowing for a true multi-drop network of up to 32 devices. Can use 2-wire or 4-wire configurations, and for long-distance communication, termination resistors may be connected at both ends of the communication lines to reduce noise (shown as “Res” in the figure below).