Communication Protocols
UART, I2C, SPI, CAN, USB and more — how chips and devices exchange data.
Protocols define the wires, voltage levels, timing and message format. The main choices:
| Protocol | Wires | Speed | Topology |
|---|---|---|---|
| UART | 2 (TX, RX) | up to ~1 Mbit/s | point-to-point |
| I2C | 2 (SDA, SCL) | 100 k – 1 Mbit/s | multi-device bus with addresses |
| SPI | 4 (+1 CS per device) | 1–50+ Mbit/s | one controller, many peripherals |
| CAN | 2 (differential) | 1 Mbit/s (CAN FD: up to ~8) | robust multi-node bus |
| USB | 2 data + power | 1.5 Mbit/s – 40 Gbit/s | host + devices |
Sub-topics (7)
UART
Asynchronous serial: start bit, data bits, optional parity and stop bits at an agreed baud rate.
I2C
A two-wire addressed bus: many sensors share SDA and SCL with pull-up resistors.
SPI
A fast four-wire synchronous bus: SCLK, MOSI, MISO and a chip-select per device.
CAN Bus
A robust differential bus for cars and industry with message priorities and built-in error handling.
RS-485 and Modbus
RS-485 is a differential multi-drop link for long industrial cables; Modbus RTU is the protocol commonly run on top.
USB
Universal Serial Bus: host and device roles, speeds, power and device classes.
One-Wire
A single data line (plus ground) that carries both data and, optionally, power — used by DS18B20 sensors.
Spotted a mistake or want to add detail? Suggest an improvement — Content Contributors' edits are reviewed by editors before they go live.
Discussion (0)
Sign in or join free to ask questions and discuss this topic.