Information on the Porsche 964 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:
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
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.
(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.
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!
Here's information on the socket (from Rennlist):
Using ScanTool on the interface