Almost every embedded board talks to a sensor, a memory chip, a display, or another board over a serial interface. Yet choosing between UART, I2C, SPI, CAN, and RS-485 still causes confusion — especially when a datasheet supports several of them at once. Here is how the five buses compare, and when each one is the right answer.
Quick Comparison
| Interface | Wires | Typical Speed | Max Reach | Topology | Best For |
|---|---|---|---|---|---|
| UART | 2 (TX, RX) | 9.6 k–1.5 Mbps | <2 m (TTL levels) | Point-to-point | Debug consoles, GPS modules, modems |
| I2C | 2 (SDA, SCL) | 100 k–3.4 Mbps | <1 m | Multi-drop bus | Low-speed sensors, RTCs, EEPROMs, PMICs |
| SPI | 4+ (MOSI, MISO, SCLK, CS) | 10–100+ Mbps | <0.5 m | Star / daisy-chain | Flash, displays, ADCs/DACs, high-speed data |
| CAN | 2 differential (CANH/CANL) | 125 k–8 Mbps (CAN FD) | 40 m @ 1 Mbps, 500 m+ slower | Multi-master bus | Vehicles, industrial control, medical devices |
| RS-485 | 2 differential (A/B) | up to ~10 Mbps | 1,200 m @ 100 kbps | Multi-drop bus | Factory floors, building automation, energy meters |
UART: The Simple Point-to-Point Link
UART is the oldest and simplest: two wires, no clock, both sides agree on a baud rate in advance. It is inherently point-to-point — one transmitter to one receiver — and its noise immunity at TTL levels is poor, so keep traces short and add level shifting or a transceiver for longer runs. Flow control (RTS/CTS) matters above ~115 kbps when either side can stall.
I2C: Many Devices, Two Wires
I2C wins on wiring economy: up to 112 devices on the same two open-drain lines, addressed by a 7-bit address. The trade-offs are real, though:
- Speed ceiling — most parts run comfortably at 100–400 kHz; fast-mode plus (1 MHz) and high-speed mode (3.4 MHz) need careful bus capacitance management.
- Pull-up sizing — rise time scales with bus capacitance × pull-up resistance. Too weak and edges sag; too strong and drivers overheat.
- Address clashes — two sensors with the same fixed address cannot share a bus without a multiplexer or an address strap.
Use I2C for configuration registers and slow telemetry: PMICs, RTCs, temperature sensors, EEPROMs.
SPI: When Throughput Matters
SPI is a shift-register protocol with a push clock — no addressing overhead, no arbitration, and speeds well past 50 Mbps on short runs. The cost is pin count: every chip-select line is dedicated. It is the right choice for flash memory, TFT displays, high-speed ADCs/DACs, and any data path where I2C would be the bottleneck. Watch mode misconfiguration (CPOL/CPHA) — it is the single most common bring-up failure.
CAN: Deterministic and Fault-Tolerant
CAN was built for vehicles, where messages must arrive deterministically and a shorted or disconnected node must not take down the bus. Differential signaling, arbitration by message priority, and automatic retransmission make it the default for vehicles, industrial machinery, elevators, and medical equipment. CAN FD raises payloads from 8 to 64 bytes and data rates to 8 Mbps for modern networks.
RS-485: Long Distance, Noisy Environments
RS-485 is an electrical standard rather than a protocol — differential pairs that survive 1,200-meter cable runs and electrically noisy factory floors, with up to 32 (or more) transceiver nodes. Pair it with Modbus or Profibus at the application layer. Proper termination (120 Ω at both ends) and fail-safe biasing separate a robust link from an intermittent headache.
Selection Shortcuts
- Talking to one module on the same board? UART.
- Several slow peripherals, minimum pins? I2C.
- High-throughput memory or display? SPI.
- Harsh environment, multi-master, deterministic? CAN.
- Long cable runs in an electrically noisy plant? RS-485.
JTDZ Tech stocks transceivers, bridge ICs, and interface chips for all five buses — from RS-485 transceivers to CAN FD controllers — with datasheets and date codes on every listing. Need help cross-referencing an interface part? Contact our team for quotes within two business hours.