OBD-II scanner

5 OBD-II Protocols Explained in Plain English

ISO 9141-2, KWP2000, J1850 PWM, J1850 VPW, CAN — how they work, which cars use them, and why protocol support matters when choosing an adapter.

AI-generated 4 min read

OBD-II uses 5 communication protocols — and your adapter must support all of them, or it will not work with certain vehicles. Modern ELM327-based adapters auto-detect the correct protocol during connection, but understanding which protocol your car speaks helps you choose the right adapter and troubleshoot connection problems like “CAN ERROR” or “BUS INIT”.

Why are there 5 protocols instead of one?

Different car manufacturers developed their own diagnostic systems before regulation forced a single standard. When the US government mandated OBD-II for all 1996-model-year cars, the compromise was to allow multiple protocols — each manufacturer kept the one they already used on their production line. A unified standard (CAN) did not become mandatory until 2008.

Here is how the protocols map to car brands:

ProtocolAbbreviationUsed byActive years
ISO 9141-2K-LineChrysler, European (BMW, Mercedes, VW pre-2004)1996–2008
KWP2000 (ISO 14230)KWPFord (partial), Asian brands (early)1996–2005
J1850 PWMPWMFord (most models)1996–2008
J1850 VPWVPWGeneral Motors (Buick, Cadillac, Chevrolet)1996–2007
CAN 11/29-bit (ISO 15765-4)CANAll manufacturers after 20082008–present

CAN is the sole protocol on every modern car. If your vehicle was built after 2008, it almost certainly uses CAN. The 4 older protocols are only relevant for pre-2008 vehicles.

How does the adapter determine which protocol to use?

Protocol detection is an automatic scan that the ELM327 chip runs in milliseconds. When you tap “Connect” in the Car Diagnostics app, the adapter executes a fixed sequence:

  1. Apply voltage to the K-Line pin and wait for a response (ISO 9141-2 / KWP2000)
  2. If no response — try J1850 PWM (two-wire differential bus)
  3. Next — J1850 VPW (single-wire, variable pulse width)
  4. Finally — CAN (differential CAN-High and CAN-Low bus)
  5. If nothing responds — return a “CAN ERROR” or “BUS INIT” error

All genuine ELM327 v1.5+ adapters support all 5 protocols with full auto-detection. Cheap counterfeits often have a buggy auto-scan implementation, which is why they frequently return CAN ERROR on perfectly compatible cars.

For detailed troubleshooting on connection issues, see the Connecting an OBD adapter guide. If your device does not appear in the Bluetooth list, that page covers the most common fixes.

Which protocol does my car use?

You can determine your car’s OBD-II protocol by its model year and brand — no scanner needed:

  • 2008 or newer — almost certainly CAN (ISO 15765-4). Exceptions are rare budget models on older platforms that carried over K-Line to around 2010.
  • Ford 1996–2008 — J1850 PWM (check pins 2 and 10 in the OBD-II port; both present = PWM).
  • GM 1996–2007 — J1850 VPW (pin 2 active). Very early models may use KWP2000.
  • Chrysler 1996–2008 — ISO 9141-2 (K-Line on pin 7). Later models switched to CAN.
  • Toyota / Honda / Nissan 1996–2005 — ISO 9141-2 or KWP2000; after 2005, CAN.
  • Volkswagen / Audi / BMW / Mercedes pre-2004 — ISO 9141-2 (K-Line); after 2004, CAN.

If you are unsure, start with the Getting Started guide. The Car Diagnostics app shows the detected protocol name in the session info screen after connection.

Understanding protocols also matters when choosing an OBD-II adapter. Adapters with the ELM327 v1.5+ or STN1110 (OBDLink) chip support all 5 protocols with full auto-scan. Some older VAG-specific adapters (e.g. early VCDS interfaces) support K-Line only — they will not work with modern CAN vehicles.

How does CAN differ from the older protocols in practice?

CAN (Controller Area Network) is fundamentally different from the four older protocols. K-Line (ISO 9141-2) and KWP2000 use a single wire for bidirectional communication at speeds around 10.4 kbps. J1850 PWM uses two wires at 41.6 kbps, while J1850 VPW uses one wire at 10.4 kbps. CAN, by contrast, uses a twisted-pair differential bus (CAN-High and CAN-Low) at either 250 kbps (low-speed) or 500 kbps (high-speed), making it roughly 10–50 times faster.

This higher bandwidth is why CAN became mandatory from 2008. Modern ECUs exchange far more data than pre-2000 systems — dozens of PIDs, real-time telemetry at 5 Hz, and UDS diagnostic services (ISO 14229) that require rapid request-response cycles. K-Line simply cannot sustain this throughput.

A practical example: reading 10 consecutive PID values on CAN takes roughly 0.2 seconds. On K-Line the same operation takes 2–3 seconds, and the connection is more prone to interruption from other bus traffic. This is why the Car Diagnostics app can show live gauges on CAN cars at up to 5 refreshes per second, while K-Line vehicles update at a noticeably slower rate.

Car Diagnostics Platform supports all 5 protocols through any compatible ELM327 adapter. See the full feature list for everything available after connection.