Skip to content

Vehicle Compatibility

K-Line supports two distinct protocols that share the same physical layer (single-wire K-line) but target completely different vehicle systems. This page documents which vehicles use which protocol — and when manufacturers transitioned away from K-line to CAN bus.

BMW used I-Bus and K-Bus across their lineup from 1989 through approximately 2013. Both buses use identical signaling (9600 baud, 8E1, XOR checksum) — the difference is which modules are connected to each bus.

  • I-Bus (Instrumentation Bus): infotainment — radio, CD changer, navigation, telephone, DSP amplifier
  • K-Bus (Body Bus): body control — instrument cluster, light control, climate, door locks, windows, rain sensor
ChassisSeriesProductionI-BusK-BusNotes
E318 Series1989–1999YesCoupe only, I-Bus for nav/phone
E387 Series1994–2001YesYesBoth buses, GM5 bridges between them
E395 Series1995–2004YesYesBoth buses, same architecture as E38
E463 Series1997–2006YesK-Bus only, no factory I-Bus
E52Z82000–2003YesK-Bus only, shared E39 electronics
E53X51999–2006YesYesBoth buses
E83X32003–2010YesK-Bus only, later models transition to K-CAN
E85/E86Z42002–2008YesK-Bus only
E871 Series2004–2013YesK-Bus only, late production may use K-CAN

On models with both buses (E38, E39, E53), the GM5 body control module acts as a gateway, bridging messages between I-Bus and K-Bus when a module on one bus needs to reach a module on the other.

For models with only K-Bus (E46, E83, E85), all body and infotainment modules share the single bus. The CD changer connector in the trunk is the most accessible tap point — it carries K-Bus, 12V, and ground on a standard connector (X18180 on E46).

Several non-BMW vehicles share the I-Bus protocol due to shared platforms or BMW-sourced electronics:

MakeModelYearsPlatformNotes
MINICooper / One (R50)2001–2006BMW GroupShared electronics with E46 era
MINICooper S (R53)2001–2006BMW GroupSupercharged variant, same bus
MINIConvertible (R52)2004–2008BMW GroupSame bus architecture
Range RoverL30 (P38A)1994–2002BMW eraBMW V8 engine, BMW bus systems
Range RoverL3222002–2005BMW eraEarly L322 used BMW electronics (pre-Ford takeover)
Rover75 / MG ZT1999–2005BMW eraDeveloped under BMW ownership

OBD-II K-line uses ISO 9141-2 (older) or ISO 14230 / KWP2000 (newer) for diagnostic communication. This is a different protocol from BMW I/K-Bus — different baud rate (10400), different checksum (mod256), different bus model (master/slave), and requires an initialization sequence.

In the United States, OBD-II has been mandatory since 1996 for all passenger vehicles and light trucks. The communication protocol was left to the manufacturer’s discretion until 2008, when CAN (ISO 15765) became the sole required protocol.

timeline
    title OBD-II Protocol Evolution
    1996 : OBD-II mandatory (US)
         : Manufacturers choose ISO 9141, KWP2000, J1850, or CAN
    2001 : European OBD (EOBD) mandatory
         : Same protocols, EU emission standards
    2003 : CAN bus begins appearing
         : Manufacturers start transitioning to CAN
    2008 : CAN mandatory (US)
         : All new US vehicles must use ISO 15765 (CAN)
    2014 : CAN mandatory (EOBD)
         : EU catches up, CAN required for all new vehicles

The following tables cover which manufacturers used K-line protocols and when they transitioned to CAN. These are general ranges — specific models within a manufacturer may have switched earlier or later.

European Fords are completely different from US Fords — they use ISO 9141 / KWP2000 over K-line, not J1850 PWM. This is the primary target for K-Line’s OBD-II mode alongside the Tucker k-line-board project.

