OBD Protocol Selection
OBD-II uses several communication protocols (ISO standards), and the one in use depends on your vehicle's make, year, and region. OBD-NINJA defaults to automatic detection, but you can also pick a protocol manually for vehicles where auto-detect fails.
1.Overview
OBD-II has been mandatory in the US since 1996 and is now used worldwide, but its underlying communication protocols have evolved over time. Before CAN bus (ISO 15765) became the standard, vehicles used a mix of ISO 9141-2, KWP2000 (ISO 14230), and the US-specific SAE J1850 PWM/VPW — varying by manufacturer and region.
OBD-NINJA picks the right protocol on connect via the ELM327 `ATSP0` (auto-detect) command, but auto-detection can fail on older or grey-market vehicles. For those cases, you can manually choose from 10 supported protocols.
When to use it — if your adapter hangs on "SEARCHING…" until it times out, drops in and out, or refuses to connect to an older European or imported car, picking the protocol manually often fixes it.
2.Supported Protocols
OBD-NINJA supports the following 10 protocols, mapped to the ELM327 ATSPx commands.
| Protocol | Command | Typical vehicles |
|---|---|---|
| Auto Detect | ATSP0 | All vehicles (recommended / default) |
| CAN 11-bit / 500 kbps | ATSP6 | Most passenger cars from 2008 onward (most common) |
| CAN 29-bit / 500 kbps | ATSP7 | Some modern vehicles using extended IDs |
| CAN 11-bit / 250 kbps | ATSP8 | Some specialty vehicles |
| CAN 29-bit / 250 kbps | ATSP9 | Commercial vehicles, pickup trucks, etc. |
| KWP2000 Fast | ATSP5 | European vehicles c. 2003–2007 (ISO 14230 fast init) |
| KWP2000 Slow | ATSP4 | European vehicles c. 2000–2006 (5-baud init) |
| ISO 9141-2 | ATSP3 | Older European cars, late 1990s–early 2000s Asian cars |
| J1850 PWM | ATSP1 | Older Ford (US, c. 1996–2003) |
| J1850 VPW | ATSP2 | Older GM / Chrysler (US, c. 1996–2003) |
Treat the table as a guide. Even within the same model, year and market region can change the protocol — when in doubt, try Auto first.
3.Setup
From the Settings screen
- 1. Open Settings
- 2. Tap "OBD Protocol"
- 3. Pick a protocol from the list
- 4. It applies on the next connection
Tip: After changing the protocol, disconnect Bluetooth and reconnect. The change does not apply to an active session.
Recovery flow when connection fails
If a connection attempt fails, a dialog appears automatically. Tap OK on "Pick a protocol manually?" and you'll jump straight to the protocol picker.
4.Which protocol does my car use?
When in doubt, start with Auto. The tables below are rough guidance based on year and region.
Quick guess by model year
| Year | First choice | Second choice |
|---|---|---|
| 2008–present | CAN 11-bit / 500 kbps | Auto |
| 2003–2007 (Europe) | KWP2000 Fast | KWP2000 Slow |
| 2000–2007 (Europe / Asia) | ISO 9141-2 | KWP2000 Slow |
| 1996–2003 (US Ford) | J1850 PWM | Auto |
| 1996–2003 (US GM / Chrysler) | J1850 VPW | Auto |
Region / manufacturer tendencies
| Region / Maker | Likely protocol |
|---|---|
| Japanese cars (2008+) | Almost always CAN 11-bit / 500 |
| Older VW / Audi / Skoda (–2007) | KWP2000 Fast or ISO 9141-2 |
| Older Opel / Saab | Often KWP2000 Slow |
| Older Lada / Dacia | ISO 9141-2 |
| Older US Ford | J1850 PWM |
| Older US GM / Chrysler | J1850 VPW |
| European / Asian cars (2008+) | CAN 11-bit / 500 — fall back to 29-bit |
| Commercial (pickups / trucks) | CAN 29-bit / 250 worth trying |
Imported vehicles — the same model can ship with a different protocol depending on the destination market. North American and European variants may use different protocols, so the destination region tends to be a more reliable hint than the badge on the car.
5.Troubleshooting
Order to try when you can't connect
- 1. Try Auto first — confirm whether anything connects at all
- 2. CAN 11-bit / 500 — for 2008+ vehicles, this is the most common
- 3. CAN 29-bit / 500 — try this if 11-bit didn't work
- 4. Pick from the year / region tables above
- 5. If none work, suspect the ELM327 adapter or cable itself
Tip: Reconnect Bluetooth every time you change the protocol (disconnect and reconnect). Just changing the setting is not enough.
6.FAQ
Auto works fine — does specifying the protocol make connection faster?
Slightly. Auto tries protocols in sequence internally, so picking a known protocol can shorten the initial connection time.
What if I pick a protocol that doesn't match my car?
The connection fails and the fallback dialog appears, letting you pick a different protocol from there.
I've heard ELM327 adapters differ in protocol support — is that true?
Yes. Some cheap clones only support CAN protocols and skip the older J1850 family. For older cars, pick an adapter that explicitly lists the protocols you need.
Can I switch back to Auto after picking a protocol manually?
Yes. Just choose "Auto Detect" again from the same picker.
I changed the protocol but nothing seems different
Disconnect Bluetooth and reconnect. The protocol command (ATSPx) is sent during the connection init sequence, so it doesn't affect an active session.
Download OBD NINJA
Free on iOS and Android.