Information on the Porsche 964 OBD Motronic interface

OBD/Motronic Interface

The Motronic in the 964 is Bosch Motronic model M2.1. The communication with the unit follows the ISO 9141 standard. This is apparently like KWP1281 used in pre-obd2 VW (VAGCOM), according to Jason Andreas (thanks Jason).

Finding information on how to talk to the Motronic unit is difficult, to say the least! There are few people who seem to have the information, and those that do are hard to track down, or reluctant to divulge the secrets :-)

I set out to write my own software and used the following sources for information:

1) The Yahoo! Group "opendiag": http://tech.groups.yahoo.com/group/opendiag/

2) Information (in German) on the KW 1281 protocol: http://www.blafusel.de/misc/obd2_kw1281.html

3) Information on VAG COM from Hex Diagnostics: http://www.hex.co.za/vaginfo/index.html

4) Andy Whittaker's "FreeScan" SourceForge project: http://sourceforge.net/projects/freescan

5) FIAT specifications for ISO 9141 (from opendiag)

Waking up the unit

Communication with the DME has to use the odd value of 8800 baud. Before communication starts, the DME has to be "woken".

Here is the procedure I use:

EscapeCommFunction(hCom,SETRTS);
Sleep(200);
EscapeCommFunction(hCom,SETRTS);
Sleep(200);
EscapeCommFunction(hCom,SETRTS);
Sleep(200);
EscapeCommFunction(hCom,SETRTS);
Sleep(200);
EscapeCommFunction(hCom,SETRTS);
Sleep(200);
EscapeCommFunction(hCom,CLRRTS);
Sleep(200);
EscapeCommFunction(hCom,SETRTS);
Sleep(200);
EscapeCommFunction(hCom,SETRTS);
Sleep(200);
EscapeCommFunction(hCom,SETRTS);
Sleep(200);
EscapeCommFunction(hCom,CLRRTS);
Sleep(200);
PurgeComm(hCom,PURGE_RXCLEAR|PURGE_TXCLEAR);
 

OBDPlot - Software for Plotting and Logging Engine Parameters in Real TIme

You can download the software from here

This version (1.3) hopefully cures some of the connection time out issues I was having with previous versions. Let me know how well it works for you.

Instructions for Use

If you are familiar with DougB's "ScanTool" software, and have it running, talking to your 964, then these instructions are for you. If you don't, then proceed at your own risk. In fact, proceed at your own risk anyway :-)

1) If your OBD serial connection is on COM1, then skip to step 3

2) Edit the text file called "OBDPlot.cfg" and change the name of the COM port to what you will be using. (On my laptop I am using COM9:)

3) Plug your OBD hardware into the serial port, connect it at the OBD plug in the 964, and turn the ignition on, as you would do when starting ScanTool

4) Start the OBDPlot application

5) After a short while, the OBDPlot will connect to the ECU, and start plotting data

6) To terminate OBDPlot, either click the "X" in the top right hand corner, or go to the File menu and select the Exit menu item

7) Once OBDPlot has terminated you will find a file called "OBDPlot.log" in the directory: this is a text file that contains a record of all the measured parameters, with time stamps. It also contains some debugging information which will eventually be removed in a later, stable release of the software. Please make a copy of this file elsewhere on your system if needed: it will be overwritten next time OBDPlot is run.

GUI (Graphical User Interface)

Here's a screenshot of the running application:

The top left hand button can be used to Pause and Resume plotting.

The top set of buttons select which of the parameters are to be plotted.  When a button is green, it is being plotted, red not plotted. These buttons don't affect what gets written in the logfile, where all parameters are written.

Each parameter is plotted with a colour code. The colour of a parameter's button matches the colour of the plot line showing that parameter.

The plot lines are drawn as on a strip chart, so all the lines moves from right to left, with the most recent data being on the right hand side: where the small triangular "pens" are. There is a vertical time stamp every 30 seconds into the past. Once the oldest part of the plot line reaches the left hand side of the screen it falls off into oblivion.

The Y axis of the chart/plot is calibrated in Fahrenheit, Volts, RPM, milliseconds and angle (degrees). So, if you are looking at the Intake Air Temperature plot line (in red), use the Fahrenheit scale as shown at the left hand side of the chart.

The very top text window gives some general processing information: the system time in milliseconds, the measured Baud rate at which data are being exchanged with the ECU, the current title block being received or sent to the ECU, and the number of points being plotted for each chart line.

 

ScanTool Software

Doug Boyce kindly offers freeware software to talk to the 964's OBD interface. See this Rennlist thread for more details.

(I have a local copy of Doug's ScanTool4.zip.)

Note that if you use this software and the serial port you are connecting through is not COM1, you will need to add or edit the ScanTool.ini file in the Windows directory, and change the COM value.

Interface Board

Here's a schematic of the board as described on the Rennlist thread mentioned above.

I used  BC338 instead of 2N3904 (just because I happened to have them). I added a green LED in series with a 1.5k resistor across the +12/Earth just so I could see I had power. The components are mounted on a piece of "Veroboard" that has been sitting in my parts box since I lived in the UK 25 years ago!



For connection to the socket in the 964 I used a system (Patent Pending) based on 1 1/2" nails, which I found to be the perfect diameter for a snug fit in the pin sockets.

 

Here's information on the socket (from Rennlist):

  1. Airbag Gong Relay
  2. Unused
  3. Unused
  4. Unused
  5. OBC On/Off
  6. Unused
  7. L
  8. K
  9. Unused
  10. Ground
  11. Unused
  12. Battery +VE
  13. Ignition Power
  14. Pin 6 of the DME, Rev Counter
  15. Pin 22 of the DME, Check Engine Control On DME
  16. Unused
  17. Unused
  18. Unused
  19. Pin 21 of the DME, Knocking

Using ScanTool on the interface
 

I put the 964 in the "Run" ignition position (i.e. all warning lights on the dash "ON"), and started the ScanTool software, which connected almost immediately:



I was pleased to see no Trouble Codes on the Motronic. Here are the other screens




Seeing the above Trouble Codes on the Climate Control, I cleared them, and will check again after driving if they reappear. They certainly weren't there after a refresh:

Other tidbits:

 

  • "Have you looked at the Actual Values screen in the new version? I've added a new entry that shows the adaptation value. A non-adapted car will show a value of 128 (80h). The default adaptation value is 128. A higher value after adaptation means that the IAC valve needed to be opened more to allow additional bypass air to achieve the desired idle speed--if that makes any sense. Additional bypass air could improve startup?