Elm327 interfaces I have tested with OBDII, ABS and SRS
To be able to read fault codes (DTC) from all car's I have tested, it's important that your Elm327 transmits all commands from version v1.4 (minimum !)
And it also needs to support all protocols.
Many Elm 327 interfaces that are sold, should be version v1.5 or v2.1 and they would also support all protocols according to the data supplied.
However, my experience is different.
Supported OBD2 protocols (properly functioning Elm327)
1 - SAE J1850 PWM (41.6 Kbaud) Ford, Mazda until 2005
2 - SAE J1850 VPW (10.4 Kbaud) Opel, Chevrolet until 2004
3 - ISO 9141-2 (5 baud init 9.6 Kbaud) Volvo, Vw, Toyota
4 - ISO 14230-4 KWP (5 baud init, 10.4 Kbaud) Toyota, Suzuki
5 - ISO 14230-4 KWP (fast init 10.4 Kbaud) Vw, Bmw, Suzuki, Porsche, Toyota, Renault
6 - ISO 15765-4 CAN (11 bit ID 500 Kbaud) BMW, Ford, Opel, Toyota, Mercedes, Fiat, Porsche, Volvo
7 - ISO 15765-4 CAN (29 bit ID 500 Kbaud) Fiat, Volvo, Honda, Peugeot, Citroen
8 - ISO 15765-4 CAN (11 bit ID 250 Kbaud) Volvo
9 - ISO 15765-4 CAN (29 bit ID 250 Kbaud) Volvo
A - SAE J1939 CAN (29 bit ID, 250 * kbaud)
B - User1 CAN (11 * bit ID, 125 * kbaud) Vw, Volvo, Honda
C - User2 CAN (11 * bit ID, 50 * kbaud) Fiat
Interfaces I have tested.
Interface A (Upper)
Bluetooth signal weak. (only 2 meters)
Sold as a v2.1 supporting all protocols.
Interface test showed that it was actually a v1.0
Elm327 responded to many commands with "not OK".
Protocols 1 and 2 were not supported?
Problem: missing PWM and VPW ic's.
Interface A (Lower)
Bluetooth signal OK.
Sold as a v1.5 supporting all protocols.
During the interface test all seemed to go well first.
Elm327 responded to all commands with "OK".
But Ford I could not read Dtc's from PCM by OBDII?
I also could not read error codes from PCM (brand-specific), ABS and SRS?
Cause: Commands were not sent to the car?
Problem: missing PWM ic.
Interface B
Bluetooth signal OK. (8 meters)
Sold as a v1.5 supporting all protocols.
Interface test showed that he could handle all the commands of a v1.5
All tested car's and ecu's have been done with this Elm327.
Interface C
Bluetooth signal weak.
Sold as a v2.1 supporting all protocols.
Interface test showed that this Elm327 was actually a "hidden" v1.0 too.
Elm327 responded on many commands with "not OK".
Interface D
Bluetooth signal OK. (8 meters)
Sold as a v1.5 supporting all protocols.
Interface test showed that he could handle all the commands of a v1.5
Many brands and computers I could read with this interface.
Fiat Ecu's ABS and BCM I could not read-erase Dtc's?
Problem I found: Canbus 120 ohm resistance to high.
My first choice is an Elm327 v1.5 because:
1: an Elm327 v1.0 does not support enough commands.
2: I have not yet had a Elm327 v2.1 that came well from the ElmAllOBD test.
I always use the larger model because a mini Elm327 interface is harder to connect. (some car brands)