ModelGenerationYearsProtocolNotes
FiestaMk41995–2002ISO 9141-2Zetec / Endura-DE engines
FiestaMk52002–2008KWP2000Duratec engines
FocusMk11998–2004ISO 9141-2 / KWP2000Zetec / Duratec
FocusMk22004–2008KWP2000Pre-facelift K-line, facelift models may have CAN
MondeoMk21996–2000ISO 9141-2Zetec engines
MondeoMk32000–2007KWP2000Duratec / TDCi
KaMk11996–2008ISO 9141-2Based on Fiesta Mk4 platform
Puma1997–2001ISO 9141-2Zetec-SE engine
Cougar1998–2002ISO 9141-2 / KWP2000Based on Mondeo Mk2
C-MaxMk12003–2010KWP2000Based on Focus Mk2 platform
TransitMk62000–2006KWP2000Duratorq TDCi
TransitMk72006–2013KWP2000Later models transition to CAN
GalaxyMk22006–2010KWP2000Shared Ford/VW platform
ManufacturerProtocolK-line YearsCAN TransitionKey Models
BMWISO 9141-21996–20062005+ (E60, E90)3/5/7/X5 Series (OBD-II diagnostics separate from I/K-Bus)
Mercedes-BenzISO 9141-2 / KWP20001996–20042004+ (W211, W203 FL)C-Class (W202/W203), E-Class (W210/W211), ML (W163)
VolkswagenKWP20001996–20042004+ (Golf V)Golf IV, Passat B5, Polo 9N, Bora/Jetta IV
AudiKWP20001996–20042004+ (B7 A4)A3 (8L), A4 (B5/B6), A6 (C5), TT (8N)
PorscheISO 9141-21996–20042005+ (997)911 (996), Boxster (986), Cayenne (955)
VolvoKWP20001996–20042005+ (V50, S40 gen 2)S60, V70, S80, XC70, XC90 (P2 platform)
SaabKWP20001996–20022003+ (9-3 gen 2)9-3 gen 1, 9-5
Fiat / Alfa RomeoISO 9141-21996–20052005+Punto, Stilo, 156, 147, Doblo
Peugeot / CitroenISO 9141-2 / KWP20001996–20042004+206, 306, 307, Xsara, C3, C4
RenaultISO 9141-21996–20042005+Clio II, Megane I/II, Scenic, Laguna
Opel / VauxhallKWP20001996–20042004+ (Astra H)Corsa C, Astra G, Vectra B/C, Zafira A
SEATKWP20001996–20042004+Ibiza III, Leon I, Toledo II (VW platform)
SkodaKWP20001996–20042004+Fabia I, Octavia I, Superb I (VW platform)

The OBD-II connector pinout tells you which protocol(s) your vehicle supports. Check which pins are populated:

PinProtocolSignal
2J1850 PWM (Ford)Bus+
4Chassis groundGND
5Signal groundGND
6CAN busCAN High
7ISO 9141 / ISO 14230 (K-line)K-line
10J1850 VPW (GM)Bus
14CAN busCAN Low
15ISO 9141 / ISO 14230 (optional)L-line
16Battery positive+12V

If pin 7 is populated and pins 6/14 are not, the vehicle uses K-line exclusively — this is the target for K-Line’s OBD-II mode.

If pin 7 AND pins 6/14 are populated, the vehicle supports both K-line and CAN. The ECU may respond on either protocol, but CAN is generally preferred by modern scan tools. K-Line can still use the K-line path.

If only pins 6/14 are populated (no pin 7), the vehicle is CAN-only and cannot be reached via K-line.

ProtocolInterfaceUse CaseVehicle Count
BMW I/K-BusOptocoupler (PC817)Body/infotainment control~15 BMW/MINI/Rover models (1989–2013)
OBD-II K-lineOptocoupler or transistorEngine diagnostics (ISO 9141/14230)Hundreds of models (1996–2008)
OBD-II CANNot supported (different physical layer)All vehicles 2008+

The optocoupler circuit in this project was designed for BMW I/K-Bus but works for OBD-II K-line as well — both protocols use the same electrical signaling (open-drain/collector on a single wire, idle HIGH). The K-Line firmware handles the protocol differences (baud rate, framing, checksum, initialization) in software.

  • muki01/OBD2_K-line_Reader — Arduino/ESP32 K-line reader supporting ISO 9141 and ISO 14230 with automatic protocol detection. Includes transistor, comparator (LM393), and dedicated IC (L9637D, MCZ33290, SN65HVDA195) schematics.
  • muki01/I-K_Bus — BMW I/K-Bus library that K-Line’s protocol handler is based on. Optocoupler schematic, E46 command codes, and bus documentation.
  • SAE J1979 — OBD-II PID definitions and decode formulas (Mode 01 current data).
  • ISO 9141-2 — K-line 5-baud slow initialization protocol.
  • ISO 14230-4 (KWP2000) — K-line fast initialization and enhanced diagnostic services.