The ELM327 allows you to talk easily with the on-board diagnostics (OBD) in your car.

There are tons of different devices on ebay and other stores. The authors recommended v1.3 or better. First I bought a v1.5a which is a scam. Even though the box says v1.5a and the device answers with v1.5a there is no such version, according to the developer page. The driver CD and the PCB reveals this it is actually a v1.2 - so do not buy this box. The PCB is pretty big and the Baud rate is only 9600.

I bought a second ELM327, this time v1.3a. The box looks almost identical to the one in the book. The PCB is maybe half the size to the v1.5a/v1.2 and the BAUD rate 38400 - much better!

The book recommends to connect the OBD-II to the ELM327 by using two cables - a standard OBD-II to DB9 cable and a adapter from DB9 to the 8 pin male header on the board. I also wanted to patch the USB connector, so I can use it later again. More about the serial DB9 connector can be found here. The pin layout is viewed from the front and the solder points pointing away from you.

Description OBD-II (Male) DB9 (Female) DB9 (Male) ELM327
 
 
Ground
4 & 5
1 & 2
1
CAN high
6
3
4
ISO K line
7
4
6
CAN low
14
5
3
J1850 bus-
10
6
2
J1850 bus+
2
7
7
ISO L line
15
8
5
Battery +12V
16
9
8

OBD-II to DB9

I bought a standard cable for this. The OBD-II socket is below the steering wheel, a little to the left.

Unfortunately the plug sticks out too much towards the driver and interferes with driving. I opened the cable and decided it is easy to modify. I just saw off the end of the plug and moved the cables to the side.

DB9 to ELM327

USB to ELM327

Connecting the ELM327 is pretty easy...

Start the ELM327 and testing the version:

atz
ELM327 v1.3a

Checking what protocol my Focus is running:

>atdp
AUTO, ISO 15765-4 (CAN 11/500)

For this project I am only interested in Mode 1, which is "Show current data". Here is a list of potential OBD II PIDs, but first I have to find out what my Focus supports. Here is the output:

>0100
41 00 BE 3F BC 13

>0120
41 20 C0 17 E0 11

>0140
41 40 FC 00 00 00
PIDs
Bit Mask
_1
_2
_3
_4
_5
_6
_7
_8
_9
_A
_B
_C
_D
_E
_F
_0
01-10
BE 3F
01
03
04
05
06
07
0B
0C
0D
0E
0F
10
11-20
BC 13
11
13
14
15
16
1C
1F
20
21-30
C0 17
21
22
2C
2E
2F
30
31-40
E0 11
31
32
33
3C
40
41-50
FC 00
41
42
43
44
45
46
51-60
00 00