Embedded Communication Protocols
Serial buses and protocols used in embedded systems — I²C, SPI, UART, CAN, RS-485, and more.
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: