Embedded Communication Protocols

Serial buses and protocols used in embedded systems — I²C, SPI, UART, CAN, RS-485, and more.

Reference Reference Updated Apr 19, 2026
Reference

Short distance / board-level

Protocol Wires Speed Devices Use
UART 2 (TX, RX) typ. 115.2 kbps – 5 Mbps Point-to-point Debug, GPS, modem, console
I²C 2 (SDA, SCL) + GND 100k / 400k / 1M / 3.4 Mbps Multi-drop 7/10-bit addr EEPROM, sensors, port expanders
SPI 3–4 (SCK, MOSI, MISO, CS) 10–100+ MHz Multi-slave via CS Flash, displays, fast ADC
1-Wire 1 (+ GND) 15.4 kbps 64-bit addr per device DS18B20 temp sensor, iButton
JTAG 4 (TMS, TCK, TDI, TDO) MHz range Daisy chain Programming, debug, boundary scan
SWD 2 (SWDIO, SWCLK) MHz range One target ARM Cortex debug
USB 2.0 device 2 (D+, D−) up to 480 Mbit/s Host/device PC connection

Longer distance / industrial

Protocol Wires Speed Range Use
RS-232 3+ (TX, RX, GND) < 115.2 kbps ~15 m Legacy PC serial
RS-485 2 differential 10 Mbps (short), 100 kbps @ 1.2 km 1.2 km Industrial multi-drop
RS-422 4 differential similar to RS-485 1.2 km Point-to-point diff
CAN 2 differential 1 Mbps classic / 8 Mbps FD ~40 m @ 1 Mbps Automotive, industrial
LIN 1 + GND 19.2 kbps ~40 m Low-cost automotive sub-buses
Modbus (RTU over RS-485) 2 diff < 115.2 kbps 1.2 km Industrial sensors / PLC
Ethernet (10/100) 4/8 wires 10/100 Mbit/s 100 m LAN

Wireless (embedded)

Protocol Band Range Use
BLE 2.4 GHz ~10–100 m Wearables, sensors
WiFi 2.4 / 5 GHz 30–100 m General IP
Zigbee 2.4 GHz 10–100 m Mesh automation
LoRa 868/915 MHz 5–15 km Low-bandwidth, long-range IoT
NB-IoT / LTE-M cellular km Cellular IoT

Last updated: