CAN bus network icon

Was this article helpful?

Comments

CAN Bus for car owners: how the "nervous system" of a car works and why it matters for diagnostics

Plain-English CAN Bus: how 60+ ECUs communicate over 2 wires, what ISO 15765-4 and ISO-TP are, high-speed vs low-speed CAN, and why "lost communication with ECU" (U0100+) is critical.

AI-generated 4 min read

CAN Bus is the “nervous system” of a modern car. Your VW Golf has 60+ electronic modules (ECUs for engine, ABS, airbags, A/C, door modules, cluster), and all of them talk over one shared “wire” — CAN Bus. Understanding the basics helps decode weird faults like “ABS flashes + cruise dies + no start”. Below: short architecture primer and how OBD-II interacts with it.

What CAN Bus is

CAN (Controller Area Network) — a serial-bus standard developed by Bosch in 1983. Two twisted wires (CAN High and CAN Low) with a 120 Ω terminator at each end. Messages are transmitted as frames — ID + up to 8 bytes of data + CRC.

Speeds:

  • High-Speed CAN — 500 kbit/s (engine, ABS, ESP — critical systems)
  • Medium-Speed CAN — 125 kbit/s (comfort: climate, audio)
  • Low-Speed CAN (LIN) — 20 kbit/s (mirrors, windows, keys)
  • CAN-FD — up to 8 Mbit/s (new cars from 2018)

Every ECU listens to every message on the bus; filters the ones addressed to it. E.g. the cluster picks up vehicle speed from message “ID 0x201” sent by the engine ECU.

ISO 15765-4 — OBD-II standard on top of CAN

Standard OBD-II since 2008 must be implemented over CAN (ISO 15765-4). Which means:

  • Your ELM327 adapter connects to the diagnostic CAN channel (separate from the internal one)
  • Communication uses ISO-TP (Transport Protocol) — splits long messages across several frames (VIN, DTC lists, Mode 22 responses)
  • Multi-frame — not every adapter reassembles correctly; our SDK does

U-codes — “lost communication”

When one ECU can no longer see another on the bus — U-codes (Network / Communication) appear. Examples:

CodeMeaning
U0100Lost communication with ECM (engine)
U0101Lost communication with TCM (transmission)
U0121Lost communication with ABS
U0140Lost communication with BCM (body)
U0155Lost communication with IPC (cluster)
U0001High-Speed CAN bus problem
U0073 / U0074 / U0075A specific CAN channel problem

Causes of U-codes:

  • Broken CAN wire — often in inter-body connectors
  • Short of CAN to ground or to +12V
  • Weak terminator (120 Ω) — “ringing” on the bus
  • Dying ECU — doesn’t answer heartbeat

Example: a storm and “everything flashes”

Symptom: turned on rear wiper → headlights went out, radio muted, ABS light came on all at once.

Cause: short on the CAN bus (wet connector under the dash). All ECUs went “deaf” at once, some rebooted, some went into safe mode.

OBD-II diagnostics:

  1. Scan → U0100, U0121, U0140 all at once
  2. Freeze Frame timestamps identical (so it’s a system-wide event)
  3. Test via checklist — standard PIDs work → bus is physically alive, the problem was transient

Fix: dry the connector, WD-40, contact cleaner. Cost: $0 labour + $10 chemicals.

Chain: why one U-code is scary but a pile of U-codes is critical

  • Single U-code (e.g. U0121) — often a local problem with one module (rewire, contact clean).
  • Many U-codes in different modules — bus-wide problem (harness break, short, weak terminator). More serious — can stay unresolved for months, until an ECU eventually fries.

Our DTC Analyzer Agent recognises patterns: if there are >3 U-codes in different modules + same Freeze Frame timestamp → says “Likely a bus problem, not an individual module”.

How to “see” the CAN Bus yourself

A stock ELM327 shows only the diagnostic channel (Mode 01-0A). But:

  • CAN sniffer ($30-100) — shows raw frames of every message on the bus
  • Software: SavvyCAN, Wireshark with a CAN plugin
  • That’s DIY hacking, not recommended without understanding the consequences

For 99% of diagnostics OBD-II via ELM327 is enough. Car Diagnostics covers all standard U-codes in the DTC catalog and gives an AI interpretation of grouped problems.

Try it on the free tier of the apppair an ELM327 adapter, scan the car. If there’s at least one U-code — read the Freeze Frame post to lock the context.

Comments

Loading…