Expand vehicle compatibility: European Ford models, per-model Japanese/Korean tables

European Fords (Fiesta, Focus, Mondeo, Ka, Transit, etc.) use K-line,
not J1850 like US Fords. Added model-level detail for Honda, Toyota,
Nissan, Mazda, Subaru, Mitsubishi, Hyundai, Kia, Suzuki, and Chrysler.
Added muki01/OBD2_K-line_Reader reference.
This commit is contained in:
Ryan Malloy 2026-02-13 07:39:24 -07:00
parent 7045d8b614
commit fc1e832c3d

View File

@ -88,49 +88,210 @@ The following tables cover which manufacturers used K-line protocols and when th
<Tabs>
<TabItem label="European">
| Manufacturer | Protocol | K-line Years | CAN Transition | Notes |
#### Ford (Europe)
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 AutoWire's OBD-II mode alongside the [Tucker k-line-board](https://git.supported.systems/warehack.ing/k-line-board) project.
| Model | Generation | Years | Protocol | Notes |
|-------|-----------|-------|----------|-------|
| Fiesta | Mk4 | 19952002 | ISO 9141-2 | Zetec / Endura-DE engines |
| Fiesta | Mk5 | 20022008 | KWP2000 | Duratec engines |
| Focus | Mk1 | 19982004 | ISO 9141-2 / KWP2000 | Zetec / Duratec |
| Focus | Mk2 | 20042008 | KWP2000 | Pre-facelift K-line, facelift models may have CAN |
| Mondeo | Mk2 | 19962000 | ISO 9141-2 | Zetec engines |
| Mondeo | Mk3 | 20002007 | KWP2000 | Duratec / TDCi |
| Ka | Mk1 | 19962008 | ISO 9141-2 | Based on Fiesta Mk4 platform |
| Puma | — | 19972001 | ISO 9141-2 | Zetec-SE engine |
| Cougar | — | 19982002 | ISO 9141-2 / KWP2000 | Based on Mondeo Mk2 |
| C-Max | Mk1 | 20032010 | KWP2000 | Based on Focus Mk2 platform |
| Transit | Mk6 | 20002006 | KWP2000 | Duratorq TDCi |
| Transit | Mk7 | 20062013 | KWP2000 | Later models transition to CAN |
| Galaxy | Mk2 | 20062010 | KWP2000 | Shared Ford/VW platform |
<Aside type="tip">
European Fords sold between 1996 and ~2008 almost universally support K-line. The transition to CAN happened model-by-model — Focus Mk2 facelift (2008+), Fiesta Mk6 (2008+), and Mondeo Mk4 (2007+) were the first CAN-only generations.
</Aside>
#### Other European Manufacturers
| Manufacturer | Protocol | K-line Years | CAN Transition | Key Models |
|---|---|---|---|---|
| **BMW** | ISO 9141-2 | 19962006 | 2005+ (E60, E90) | OBD-II diagnostics separate from I/K-Bus |
| **Mercedes-Benz** | ISO 9141-2 / KWP2000 | 19962004 | 2004+ (W211, W203 facelift) | |
| **Volkswagen** | KWP2000 | 19962004 | 2004+ (Golf V / PQ35 platform) | |
| **Audi** | KWP2000 | 19962004 | 2004+ (B7 A4) | Shared platform with VW |
| **Porsche** | ISO 9141-2 | 19962004 | 2005+ (997, Cayenne facelift) | |
| **Volvo** | KWP2000 | 19962004 | 2005+ (V50, S40 gen 2) | |
| **Saab** | KWP2000 | 19962004 | 2003+ (9-3 gen 2) | Early CAN adopter |
| **Fiat / Alfa Romeo** | ISO 9141-2 | 19962005 | 2005+ | |
| **Peugeot / Citroen** | ISO 9141-2 / KWP2000 | 19962004 | 2004+ | |
| **Renault** | ISO 9141-2 | 19962004 | 2005+ (Megane II) | |
| **BMW** | ISO 9141-2 | 19962006 | 2005+ (E60, E90) | 3/5/7/X5 Series (OBD-II diagnostics separate from I/K-Bus) |
| **Mercedes-Benz** | ISO 9141-2 / KWP2000 | 19962004 | 2004+ (W211, W203 FL) | C-Class (W202/W203), E-Class (W210/W211), ML (W163) |
| **Volkswagen** | KWP2000 | 19962004 | 2004+ (Golf V) | Golf IV, Passat B5, Polo 9N, Bora/Jetta IV |
| **Audi** | KWP2000 | 19962004 | 2004+ (B7 A4) | A3 (8L), A4 (B5/B6), A6 (C5), TT (8N) |
| **Porsche** | ISO 9141-2 | 19962004 | 2005+ (997) | 911 (996), Boxster (986), Cayenne (955) |
| **Volvo** | KWP2000 | 19962004 | 2005+ (V50, S40 gen 2) | S60, V70, S80, XC70, XC90 (P2 platform) |
| **Saab** | KWP2000 | 19962002 | 2003+ (9-3 gen 2) | 9-3 gen 1, 9-5 |
| **Fiat / Alfa Romeo** | ISO 9141-2 | 19962005 | 2005+ | Punto, Stilo, 156, 147, Doblo |
| **Peugeot / Citroen** | ISO 9141-2 / KWP2000 | 19962004 | 2004+ | 206, 306, 307, Xsara, C3, C4 |
| **Renault** | ISO 9141-2 | 19962004 | 2005+ | Clio II, Megane I/II, Scenic, Laguna |
| **Opel / Vauxhall** | KWP2000 | 19962004 | 2004+ (Astra H) | Corsa C, Astra G, Vectra B/C, Zafira A |
| **SEAT** | KWP2000 | 19962004 | 2004+ | Ibiza III, Leon I, Toledo II (VW platform) |
| **Skoda** | KWP2000 | 19962004 | 2004+ | Fabia I, Octavia I, Superb I (VW platform) |
</TabItem>
<TabItem label="Japanese / Korean">
<TabItem label="Japanese">
| Manufacturer | Protocol | K-line Years | CAN Transition | Notes |
|---|---|---|---|---|
| **Honda** | ISO 9141-2 | 19962007 | 2008 (US mandate) | One of the last K-line holdouts |
| **Toyota / Lexus** | KWP2000 (ISO 14230) | 19962006 | 2006+ (Camry gen 6) | Some models CAN earlier |
| **Nissan / Infiniti** | ISO 9141-2 | 19962005 | 2004+ (Altima, 350Z) | |
| **Mazda** | ISO 9141-2 | 19962005 | 2006+ (Mazda3 gen 1 facelift) | |
| **Subaru** | ISO 9141-2 | 19962004 | 2005+ (Legacy/Outback gen 4) | |
| **Mitsubishi** | ISO 9141-2 | 19962005 | 2006+ | |
| **Suzuki** | KWP2000 | 19962006 | 2007+ | |
| **Hyundai** | KWP2000 / ISO 9141 | 19962005 | 2005+ (Sonata NF) | |
| **Kia** | KWP2000 / ISO 9141 | 19962005 | 2005+ (Optima gen 2) | Shared platform with Hyundai |
#### Honda
One of the last K-line holdouts — many Honda models used ISO 9141-2 right up until the 2008 US CAN mandate.
| Model | Years (K-line) | Protocol | Notes |
|-------|---------------|----------|-------|
| Civic | 19962005 | ISO 9141-2 | 7th gen (2001-2005) last K-line Civic |
| Accord | 19962007 | ISO 9141-2 | 7th gen (2003-2007) one of the last K-line Hondas |
| CR-V | 19972006 | ISO 9141-2 | 1st gen (1997-2001) and 2nd gen (2002-2006) |
| Odyssey | 19992005 | ISO 9141-2 | 2nd gen (1999-2004) |
| Element | 20032007 | ISO 9141-2 | All model years |
| S2000 | 19992009 | ISO 9141-2 | K-line for entire production run |
| Fit / Jazz | 20012007 | ISO 9141-2 | 1st gen |
| Integra / RSX | 19962006 | ISO 9141-2 | |
| Prelude | 19962001 | ISO 9141-2 | All OBD-II Preludes |
#### Toyota / Lexus
Toyota used KWP2000 (ISO 14230) — the newer K-line variant with fast init support.
| Model | Years (K-line) | Protocol | Notes |
|-------|---------------|----------|-------|
| Corolla | 19962006 | KWP2000 | 9th gen (2000-2006) last K-line Corolla |
| Camry | 19962006 | KWP2000 | XV30 (2002-2006) last K-line Camry |
| RAV4 | 19962005 | KWP2000 | XA20 (2000-2005) |
| Highlander | 20012007 | KWP2000 | 1st gen |
| 4Runner | 19962005 | KWP2000 | N180 (1996-2002) and early N210 |
| Tacoma | 19962004 | KWP2000 | 1st gen |
| Land Cruiser | 19962005 | KWP2000 | J100 |
| Yaris / Echo | 19992005 | KWP2000 | XP10 |
| Celica | 19962006 | KWP2000 | T230 (2000-2006) |
| MR2 Spyder | 19992007 | KWP2000 | ZZW30 |
| Lexus IS 300 | 20012005 | KWP2000 | XE10 |
| Lexus GS 300 | 19982005 | KWP2000 | S160 |
| Lexus RX 300 | 19992003 | KWP2000 | XU10 |
#### Nissan / Infiniti
| Model | Years (K-line) | Protocol | Notes |
|-------|---------------|----------|-------|
| Altima | 19962006 | ISO 9141-2 | L31 (2002-2006) last K-line Altima |
| Sentra | 19962006 | ISO 9141-2 | B15 (2000-2006) |
| Maxima | 19962004 | ISO 9141-2 | A33 (2000-2003) |
| Pathfinder | 19962004 | ISO 9141-2 | R50 |
| Frontier | 19982004 | ISO 9141-2 | D22 |
| Xterra | 20002004 | ISO 9141-2 | WD22 |
| 350Z | 20032006 | ISO 9141-2 | Z33 (early production) |
| Infiniti G35 | 20032006 | ISO 9141-2 | V35 |
| Infiniti QX4 | 19972003 | ISO 9141-2 | |
#### Mazda
| Model | Years (K-line) | Protocol | Notes |
|-------|---------------|----------|-------|
| Protege / 323 | 19962003 | ISO 9141-2 | BJ |
| Mazda3 | 20042006 | ISO 9141-2 | BK, pre-facelift |
| Mazda6 | 20032005 | ISO 9141-2 | GG, 1st gen early |
| MX-5 / Miata | 19962005 | ISO 9141-2 | NB (1998-2005) |
| MPV | 19962006 | ISO 9141-2 | LW |
| RX-8 | 20042005 | ISO 9141-2 | SE3P, early production |
| Tribute | 20012006 | ISO 9141-2 | EP, Ford Escape platform |
#### Subaru
| Model | Years (K-line) | Protocol | Notes |
|-------|---------------|----------|-------|
| Impreza / WRX | 19962004 | ISO 9141-2 | GD/GG (2001-2004) |
| Legacy / Outback | 19962004 | ISO 9141-2 | BE/BH (1999-2003) last K-line gen |
| Forester | 19982004 | ISO 9141-2 | SG (2003-2004) |
| Baja | 20032006 | ISO 9141-2 | |
#### Mitsubishi
| Model | Years (K-line) | Protocol | Notes |
|-------|---------------|----------|-------|
| Lancer / Evo | 19962006 | ISO 9141-2 | CT9A Evo VII-IX |
| Eclipse | 19962005 | ISO 9141-2 | 3G (2000-2005) |
| Outlander | 20032006 | ISO 9141-2 | CU, 1st gen |
| Galant | 19962006 | ISO 9141-2 | 8th gen (1996-2004) |
| Montero / Pajero | 19962006 | ISO 9141-2 | V60/V70 |
</TabItem>
<TabItem label="Korean">
#### Hyundai
| Model | Years (K-line) | Protocol | Notes |
|-------|---------------|----------|-------|
| Elantra | 19962006 | KWP2000 | XD (2001-2006) |
| Sonata | 19962005 | KWP2000 / ISO 9141 | EF (1998-2005), NF switched to CAN |
| Santa Fe | 20012006 | KWP2000 | SM, 1st gen |
| Tucson | 20042009 | KWP2000 | JM |
| Accent | 19962005 | KWP2000 / ISO 9141 | LC (2000-2005) |
| Tiburon / Coupe | 19962008 | KWP2000 | GK (2003-2008) |
#### Kia
| Model | Years (K-line) | Protocol | Notes |
|-------|---------------|----------|-------|
| Optima | 20012005 | KWP2000 | MS, 1st gen |
| Sorento | 20032006 | KWP2000 | BL, 1st gen |
| Sportage | 20052008 | KWP2000 | JE, 2nd gen |
| Spectra / Cerato | 20012006 | KWP2000 | LD |
| Rio | 20012005 | KWP2000 | DC, 1st gen |
| Carnival / Sedona | 19982005 | KWP2000 | |
#### Suzuki
| Model | Years (K-line) | Protocol | Notes |
|-------|---------------|----------|-------|
| Swift | 19962006 | KWP2000 | HT51S / ZC31S |
| Grand Vitara | 19982005 | KWP2000 | FT/GT |
| SX4 | 20062009 | KWP2000 | GY, late K-line model |
| Jimny | 19982007 | KWP2000 | JB23/JB33 |
| Liana / Aerio | 20012007 | KWP2000 | |
</TabItem>
<TabItem label="American">
| Manufacturer | Protocol | K-line Years | CAN Transition | Notes |
|---|---|---|---|---|
| **Chrysler / Dodge / Jeep** | ISO 9141-2 | 19962007 | 2008 (US mandate) | Used ISO 9141 almost exclusively before CAN |
| **Ford** | Mostly J1850 PWM | — | 2005+ | Ford used J1850 PWM, **not K-line**, for most models |
| **GM (Chevrolet, etc.)** | Mostly J1850 VPW | — | 2006+ | GM used J1850 VPW, **not K-line**, for most models |
#### Chrysler / Dodge / Jeep
<Aside type="note">
**Ford exceptions using K-line:** A few Ford-badged vehicles used ISO 9141 because they had non-Ford engines: the 1996 Escort 1.8L (Mazda BP engine), 19961997 Probe (Mazda platform), Aspire (Kia/Mazda), and Mercury Villager (Nissan VG30E engine). These are the only Ford vehicles that respond to K-line initialization.
Chrysler used ISO 9141-2 almost exclusively for OBD-II diagnostics before the 2008 CAN mandate — making them the most common K-line vehicles on US roads.
| Model | Years (K-line) | Protocol | Notes |
|-------|---------------|----------|-------|
| Jeep Wrangler | 19962006 | ISO 9141-2 | TJ |
| Jeep Cherokee | 19962001 | ISO 9141-2 | XJ |
| Jeep Grand Cherokee | 19962004 | ISO 9141-2 | WJ (1999-2004) |
| Dodge Ram | 19962007 | ISO 9141-2 | 3rd gen (2002-2008, pre-CAN) |
| Dodge Neon | 19962005 | ISO 9141-2 | |
| Dodge Caravan | 19962007 | ISO 9141-2 | RS (2001-2007) |
| Chrysler PT Cruiser | 20012010 | ISO 9141-2 | |
| Chrysler 300M | 19992004 | ISO 9141-2 | LH platform |
| Dodge Dakota | 19962004 | ISO 9141-2 | AN (1997-2004) |
| Dodge Durango | 19982003 | ISO 9141-2 | DN |
#### Ford (US Market)
US-market Fords used J1850 PWM — a different protocol that AutoWire does not support. Pin 2 on the OBD-II connector instead of pin 7.
<Aside type="caution">
**European Fords are different!** Ford Fiesta, Focus, Mondeo, Ka, Transit, and other European-market Fords use ISO 9141 / KWP2000 over K-line. See the **European** tab for model-level detail. US-market Fords used J1850 PWM instead.
</Aside>
A handful of US Ford-badged vehicles did use K-line because they had non-Ford engines:
| Model | Years | Protocol | Why K-line? |
|-------|-------|----------|-------------|
| Escort 1.8L | 1996 | ISO 9141 | Mazda BP engine |
| Probe | 19961997 | ISO 9141 | Mazda MX-6 platform |
| Aspire | 19961997 | ISO 9141 | Kia/Mazda platform |
| Mercury Villager | 19961998 | ISO 9141 | Nissan VG30E engine |
#### GM (US Market)
US-market GM vehicles used J1850 VPW — also not K-line. Pin 10 on the OBD-II connector.
<Aside type="note">
**GM exceptions:** Some 20052007 GM vehicles used KWP2000 (ISO 14230) alongside CAN during the transition period. Specific models vary — check the OBD-II connector pinout.
**GM exceptions:** Some 20052007 GM vehicles added KWP2000 (ISO 14230) alongside CAN during the transition period. European GM vehicles (Opel/Vauxhall) used K-line — see the European tab.
</Aside>
</TabItem>
@ -171,3 +332,11 @@ A multimeter or continuity tester on the OBD-II connector is the definitive way
| OBD-II CAN | Not 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 AutoWire firmware handles the protocol differences (baud rate, framing, checksum, initialization) in software.
## References
- [muki01/OBD2_K-line_Reader](https://github.com/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](https://github.com/muki01/I-K_Bus) — BMW I/K-Bus library that AutoWire'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.