All protocols
ISO 17987 / SAE J2602

LIN

Local Interconnect Network — low-cost single-wire sub-bus.

Bitrate
Up to 19.2 kbit/s
Topology
Single-master, up to 16 slaves
Introduced
1999

Overview

LIN is a cost-efficient single-wire UART-based bus used for low-speed body electronics where CAN would be overkill. The master polls slaves using a header; slaves respond with a fixed-length data field.

Frame format

FieldBitsDescription
Break≥13Synchronization break field
Sync80x55 sync byte for clock recovery
PID8Protected identifier (6-bit ID + 2 parity)
Data8–641–8 data bytes
Checksum8Classic or enhanced checksum

Byte structure — request & response

LIN — ISO 17987

Frame template
[Break ≥13b][Sync 0x55][PID:1B] | [Data:1–8B][Checksum:1B]
Request
OffSizeFieldValueDescription
≥13 bitBreak0x00Dominant break to wake the bus.
01 BSync0x55Alternating bits for clock recovery.
11 BPID0x326-bit ID + 2-bit parity (protected identifier).
Response
OffSizeFieldValueDescription
0…N-11–8 BData12 7ASlave-supplied response bytes (length implied by frame ID configuration).
N1 BChecksum0x73Classic (data only) or enhanced (PID + data) checksum.

LIN is master-driven: master sends Break+Sync+PID; the addressed slave (or master itself) supplies the data + checksum bytes.

Use cases

  • · Window lifters
  • · Mirror control
  • · Rain/light sensors
  • · Seat motors

Pros

  • Very low cost
  • Simple UART hardware
  • No crystal needed on slaves

Cons

  • Low bandwidth
  • Single point of failure (master)
  • Polling latency

Request / Response examples

Read mirror position

Request
HeaderPID:0x32
Response
Data:127AChecksum:73

Bytes encode horizontal/vertical mirror position in 0.5° steps.