Visit our original site, please.

New!
Ambitious handicraft enthusiast can shop now in my own online-shop OBD2-Shop.eu. Presently I offer were above all parts for the Adapter introduced here, there this beschaffbar partially heavy (see forum contribution). In the future, the product range yet is supposed to be expanded.
Introduction
Component for the Adapter
Prepare platinum
Platinums equip
Function test
Tuning
Result
Before it goes off would be referred once again on that that with this control of only vehicles out of the VAGUE-group examined will can and it essentially for the software VAGUE-COM thought is.
On numerous web pages, one finds discussions over Jeffs minus Mali tables control. It should come etc. to problems in the reliability. Moreover it gives probably also ODB-2 connections in the car with which the L-direction should be at pis 15 a second K-direction. So entirely I cannot understand that when and why that should be the case. Moreover becomes gladly over the cheap and nominally heavily beschaffbaren Optokoppler, that are operated moreover outside of the allowable specification, and the unprofessionellen OBD-connectors cursed. Interestingly enough gladly of people, who want to sell your own - much better - control.
I have the control at my T4 (Bj. 2001) and at a Sharan (Bj. Operated 200?) successfully.
I can understand the procurement problems in no manner. Is that a connector as well as that here introduced not professional, is doubted must be also not at all, but it that then? And on the correct Polung in the putting away, one must simply eighth - someone whom the controls reproductions can, that probably will manage.
But it gives can make itself naturally further Schaltplanentwürfe and the inclined handicraft enthusiast self a picture. Of solutions, that come out totally without separation between board electronics and PC and connect both sides more or fewer directly over Transitoren, I dissuade destroy can myself urgently, there one here quickly board computer or PC-interface - the purest lottery game.
On the side, you find both the platinum layout, and a schematic drawing as a PDF. Based on the Board-layout, we prepare a leader disk. Also in addition Jeff wrote some short instructions, that I found very interesting, because the leader plan is ironed on the leader disk. Yet in addition later yet. First shoppen go:
| Amount | Label | Order-Nr. | Price | Comment |
| 3 | PS2501-1 Optokoppler | € 1.00 | There is not that in Conrad. The replacement type SFH615-A2 only on order (#153780). Therefore to Segor (hach have I it as Berliner well) | |
| 2 | 2N3904 transistors | 163350 | € 0.28 | |
| 2 | 1N4004 Dioden | 162248 | € 0.08 | |
| 6 | 1.0 kOhm 1/4W resistance | 403253 | € 0.10 | brown|blackly|red |
| 1 | 1.5 kOhm 1/4W resistance | 403270 | € 0.10 | brown|green|red |
| 1 | 10 kOhm 1/4W resistance | 403377 | € 0.10 | brown|blackly|orange |
| 1 | 150 kOhm 1/4W resistance | 403512 | € 0.10 | brown|green|yellow |
| 1 | 1 µF 50V condenser (Elko) | 460460 | € 0.12 | The minus pole is marked and must portrayed lies "towards the top" if the leader disk how before one |
| 1 | Sub-D-bushing 9 poles. | 742082 | € 1.02 | Take where appropriate another suitable connector housing in addition if it should look more somewhat professionaler |
Until here, the list concurs most extensive with that of Jeff only that we save ourselves the Sub-D-connectors for the Printmontage on the leader disk and there afterwards the cables directly solder the connector to the laptop and to the OBD-2-Buchse. In the cheap project, we can forgo removable cables. We need where appropriate another couple of things if the Bastelkiste does not yield that:
| Amount | Label | Order-Nr. | Price | Comment |
| 1 | Cable 5adrig | 261874 | € 0.99 | Anything. Here 6adriges telephone cable. Also flat volume cable can be etc. The length is choose after. We need a cable of the OBD-2 connectors to the Adapter and one then to the laptop. I want to control naturally my motor management in the bus behind at the table sitting, therefore respectively ca. 1,5m |
| 1 | Plastic housing | 520993 | € 1.43 | |
| 1 | Plastic shell ca. 1/2 Liter | Ca. € 2.00 | Also glass can be. No metal. Use and never again for groceries. | |
| 1 | Iron-III-chloride bag 250g | 528722 | € 1.38 | For stirring in the corroding, a Plastikrührer is used. Perhaps a plastic fork of the last grill party? |
| 1 | Leader disk unilaterally, unbesch. | 528307 | € 0.74 | Suitably for the project + the OBD-2 connectors: 50X100 |
| 1 | Material | A small hand drilling machine Dremel o. ä., 1.0 mm and 1.2 mm of more drilling, soldering iron, Lötzinn, where appropriate fine Permanentmarker for Overheadfolien (waterproof) Staedtler Lumocolor permanently o. ä. |
Jeff describes an interesting method on its side in the FAQs how one transfers the leader train picture to the leader disk. At the same time it irons the layout printed with a laser printer on a foil on the copper layer. My last Ätzerfahrungen lie hesitated years back and the technology wanted I equally once test. In principle the procedure functions, but the leader train picture was with me subsequently not covering enough. Power however nothing, for on the copper layer I was able to recognize the leader railroad and then I did likewise the railroads simply of hand with a Permanentmarker (Edding, that above named Staedtler o. ä.). Is there important only that the color is applied covering. The actual color is equal, for it goes only therefore to raise a protection film, at which the Ätzbad cannot attack later the leader railroad.
There the leader disk yet suffice offers place, bring we in a corner yet the Lötaugen for the OBD-in accordance with 2 connectors the model portrayed above on. So we corrode both platinums in a process and saw shooting the leader disk in two parts.
So, now the toxic part comes: First once we eliminate ourselves all clothes and stretch are what on wherewith we otherwise also at the car do handicrafts or painters, for iron-III-chloride spots ugly and cannot be removed. Do not rub the thing also into the eyes and inhale not to deeply! Uncover the table well with newspaper paper and then hot water (ca. Give 40-60°C) into the plastic bowl. Dissolve to give away about the same weight quantity of iron-III-chloride and with the Plastikrührer.
Put the leader disk with the copper side towards the top into the bath and easily move now the entire time the bath until all copper areas weggeätzt became and are remaining only the marked leader railroads. That lasts ca. 15 minutes. At the beginning verfärbt the copper pink, what leads often in addition, that one thinks was itself, that it already, but first if one sees shine through the Expoxydschicht of the carrier material, is the copper away. The relief begins always of the edge here and prepares itself then to the middle.

Rinse subsequently the platinums thoroughly with water and remove visibly are the protection layer over the leader railroads with Nagellackentferner o. ä. until the polished copper railroads.
Because in the model of Jeff the Lötpunkte no eyes closed are, but rather, fells the boring of the holes heavily because that more drilling slips on the copper railroads back and forth, if one possesses no drilling pennants and bores by hand. There it helps sharpen, if you with one small nail all drilling holes carefully with a soft hammer blow ankörnen. Bore subsequently all holes with a 1mm more drilling.

In accordance with the schematic drawing, the cables are soldered for the connectors. Because we use no Sub-D-bushings for the Printmontage, the cables directly are soldered. For the computer side, the Lötpunkte 1:1 are connected with the gleichbenannten contacts of the neunpoligen Sub-D-bushing. The image shows how the Lötstellen are numbered on the left side. At the bushing, the contacts are marked also. The OBD-2 connectors is connected in accordance with the legend in the schematic drawing (1->4, 4->7, 8->15, 9->16). Because we connected 4 and 5 at the connector, we need only the one direction of point 1 of the platinums to pi 4.
A Klecks hot glue provides for the necessary train relief of the cables so that these do not pull out me the time. After the function test can be secured then the platinums with two further Heißkleberklecksen in the housing.

The image appears read let for example the motor number of revolutions (1) in that exactly the Schaltvorgänge, the increasing speed up to ca. 160 km/h (2) and the drawer pressure of the Turbos (3) that falls away rapid, when the vehicle rolls out. With these data, you then for example yourself can review whether the Turbolader is in order, because it constructs in each gear a constant pressure and holds this also during the acceleration.
On the web page of openobd and MFT , one finds some examples to the Einstellmöglichkeiten for current vehicles. For example around for my T4 TDI Bj. To put back 2001 with LongLife and flexible notice the service interval (also once in T5 view, there stand teilw. more statements, that however also for T4 count) :
For this adaptation, the full version of VAGUE-COM is however necessary. Select function 17 (Kombiinstrument) in VAGUE-COM and change to the function 10 (adaptation). Then following values adjust in order to put back the service interval after an oil change:
| Canal | Meaning | Valued |
| 02 | 1 = Service duy, 0 = service ready | 0 |
| 43 | Max. Distance to the next oil change [in 1,000 km-steps] | 50 |
| 44 | Max. Time to the next oil change (24 months) [in days] | 720 |
| 45 | Oil quality. Oil after VW specification 506.00 uses | 4 |
Further interesting values there are:
| Canal | Meaning |
| 40 | gone distance since last service [in 100 km-steps] |
| 41 | Time since last service in days |
| 42 | minimal km-performance [in 1,000 km-steps] |
| 46 | Total consumption quantity (only gasoline), rake value for the service notice |
| 47 | Soot entry (only diesel), rake value for the service notice |
| 48 | thermal load (only diesel), rake value for the service notice |
Much joke!

In contrast to other Adaptern, the AGV is integrated directly in an OBD II connector housing. The connection at the PC takes place via an USB interface (large B-bushing). Is addressed the interface over an USB-RS232 driver, that installs on the PC a further, virtual COM-Port. These drivers have the singularity to belay permanently new COM-Ports in change of the USB-Ports. Some programs (for example VAGUE-COM) are not in the situation, to recognize the available COM-Ports and to address or Ports after COM4. Therefore unconditionally control, addresses the USB-device under which Port of the drivers (devices-manager of the windows system characteristics: Start/Einstellungen/Systemsteuerung/System, index card hardware). Activate where appropriate one of the low Ports and ignore the where appropriate appearing error message.

The reason command line consists like in the ELM of simple ( AT-) commands, that are Compatible to the ELM, so that software collaborates that serves the ELM also with the AGV. For functions going into the depth, like for example the Protokollierung and filtration of the byte transmitted on the CAN-bus, is required special software. The detailed data leaf delivers the desired information.
How also already in the ElmScan the standard speed is for the simulated serial interface 9600 Bd. The maximally possible 38,400 Bd transmission rates and other parameters are adjusted over a cost-free program to the "BIOS" -configuration so that no Jumperänderungen are necessary. In the program is to be noted, click will may that the AGV first after that on Connect with tension furnished (z. B. through put away into the diagnosis bushing of the car).

For the handicraft enthusiast, there are the Schaltplan , platinum layout and the actual chip (basis is an AVR µC) in OBD-DIAG also as a DIL version. Above all, who can forgo the yet rather rare and only in really new car used CAN, is conferred probably with one of the more low-priced small types well.
Is remarkable that the AGV controls as the only interface with integrated Protokollinterpreter also a KKL-Transitmodus. Through keystroke, the Adapter becomes more or less inactive and serves interface as an USB for VAGUE-COM (max. Version 409.1). How in all KKL-Adaptern, the actually separate L-direction is addressed in addition like a second K-direction. A real L-direction is required yet once, an interface as well as that of me developed is required. Desirably would be if the AGV could shift over a tax command between the KKL-mode and the OBD-2 mode in order to be able to use out of a use both Features, without having to pull the Adapter for shifting, out of the diagnosis interface.
Introduction
Development
Schaltplan/PCB layout
Construction
Software
This USB-interface makes allowance for the development that some vehicles of the Volkswagens CORP. use the L-direction to the data communication (contrary to the permitted standard) and the L-direction will rouse used no longer for that. According to horse-Tech , it concerns at the same time: "All B6/8E chassis A4/S4 models with xenon headlights. All 2002 and newer A6 (C5-platform, 4B-chassis) models, including the Allroad.". The interface transfers named will be therefore to the L-direction-K-data, why such an interfaces also KKL-interface (many other letter manner possible: K/KL, KK/L etc.).
In order to decide between one of both Adapter, here some per and Contra arguments:
| RS232 (KL) | USB (KKL) | |
|---|---|---|
| Per |
|
|
| Contra |
|
|
This contained another design mistake, showed however that the principle already correctly was and fits also all into the small connector housing. Therefore the mistake was removed and just offered itself there it, were given also some professional leader disk in order. To be sure the new version was not tested before because the time was to tightly and the fabrication with einerm should be combined other order in order to save costs.
That do not prove was removed unfortunately to be tactically unwise, for the mistake, but rather only verlagert because it concerned sooner a Denkfehler. Therefore some PCBs in the reason lie around now here uselessly. The interface is to be sure in principle operable, but only the K-direction is supported. OK, that suffices also for probably 98% of all applications. The L-direction is required only for some Exoten.
Because I think, that some users require NO L at all direction, I dissipate these platinums in the Shop under purchase price - always better to hurl than into the rubbish (and/or correctly dispose of). He who wants therefore, can the Adapter already reproductions. In the control, T1, R6 and R8 may not be equipped.
While in the first prototype another duo-LED was planned, that signaled separated the condition of the virtual sending direction and reception direction (RXD/TXD), was renounced in the next control version on that (based on that something Beschaffbarkeit of heavy the LED necessary for this with joint anode). Now a standard-LED signals the condition for both directions, what suffices totally, because one was able to distinguish otherwise anyway only rarely the colors.
In contrast to the serial KL-interface, the ISO building block L9637D (PDF data leaf) of STMicroelectronics putters around in this control. This offers namely in addition the possibility to convert signal level of the detailed data on the L-direction.
As soon as the final frame of the interface is available, yet that Schaltplan etc. is submitted later here. Until there, a component list (for the defective interface) must suffice:
| Amount | Bezeichner | Type |
| 1 | R1 | 470 Ω |
| 2 | R2, R3 | 27 Ω |
| 1 | R4 | 510 Ω |
| 1 | R5 | 1.5 kΩ |
| 1 | R7 | 220 Ω |
| 1 | C1 | 33 nF, RM 2.5 |
| 1 | C2 | 10 nF, RM 2.5 |
| 2 | C3, C6 | 100 nF, RM 2.5 |
| 2 | C4, C5 | 27 pF, RM 2.5 |
| 1 | C7 | 10 µF/63 V; Elko; RM 2.5; radial |
| 1 | LED1 | 5mm standard LED |
| 1 | Q1 | 6 MHz quartz |
| 1 | IC1 | L9637D |
| 1 | IC2 | FT232BL |
| 1 | USB1 | USB bushing type B |
Because the control is defective, here solely the platinum design. In the control, T1, R6 and R8 may not be equipped. Otherwise the interface functions however.
In the Bestückung on that respect that first the ICs are soldered. Is later there no 'rankommen more.
Then the remaining components. The quartz may not touch the platinums, there it otherwise both Lötpads kurzschließt. Therefore something distance keep (z. B. a cut off component wire in the soldering as a distance stop use). The LED can be soldered on the component side or of below. According to that how around the connector is stuck later into the car, so that the LED is to be seen.
Before the components are soldered along the gestrichelten line, that connector solder. The layout is sketched for a standard OBD connector. The platinums 1-8 (wide pencil collar) is soldered with the Bestückungsseite at the external side of the pencils. Pis 15 (in defective platinum required) and pis 16 are not soldered with a short wire bridge into the platinums.
To the end bore another hole for the LED into the Gehäsueschale. The housing covers should be together steckbar. To be sure the USB-bushing is already somewhat bulky. Therefore where appropriate at the inside of the housing covers wear out something material.
Introduction
Information source
Protocol type
Test environment
KW1281 - Initialisierung
KW1281 - timing
KW1281 - devices data
KW1281 - sensor data
KW1281 - communication envoy
KW1281 - communication mistake
KW1281 - mistake storage select delete
While the communication is relatively simply realizable via ELM323, Jeffs interface requires an expense higher substantially because the interface undertakes solely an adaptation of the signal levels and supports no protocol so that one must program the total communication with the board computer itself. For that are available one then also much more data.
In order to anticipate the question emerging same again and again: Jeffs interface and therefore also my µC-solution function only with VAGUE-vehicles, that can be selected also by VAGUE-COM. I offer no support, answer no enamels and would sell nothing. He who wants, can use my forum , would answer in the questions interesting I also where appropriate - standard question, that one can solve also per Google , I ignore.
In the investigation, I found following sources, that helped along me:
Some so important to the left, the information do not offer, that are required partially yet in the further course:

In Ebay, tax devices, that can cost newly until more than 1,000 Euros, become, pile manner offered. Motor tax devices quite are chosen. In Germany naturally above all that of VAGUE (and here above all of the gulf - what miracle). Usually chip-done that want to have the devices are it probably in order to replace either a zerschossenes or in order to make experiments. Want stupidly, that we also a VAGUE-device, are not however ready to pay the tightened prices. Would be ideal naturally exact the same device that built in also in the own vehicle. The types label shows VAGUE-COM in Number VAGUE at (s. o.). Now, for my T4 absolutely unrealistic, there rarely and expensively. Seek therefore first once a model for the first Gehversuche. Also if the actually exciting data come all from the ECM, an ABS suffices or Airbag controller first once in order to circumnavigate at least the first protocol plain. These are usually essential cheaper (until ca. € 20,-), for who a needed life insurance incorporates already in its own vehicle. Because these devices deliver however tweilweise no readings, becomes later in any case an ECM due.

Now information on the connection of the controller is missing only, therefore the pi occupancy of that at the 100 Pins. In the Web, again few to find is here. I found a couple Pinouts. I will publish this in the forum and hope that further arrive of you. These controllers were me however in Ebay always too expensive. My sincere thanks to therefore at Wladimir of WGSoft, that gave me a hint and had also the suitable pi occupancy at hand. In the mean time I found out also that the program Autodata knows the pi occupancy for most ECUs (however no ABS-Steuergeräte etc.). Because the relevant tax devices are not brand-new, also an older version suffices. As soon as one knows, for which vehicle the motor tax device was used, one can indicate let himself the Pins.

One knows that in VAGUE-COM (s. o.) as a Component designated types label, also the list helps perhaps in EVC further.
What is required now, is a soldering iron and a network component. The tax device must with ca. 12V furnished become. It is necessary all of the connections available often in great numbers for mass (GND) and Vcc (Plus) to connect. The connection for the K-direction of the OBD-2-Steckers of Jeffs Adapter is connected with the diagnosis signal of the tax device.
All correctly was connected, it must be possible, lived Jeffs Adapter with the tax device how to connect to the PC and to select the tax device with VAGUE-COM. According to model, different devices information is indicated. Moreover readings and mistake codes can be selected. Because the tax device is not connected to any fair antennae, new mistakes are recorded again and again (possibly supply voltage to the tax device shortly interrupt), also if one deletes the previous. The trial construction on the desk is now complete and it can at the protocol-analysis go.
In order to be able to query different readings and to reduce the amount of the mistake stored appearing by the ECU, can simulate one relatively simply some fair antennae. Most sensors deliver a resistance change. Solely the speed and the motor number of revolutions is diverted out of a tact signal, which aufweniger is. A resistance is connected to the connections of a sensor (the Pins and the resistance valued can one with Autodata in experience bring), the corresponding mistake lets delete itself persistently out of the storage. Instead of a festival resistance, one can connect also a Potentiometer in order to simulate changeable readings. Following table shows exemplary three sensors for the ECU 030,906,032 E:
| Sensor | Pi 1 | Pis 2 | Resistance | Reading |
| Entrance air temperature | 54 | 56 | 2,2KΩ | 24°C |
| Motor coolant temperature | 54 | 74 | 330Ω | 79°C |
| Entrance air pressure | 54 | 70 | 1KΩ | Ca. 590mbar |
| 62 | 70 | 10KΩ |
In KW1281, the Initialisierung results, therefore the wake up, somewhat not usually: With a transmission speed of solely 5 baud, its address is sent at the controller. The addresses are analogous to the controller-numbers in VAGUE-COM. To note is there that in VAGUE-COM the number statement stand for the Module in Hexadecimal letter manner. Therefore 1 for the motor tax device, 3 for ABS, 15 (Hex) (21 decimal) for Airbags etc. After that will rouse all further data with a baud rate higher substantially transmits. The low baud rate is problematic however. On the PC, there is only a few program that support so slow baud rate. On the ATMEGA8 µC is not it over the internal USART possible. On the PC, probably yet the problem arrives that the Umschaltvorgang of 5Bd to 9600 etc. too long lasts, so that data go lost in the meantime. A circumstance that is not for my µC project relevantly however interesting.
Out of the named reasons, a trick is used of VAGUE-COM and other bidders in order to pass through the 5Bd wake up. Around the protocol to analyze there are two possibilities, with which the communication of VAGUE-COM with the tax device belauscht becomes:
IOCTL_SERIAL_SET_BREAK_ON IOCTL_SERIAL_SET _RTS IOCTL_SERIAL_CLR_DTR IOCTL_SERIAL_SET_BREAK_OFF -> start-bit? IOCTL_SERIAL_CLR_RTS IOCTL_SERIAL_SET_BREAK_ON -> 0 IOCTL_SERIAL_SET_RTS IOCTL_SERIAL_SET_BREAK_ON -> 0 IOCTL_SERIAL_SET_RTS IOCTL_SERIAL_SET_BREAK_ON -> 0 IOCTL_SERIAL_SET_RTS IOCTL_SERIAL_SET_BREAK_ON -> 0 IOCTL_SERIAL_SET_RTS IOCTL_SERIAL_SET_BREAK_ON -> 0 IOCTL_SERIAL_SET_RTS IOCTL_SERIAL_SET_BREAK_ON -> 0 IOCTL_SERIAL_SET_RTS IOCTL_SERIAL_SET_BREAK_ON -> 0 IOCTL_SERIAL_SET_RTS IOCTL_SERIAL_SET_BREAK_OFF -> 1 IOCTL_SERIAL_CLR _RTS IOCTL_SERIAL_SET_DTR
Between the single switches, 200ms lie exactly wherefrom then the 5Bd (1000ms/5bps) arise. In the example, the address 1 is addressed. Decimal 1 corresponds binary 000 0001.
My initial supposition, that the statement, that Initialisierung finds with 7O1 instead of (therefore 7 data-bits, an odd (O dd) parity and a stop-bit), does not agree, proved in exact Anaylse to be incorrect. The signal form necessary for the respective addresses exactly is kept whereby in the serial transmission first the niederwertige bit of the data word is sent. For example for address 1:
1 -> 0 1000,000,0,1 = 1 Start-bits (change of 1 on 0), 7 data bit it; 0 because unevenly parity is fulfilled; 1 stop-bit
On the certain side is, who can use an oscilloscope. A storage oscilloscope is advantageous because one recognizes in the extremely low transmission rate and the only uniquely adjoining signal nothing else. The image shows the signal course on my Hameg 205-3. the signal became direct at the K-Line, therefore behind Jeffs interface worn out because the different serial interfaces deliver differently clean signals, that irritate in the analysis, if one wears out the signal at the entrance of Jeffs interface. The Initialisierungsphase red was emphasized:
The signal tips following on that are to be led back to the subsequent communication with higher baud rate after the wake up. Ablesbar clear the signal lengths are: The short change is per 200ms long and the longer phase 1400ms. The first signal flank High-> Low serves as a start-bit. In order to initialize therefore the tax device cleanly, it is worthwhile, that signal course to analyze and to respect on that that one exactly keeps the signal times, if one does not leave the data transmission to an interfaces building block.
Exactly that is made also of my program in that µC (vergl. Schaltbild) : Instead of generate the address of the tax device with 5Bd over the integrated serial USART interfaces building block, the TxD data direction (PD1), that becomes at the T1IN The MAX232 connected is, directly headed for so that the MAX232 issues the respective signals. To note is in the programming yet that one inserts before the Initialisierung a short wait, there by that turn on the tax device (tension provision) or prior communications, yet data by the controller sent become, that one does not want to use.
The communication to the Initialisierung looks as follows:
| of that µC | of ECU | Description |
| 0X01 | 5 Baud address of the tax device | |
| 0X55 | Sync byte to that determine the baud rate (meaning unclearly) | |
| 0X01 | key Word LSB (low significant byte) (meaning unclearly) | |
| 0x8A | key Word HSB (high significant byte) (meaning unclearly) | |
| 0X75 | Complement to the 0x8A |
A couple of comments:
Large worry made with the baud rate after the Initialisierungsphase. I assumed that this is always 9600 baud. That is not so. 9600 probably only far commonly however promptly used is my ECU 10400 baud. Because I had selected the incorrect baud rate, only data scrap arrived instead of the three byte 0x55, 0X01 and 0x8A. First as I after days 10400Bd tried, worked out all on attempt. Therefore it is indispensable to determine the baud rate. That goes very good, in which one sends the 5Bd address at the ECU and receives then the answer in 4800Bd. It is not 0x55, 0X01 and 0x8A, send then yet once the address with 5Bd and wait with 9600Bd and where appropriate subsequently yet with 10400 Bd. It can be also that there is further baud rate - over information please me I.
The solution is trivial: I receive a byte of the ECU and send immediately an answer or a request-byte other. That is too fast. I have unfortunately no exact details about the time distances. After that I however before each byte to be sent a recess of 5ms would insert, stands the connection absolutely flawlessly. The Interrupt-gesteurte Puffer provides that no data go lost. How it is looks the ECU with 10400Bd therefore fast enough been in order to decrease the data of my µC, what did not create the 9600er.
On the other hand the recess may become also not too large. Time of unknown after one me (approximately <500ms) the connection is interrupted to the ECU.
First the VAGUE-number and/or controller ID is transmitted (in this case "030906032E") :
| of that µC | of ECU | Description |
| 0x0F | block length (s. u.); ECU mast is | |
| 0XF0 | Complement | |
| 0X01 | block counter (s. u.) | |
| 0xFE | ||
| 0XF6 | block titles (s. u.) | |
| 0X09 | ||
| 0X30 | ASCII value for "0" | |
| 0xCF | ||
| 0X33 | "3" | |
| 0xCC | ||
| 0X30 | "0" | |
| 0xCF | ||
| 0X39 | "9" | |
| 0XC6 | ||
| 0X30 | "0" | |
| 0xCF | ||
| 0X36 | "6" | |
| 0XC9 | ||
| 0X30 | "0" | |
| 0xCF | ||
| 0X33 | "3" | |
| 0xCC | ||
| 0X32 | "2" | |
| 0xCD | ||
| 0X45 | "E" | |
| 0xBA | ||
| 0X20 | "" (Empty sign) | |
| 0xDF | ||
| 0X20 | "" | |
| 0xDF | ||
| 0X03 | block end (s. u.) |
A couple of references to single values:
| of that µC | of ECU | Description |
| 0X03 | block length; µC mast is | |
| 0xFC | Complement | |
| 0X02 | block counter | |
| 0xFD | ||
| 0X09 | ack command | |
| 0XF6 | ||
| 0X03 | block end |
Now again the ECU is at the row. Exactly like before, it already sends now the next block of data (looked counter = 3). In this block of data, the component label is indicated. This can z. B. "ME7.5.10 " be.
Subsequently that sends looked µC again an ack (looked counter = 4).
This game repeats itself as long as the tax device data wants to give praise. As a rule altogether four blocks of data are it: VAGUE-number, component label, software version (z. B. "3013") and dealer label. Possibly however yet further addition data follow.
In all these statements, it can be that single bytes are delivered, that correspond to no ASCII-sign, so that the information of which of VAGUE-COM deviate, moreover I assume, that VAGUE-COM evaluates the received data and prepares somewhat, what one can recognize already by the representation of the VAGUE-number.
Among other things the ECU can deliver instead of an ASCII-value 0X00, what is designated as a cut-aped signal. I do not know what has it therewith on itself. Do I replace simply all received sign-values outside of the ASCII-area of 0x21-0x7A by 0x3F ("?").
On the last communication block of the ECU reacted that µC how lived looked with an ack. If the ECU wants to send then no further data, it sends looked now self an ack:
| of that µC | of ECU | Description |
| 0X03 | block length; ECU mast is | |
| 0xFC | Complement | |
| 0x?? | block counter (value according to amount of the previously exchanged blocks) | |
| 0x?? | Complement the counter (value according to amount of the previously exchanged blocks) looked | |
| 0X09 | ack command | |
| 0XF6 | ||
| 0X03 | block end |
Now the row is again at that µC. This sends looked simply an ack in order to hold the data connection uprightly. The ECU sends looked then again an ack, then that µC etc. into all eternity. That posts looked breaks µC no ack the ECU the connection immediately and it must again with a 5Bd Initialisierung begun become. During the following phases, that can looked send µC also always instead of a data request o. ä. an ack, looked answers whereupon the ECU with an ack.
Before we one look at throw the protocol, first once some couple of information to the understanding: Per group reading, the tax device is requested to deliver four reading blocks. At the same time there are groups of 1 until 255. Which four readings in a group delivered will be different and according to model of the tax device differently. It can occur, contains that a reading block no statements and in a group, the same readings can be delivered, like in another. That can be practical, for one so can view whether it a group gives, in which four desired readings are delivered. Otherwise it is however no problem to query as desired many groups. Before the readings, the index is transmitted always for the reading type. The index has is dependent on the tax device (and possibly also the group (not yet tested)) in that it available, another meaning has. So for example the same index can once for the outside temperature and once for the oil-temperature stand. The readings are divided always in two bytes. First through a rake operation the actual reading becomes out of the two bytes. According to sensor type, the rake operation is another.
This is therefore also the "amusing" part: It counts to find for each tax device individually out, which data are delivered per group and are to be calculated like this.
How always there is some couple of information in the network that are spaces custody and by me as far as possible supplemented are - over addition information please me I once again! The following table (being based on the file Value-calculation. txt out of the Yahoo! Group opendiag) shows the indices for the sensor data (1. byte) and its conversion, whereby a for the first reading-byte (2. byte) stands and b for the second byte (3. byte). All statements are yet unconfirmed. Solely that with one √ in the column meaning of overlooked are tested of me.
| Index | Meaning | Calculation | Unit | |
| 1: ECU | 23: Instrument | |||
| 1 | Motor number of revolutions √ | Motor number of revolutions √ | 0.2*a*b | rpm |
| 2 | Absolute throttle flaps position (? @?) | a*0.002*b | % | |
| 3 | 0.002*a*b | Deg | ||
| 4 | abs(b-127)*0.01*a | "ATDC" if Value >127, else" BTDC" | ||
| 5 | Oil-temperature √ | Outside temperature √ | a*(b-100)*0.1 or 0.1*a*b - 10*a | °C (both formulas seem OK to its) |
| 6 | Supply voltage ECU (= battery) √ | Supply voltage ECU (= battery) √ | 0.001*a*b | V |
| 7 | Vehicle speed √ | Vehicle speed √ | 0.01*a*b | km/h |
| 8 | Bit Value Cruise Control??? | 0.1*a*b | (no units) | |
| 9 | (b-127)*0.02*a | Deg | ||
| 10 | if b==0 then "COLD", else" WARMLY" | |||
| 11 | 0.0001*a*(b-128)+1 | - | ||
| 12 | 0.001*a*b | Ohm | ||
| 13 | (b-127)*0.001*a | mm | ||
| 14 | 0.005*a*b | bar | ||
| 15 | CAN bus status??? | 0.01*a*b | ms | |
| 16 | Am. Bit it | ??? | bitvalue | |
| 17 | ??? | chr (a) chr (b) | - | |
| 18 | Absolute press original, Atmospheric, press original, Intake Manifold, press original | 0.04*a*b | mbar | |
| 19 | Tank contents √ | a*b*0.01 | l | |
| 20 | a*(b-128)/128 | % | ||
| 21 | Module. Piston, Movement transmitter (? @?) Voltage | 0.001*a*b | V | |
| 22 | 0.001*a*b | ms | ||
| 23 | EGR Valve, Duty Cycle / Inj. Timing??? | b/256*a | % | |
| 24 | 0.001*a*b | A | ||
| 25 | (b*1.421)+(a/182) | g/s | ||
| 26 | b-a | C | ||
| 27 | Suited. Timing Calculated/Actual??? | abs(b-128)*0.01*a | ° ("ATDC" if Value <128, else" BTDC"???) | |
| 28 | b-a | - | ||
| 29 | Know field | if b<a then "1.Kennfeld" else "2.Kennfeld" | ||
| 30 | b/12*a | Deg k/w | ||
| 31 | Preheating, Time??? | b/2560*a | °C | |
| 32 | ??? | if b>128: b-256 else b | - | |
| 33 | Position accelerator √ | 100*b/a (if a==0 then 100*b) | % | |
| 34 | (b-128)*0.01*a | kW | ||
| 35 | Fuel-consumption √ | 0.01*a*b | l/h | |
| 36 | G sharp. Course achievement (last place rounded) √ | a*2560+b*10 | km | |
| 37 | Oil pressure (? @?) | ??? | "Oil Pr. 2 < min" | |
| 38 | (b-128)*0.001*a | Deg k/w | ||
| 39 | Inj. Quantity Driver Request/Torque Limitation/Smoke Limitation [in T4 5,8mg/h in the idling] | b/256*a | mg/h | |
| 40 | b*0.1+(25.5*a)-400 | A | ||
| 41 | b+a*255 | Ah | ||
| 42 | b*0.1+(25.5*a)-400 | Kw | ||
| 43 | b*0.1+(25.5*a) | V | ||
| 44 | Time √ | a: b | h of m | |
| 45 | 0.1*a*b/100 | |||
| 46 | (a*b-3200)*0.0027 | Deg k/w | ||
| 47 | (b-128)*a | ms | ||
| 48 | b+a*255 | - | ||
| 49 | Measure Air/Rev or Air measure, Calculated or Air Mass,Actual??? | (b/4)*a | mg/h | |
| 50 | ??? | (b-128)/(0.01*a), if a==0 (b-128)/0.01 | mbar | |
| 51 | ??? | ((b-128)/255)*a | mg/h | |
| 52 | b*0.02*a-a | Nm | ||
| 53 | Air flow air measures knife (? @?) | (b-128)*1.4222+0.006*a | g/s | |
| 54 | a*256+b | Count | ||
| 55 | a*b/200 | s | ||
| 56 | a*256+b | WSC | ||
| 57 | a*256+b+65536 | WSC | ||
| 58 | 1.0225*b, if b>128 then 1.0225*(256-b) | s | ||
| 59 | (a*256+b)/32768 | - | ||
| 60 | (a*256+b)*0.01 | scnd | ||
| 61 | (b-128)/a, if a==0 (b-128) | - | ||
| 62 | 0.256*a*b | S | ||
| 63 | Text | chr (a) + chr (b) + "?" | - | |
| 64 | Resistance √ | a + b | Ohm | |
| 65 | 0.01*a*(b-127) | mm | ||
| 66 | (a*b)/511.12 | V | ||
| 67 | (640*a)+b*2.5 | Deg | ||
| 68 | (256*a+b)/7.365 | deg/s | ||
| 69 | (256*a + b)*0.3254 | Bar | ||
| 70 | (256*a + b)*0.192 | m/s2 | ||
One wants to know now, which readings in which group are delivered, one can select simply after each other all 256 groups and can note the indices. Helpful however also VAGUE-COM can be. One selects the tax device with VAGUE-COM, one can on the button Meas. Block - 08 click and read then after each other exactly the groups durchklicken and the respective four sensor data. Alternatively one can study also the Labelfiles , that are also in the sub-folder Labels. Based on the VAGUE-number, one can identify the corresponding file. At the same time it gives me however partially unclear convention, for to the one, it gives gave redirects for tax devices numbers and for my tested Steurgeräte it no Labelfiles although VAGUE-COM knew the Bezeichner. One has however the suitable Labelfile, one finds details about the groups and the delivered data in this text file. For example 022-906-032-AYL.lbl:
002,0,Basic Functions (measure Air Flow ) 002,1,Engine Speed,, Specification: 650...,750 RPM 002,2,Engine Load,, Specification: 12.0...26.0 % 002,3,Injection,Timing,Specification: 1.0...4.0 ms 002,4,Intake Air measure,, Specification: 2.5...5.0 g/sHerewith it concerns the group with the index 2. After the comma, the four blocks of data are subdivided. There are not 0 and is only a category label for VAGUE-COM. The first byte delivers the Engine Speed (motor number of revolutions), the second byte then that drawer pressure etc.
The index 16 delivers a binary value. Partially one finds the meaning of the single bits in the Labelfiles it. For example for the second group in 074-906-018.lbl:
; Measuring Idle 2,1,Engine,Speed 2,2,Accelerator,Position 2,3,Operating,Condition 1 looked 002 -) 2,4,Coolant,Temperature ;; 1) 010-OK ; 011-Air Conditioning switched onThe third block of data delivers a byte value, that indicates in the binary representation and a,., whether the air-conditioning is at.
If the row is again at that µC, this can said look send how also a group reading instead of the ack:
| of that µC | of ECU | Description |
| 0X04 | block length; µC mast is | |
| 0xFB | Complement | |
| 0x?? | block counter | |
| 0x?? | Complement | |
| 0X29 | block would title (group reading) | |
| 0XD6 | ||
| 0X02 | group index (0x01 until 0xFF) that read will should | |
| 0xFD | ||
| 0X03 | block end |
Hereupon the ECU answers for example (ECU 030-906-032E) :
| of that µC | of ECU | Description |
| 0x0F | block length; ECU mast is | |
| 0XF0 | Complement | |
| 0x?? | block counter | |
| 0x?? | Complement | |
| 0XE7 | block titles (answer on group reading) | |
| 0X18 | ||
| 0X01 | Index for 1st block of data | |
| 0xFE | ||
| 0XC8 | 1St sensor data-byte = reading of a | |
| 0X37 | ||
| 0X00 | 2Nd sensor data-byte = reading of b | |
| 0xFF | ||
| 0X21 | Index for 2nd block of data | |
| 0xDE | ||
| 0X85 | 1St sensor data-byte = reading of a | |
| 0x7A | ||
| 0X85 | 2Nd sensor data-byte = reading of b | |
| 0x7A | ||
| 0x0F | Index for 3rd block of data | |
| 0XF0 | ||
| 0X29 | 1St sensor data-byte = reading of a | |
| 0XD6 | ||
| 0X00 | 2Nd sensor data-byte = reading of b | |
| 0xFF | ||
| 0X12 | Index for 4th block of data | |
| 0xED | ||
| 0xFA | 1St sensor data-byte = reading of a | |
| 0X05 | ||
| 0x5A | 2Nd sensor data-byte = reading of b | |
| 0XA5 | ||
| 0X03 | block end |
Subsequently that can request µC a further group reading for an any group.
Totally to the Verzweifelung drove that the ECU out of my bus during the group readings after some (differently frequent) group readings successful a byte of 0x0F sends, after which that was µC at the row, and the byte for that looked length sent has me. A mistake seems to be, for it stepped only up if the motor ran and was not, if only the ignition a. Subsequently the communication is concluded and must begin one again with the Initialisierung. In the mean time I recognized that as a timing-problem.
In the example, the ECU sent following data for the second group, that can be converted then:
| Index | Reading of a | Reading of b | Calculation (cf. above) | Result |
| 1 | 200 | 0 | a*0.2*b | 200*0,2*0 = 0 rpm |
| 33 | 133 | 133 | 100*b/a (if a==0 then 100*b) | 100*133/133 = 100% |
| 15 | 41 | 0 | 0.01*a*b | 0,01*41*0 = 0ms |
| 18 | 250 | 90 | 0.04*a*b | 0,04*250*90 = 900Mbar |
As an example an Auflistung of the first 26 groups, like it the ECU (074,906,018 A) out of my T4 111KW delivers:
| group # | 1St index | 2Nd index | 3Rd index | 4Th index |
| 1 | 1 | 39 | 21 | 5 |
| 2 | 1 | 33 | 16 | 5 |
| 3 | 1 | 49 | 49 | 23 |
| 4 | 1 | 27 | 27 | 23 |
| 5 | 1 | 39 | 27 | 5 |
| 6 | 7 | 16 | 16 | 8 |
| 7 | 5 | 17 | 5 | 5 |
| 8 | 1 | 39 | 39 | 39 |
| 9 | 1 | 39 | 39 | 17 |
| 10 | 49 | 18 | 18 | 33 |
| 11 | 1 | 18 | 18 | 23 |
| 12 | 16 | 31 | 6 | 5 |
| 13 | 51 | 51 | 51 | 51 |
| 14 | 51 | 17 | 17 | 17 |
| 15 | 1 | 39 | 35 | 39 |
| 16 | 2 | 16 | 16 | 6 |
| 17 | 17 | 17 | 17 | 17 |
| 18 | 7 | 16 | 7 | 7 |
| 19 | 21 | 21 | 17 | 17 |
| 20 | 1 | 39 | 21 | 33 |
| 21 | 49 | 49 | 23 | 16 |
| 22 | 27 | 27 | 23 | 7 |
| 23 | 18 | 18 | 23 | 18 |
| 24 | 5 | 5 | 5 | 8 |
| 25 | 17 | 17 | 17 | 17 |
| 26 | 63 | 50 | 53 | 17 |
A total survey of the first 128 bytes exists as a text file. The readings for the indices 1, 2, 5, 6, 7, 8, 15, 16, 17, 18, 21, 23, 27, 31, 32, 33, 35, 39, 49, 50, 51, 53, 63 can be queried therefore.
Interesting also the circumstance is that other tax devices use the same above-mentioned table with the indices. One reads for example my T4 tax device Kombiinstrument (7D0 920,823 C) out of (address 0x17), one gets delivered the indices 7, 1, 37, 44 and 36, 19, 64, 5 for the first of both groups. Text filewith all values.
| of that µC | of ECU | Description |
| 0X03 | block length; µC mast is | |
| 0xFC | Complement | |
| 0x?? | block counter | |
| 0x?? | Complement | |
| 0X06 | block titles (end ouput) | |
| 0XF9 | ||
| 0X03 | block end |
Subsequently a tax device can be roused as required again with the accustomed 5Bd Initialisierung.
| of that µC | of ECU | Description |
| 0x?? | byte any | |
| 0x0F or 0X27 | 1st byte to the mistake marking (?). According to 0x0F that before 0X05 sent became. 0X27 after 0X57 | |
| 0x0F or 0X27 | 2Nd byte to the mistake marking (?) | |
| 0x?? | Complement to the last byte (2. mistake byte) | |
| 0X55 | Sync byte to that determine the baud rate (meaning unclearly) | |
| 0X01 | key Word LSB (low significant byte) (meaning unclearly) | |
| 0x8A | key Word HSB (high significant byte) (meaning unclearly) | |
| 0X75 | Complement to 0x8A |
How one sees, the ECU sends the three bytes after Signalisierung of the mistake as well as in the Initialisierung. Through this action, that becomes looked put back counter at zero. The next block sent by the ECU begins looked with that counter value 1.
It follows a similar phase as well as after the Initialisierung:
Now something remarkable comes. Instead of an ACK sends looked that µC:
| of that µC | of ECU | Description |
| 0X03 | block length; µC mast is | |
| 0xFC | Complement | |
| 0X08 | block counter | |
| 0XF7 | Complement | |
| 0X00 | What means also always this | |
| 0xFF | Complement | |
| 0X03 | block end |
Subsequently the ECU sends again a 0XF6 ASCII data block with further ASCII sign. This the last seems to be then, for now again the change game, with which first that looked µC an ACK and sends then the ECU one, begins until that sends µC another command.
| of that µC | of ECU | Description |
| 0X03 | block length; µC mast is | |
| 0xFC | Complement | |
| 0x?? | block counter | |
| 0x?? | Complement | |
| 0X07 | block would title (get errors) | |
| 0XF8 | ||
| 0X03 | block end |
Now the ECU sends all stored mistake codes. In the first answer, maximally four mistake codes are sent.
| of that µC | of ECU | Description |
| 0x0F | block length; ECU mast is | |
| 0XF0 | Complement | |
| 0x?? | block counter | |
| 0x?? | Complement | |
| 0xFC | block titles (answer on get errors) | |
| 0X03 | ||
| 0X46 | 1St mistake code High byte | |
| 0XB9 | ||
| 0x5A | 1St mistake code Low byte | |
| 0XA5 | ||
| 0XA3 | 1St mistake code status-byte | |
| 0x5C | ||
| 0X40 | 2Nd mistake code High byte | |
| 0xBF | ||
| 0X71 | 2Nd mistake code Low byte | |
| 0x8E | ||
| 0X23 | 2Nd mistake code status-byte | |
| 0xDC | ||
| 0X46 | 3Rd mistake code High byte | |
| 0XB9 | ||
| 0x1E | 3Rd mistake code Low byte | |
| 0XE1 | ||
| 0X23 | 3Rd mistake code status-byte | |
| 0xDC | ||
| 0X46 | 4Th mistake code High byte | |
| 0XB9 | ||
| 0X20 | 4Th mistake code Low byte | |
| 0xDF | ||
| 0X23 | 4Th mistake code status-byte | |
| 0xDC | ||
| 0X03 | block end |
That respectively both first byte of each mistake code sequentially are set and are interpreted. Out of for example 0X46 and 0x5A 0x465A arises. This corresponds decimal 18010 and gives the Volkswagen Diagnostic Trouble code (DTC) on. The DTC table lists the mistakes well known me. In the Web available also a list of the B-codes is. Further codes ( yet integrated must become)
The third mistake-byte (status-byte) describes the mistake more closely and gives z. B. on whether the mistake appears only sporadic or shows in which form the signal deviates, how the list of the status-codes.
Alternatively to the DTCs, there are yet the codes after SAE J2012 of the Society of car subjects Engineers (SAE). A letter stands this ahead:
For above-mentioned example, one so can assess that the second reported mistake 0X4071 (16497) is named and this means Intake Air Temp. Circ High input (entrance air temperature switching circuit to high entrance).
After that the first block with the mistakes sent became, answers looked that µC with the usual ack. If further mistakes exist, the ECU sends looked would title then a further block with that 0xFC. This can be shorter, if z. B. only three mistakes follow (0x0C for looked length). On that reacted that µC again with an ack looked and sends the ECU where appropriate further mistakes or answers looked self with an ack if no further mistakes exist.
No stored mistakes are looks available the answer of the ECU as follows:
| of that µC | of ECU | Description |
| 0X06 | block length; ECU mast is | |
| 0XF9 | Complement | |
| 0x?? | block counter | |
| 0x?? | Complement | |
| 0xFC | block titles (answer on get errors) | |
| 0X03 | ||
| 0xFF | No mistake existing. (1. Mistake code High byte) | |
| 0X00 | ||
| 0xFF | No mistake existing. (1. Mistake code Low byte) | |
| 0X00 | ||
| 0X88 | No mistake existing. (1. Mistake code data-byte) | |
| 0X77 | ||
| 0X03 | block end |
One is himself certain that the stored mistakes can be deleted, this is also possible:
| of that µC | of ECU | Description |
| 0X03 | block length; µC mast is | |
| 0xFC | Complement | |
| 0x?? | block counter | |
| 0x?? | Complement | |
| 0X05 | block would title (clear errors) | |
| 0xFA | ||
| 0X03 | block end |
On that reacted the ECU with a normal 0X09 ACK looked. Thereupon that can lived send then µC again how commands. Meaningful it could be for example, to select subsequently once again the mistake storage, in order to review whether the deleting worked out.
Introduction
Schaltplan/PCB layout
Construction
Software
Already some time ago I am bumped into two interesting ICs, that would set that an end. There it gives the L9637D of STMicroelectronics and to the other to the one the MC33290D of Motorola/Freescale. Both offer an ISO-interface after ISO9141. the L9637D is somewhat more expensively and can tensions until 36V off why he is suitable also for utility vehicles with 24V board network. To be sure it is somewhat too slow and not CAN-suitable because it creates maximally 58kBit/s and CAN works in until to 500kBit/s. The MC33290D is displayed only until 18V, is however for that for OBD per CAN fast enough. Therefore I decided on the MC33290D. For VAGUE-COM, this is however insignificant because KW1281 work and ISO 9141 only with until to 10400Bd. An adaptation at the L9637D however relatively simply is to be managed if this should be required. With the USB-interface , there is now also such a solution.
Obviously the control should collaborate also without problem with diagnosis software for other vehicles. BMW and Mercedes Benz use both also at least one K-Datenleitung to the diagnosis in old models. For BMW, it gives finds bspw. the software Car scanner for KW of 71st information to the occupancy of the BMW of connector one and a. by. http://luuk.xs4all.nl/bmwboeken/Diagnose.htm The connection designated there as RXD data direction would be allowed to be probably the L-direction and is TXD the K-direction.
In Mercedes, the thing looks more complicated because in the diagnosis connector the different tax devices of Pins different are assigned, that are connected then with the K-direction. The motor tax devices are at pis 4 and to find 5. A Pinout is found also: . http://articles.mbz.org/electric/diag
In the special, I would like to refer to the cost-free software OBD Scan Tech (s. and), which offers all important OBD II functions.
Important criterion in the construction was that excluding standard component used become and no attitudes at all are necessary because the components comply with the standards. For the OBD-side, the ISO-chip is responsible and for the serial side a standard RS232-Schnittstellenbaustein of the type MAX232.
I ask all users, that these controls reproductions to appear for my development perceptible, and the vehicles, at which they tried the Adapter, to register into the list of the tested vehicles.
The control was sketched with Eagle. The Schaltplan can be loaded down.
The control is in principle relatively simple: The MAX232 transfers the signals of the serial interface in TTL-level, that are transferred then by the MC33290D in ISO-level, and the other way around. Furnished the control becomes out of the vehicle (12V board network) over the OBD2-Kabel and a simple tension regulator. The LED illuminates in adjoining Betriebsspannung.
So that the control remains also to older car Compatible, an extra solution must solely for the L-direction here because the ISO-chip supports only the K-direction. The L-direction was not realized therefore with a transistor because by the PC to the L-direction only data sent, however received become. For the indicated type BC547B, one can use naturally also the C variant or one of the numerous replacement types. Most cars do not require this direction, but rather only the K-direction. Therefore also the switch is integrated in order to be able to interrupt the connection to the OBD-connector. So one can test whether the vehicle requires yet the L-direction to the Initialisierung or no longer.
A platinum design for one platinums large solely 40x60mm is also available. A model for the platinum exposure exists also as a PDF.
Here another component list:
| Amount | Bezeichner | Type |
| 2 | R1, R3 | 560 Ω - better: 510 Ω |
| 1 | R2 | 2.2 kΩ |
| 1 | R4 | 330 Ω |
| 2 | C1, C2 | 100 nF; ceramics; RM 2.5 |
| 5 | C3, C4, C5, C6, C7 | 1 µF/63V; Elko; RM 2.5; radial |
| 1 | D1 | 1N4148 |
| 1 | LED1 | 5mm standard LED |
| 1 | T1 | BC547 B/C |
| 1 | IC1 | MAX232 |
| 1 | IC2 | 78L05 |
| 1 | IC3 | MC33290 |
| 1 | S1 | Minus DIP switch 1-fach; 2 polig |
| 1 | X1 | 9 poles. Sub-D-bushing; female; Printmontage; gewinkelt; EU-standard 9.4 mm |
| 1 | X2 | 9 poles. Sub-D-connector; once; Printmontage; gewinkelt; EU-standard 9.4 mm |
Moreover is required: Platinum, 1:1 data cable, OBD->SUB-D-Kabel
Important reference: Contrary to the previous statement and also contrary to the incorrect Bestückungsaufdruck on the platinums, no zero modem cable becomes, but rather a 1:1 data cable requires!

A picture of the real construction of the first prototype. This version still had a small design mistake. In the correction, the switch was transferred then how in the following pictures to see is.
Bestückung of the professional manufactured platinums.
The leader train side with the SMD-component (picture click on for large representation).
Reference to the MC33290: Point light the eingelaserte on the housing marked the short side, to which pi 1 is not at the next, (by analogy to the earlier usual notches in ICs) and unconditionally directly pi 1st pi 1 is actually always in the lower left if one can read the writing.

Two pictures out of Eagle3D, which show the current component arrangement suitably to above-mentioned Schaltplan.

The SMD-IC is soldered on the leader train side. Put on and fix in addition best first the adapters of the leader train thinly verzinnen, then the component and fasten with the soldering iron, heated become individually leg, becomes until the Lötzinn of the verzinnten leader train fluid; subsequently nachlöten.
Installation example of the KW1281/ISO9141 OBD-2 interfaces in Strapubox housing #2412. the platinums fits exactly in and holds readily reinforcement if into the Stirnseiten cuts for the Sub-D bushings sawed become.
Installation hint: In the height not with day, but rather the leader disk ca. Incorporate 1 mm towards the top staggered.
Audi-VWTool
OBD Scan Tech
Introduction
Software
Over OBD2, the actual acceleration of 0 lets on 100 km/h relatively simply and comfortable without stop clock etc. determine itself. At the same time is to be noted to be sure, determined becomes over which protocol the gone speed. How already shown, the statement deviates in KW 1281 considerably of the reality. Therefore programs that mount for example on VAGUE-COM deliver, no statements strong results. First if really an OBD is used-2 protocols as well as ISO 9141, an astonishingly exact speed statement is delivered.
Suitably to my ISO-interface , I wrote therefore a software, with which you can carry out the measurement. This software is not restricted therefore on vehicles of VAGUE, but rather is suitable for all cars with OBD-2 on basis of the ISO 9141/14230 protocol (no CAN).
Security reference: Eighth you on your security and the other traffic participants! Do not manipulate with the software around while you go.
System prerequisites: The PC should be brisk. With a Celereon 550, it ran led would interrupt, but parallel actions to. Windows (XP). Serial ISO KL-interface (or comparable). With my prototype USB-KKL-interface , there were considerable problems - no idea, whether that at the prototype or (what I sooner would believe in) the driver of the USB <-> RS232-Umsetzer on the slow laptop lay.
Download: SpeedyUp - Acceleration measurement version 0.1 (254 KB)
Installation: Archive somewhere unpack and start speedyup. exe out of the explorer. Would thank at Burkhard Kainka for the rscom. dll, for the serial interfaces communication.
Use:





Introduction
OBD-2 connectors do handicrafts
Naturally special devices, that are out of the question expensive for the normal driver, have specialty workshops. What change however if you yourself oil can and now before the problem stand to announce the oil change of the service interval notice so that you can be referred then again to the correct moment to the next oil change? For that and for many other nice player eggs, also the even handicraft enthusiast requires access on the Boardcomputer, wants to go he not into the überteuerte manufacturer-workshop in order to learn, which mistake codes are etc. aufgelaufen.
So, now I go a VW T4, Bj. 2001 and would do handicrafts gladly self. Stood therefore before the described problem with the oil change. What do? Show both following contributions how one can select and manipulate with something hardware and a PC data out of the vehicle board computer.
In the internet, it does not give connect can for example the software VAGUE-COM, with that one the laptop (or PC, if one the box into the car drag wants) to the Boardcomputer in order to select then parameter and values back letter (on the operation of the software go I a). For going on discussions and questions to the use, it gives forums, like that VAGUE-COM-forum. The unregistered demo version can issue nevertheless already mistake codes and can delete out of the board computer. Because in the demo version all mistake code and status codes do not appear as a clear text, there are corresponding lists of the mistakes- and status codes ( further information on the side to the KW1281). Only how does one close the PC at the Boardcomputer? Horse-Tech offers in addition for example exclusive and expensive Adapter. Pros swear on these interfaces.
But one finds stuck become also in the internet numerous offers (and a. in Online-auction), that as an Adapter between laptop and OBD-2. Everyone has however one jointly: They are so impudently expensive that one can go then also into the workshop. Moreover I hate suspicious auction, with which a person offers several dozen times under different pseudonyms the identical article with the identical product description and mutually surpass itself strangely enough all offering always, instead of buying simply the next article. For around that € 60,- + € 7,- postage is me too much.
Therefore further seek and find Jeff Noxon. Here someone constructed a simple control, that makes everything, what one needs: Galvanic separation between car and PC in order to go around destructive levels and adaptation of the levels. The entire consists of a handful component and is reproduction cash of each half-way adept person. Because some things are somewhat declared value, I more closely will illuminate in the article to the Adapter with VAGUE-COM a couple of point.
Because the control works of Jeff only with VAGUE-COM together and can be used therefore only in VW and audi, would be referred realized would have yet on that that there is also alternative, that I in the mean time also and written would have over that I an extra report to the Adapter with ELM 323: Elektor-project 11/2002-12/2002 with selbstbestückbarer platinum. This control shows more own intelligence thanks to the ICs ELM 323 and carries out not only the galvansiche separation, but rather also the communication with the interface receives and delivers the results directly as an ASCII-sign. One can the necessary ELM323 ( original data leaf) and a. in KDS for ca. € 21,- or in Segor for ca. € Order 33,-. There are all of other component (also the quartz) in Conrad for few Euros. Elektor delivers the platinums for ca. € 14, -. Without connector, the Adapter costs therefore about € 45, -. The software ScanTool is for that for nothing available.
Furthermore I got that it can occur in retroactively incorporated radio, that on the K- or L-direction (pis 7 and 15) mass or UAsked (Ca. 12V) lies. No idea why, but who certainly go wants, can review that previously with a simple Multimeter. Information in horse-Tech.

Therefore self make! Exact! The connector shows yes no secrets. At which installation place the bushing is to be found, depends on the vehicle model.

Is portrayed the OBD-2 bushings to find like it in the car is (thereon visibility) :

| Pi | Description |
|---|---|
| 2 | J1850 bus + |
| 4 | Vehicle mass |
| 5 | Signal mass |
| 6 | CAN High (J-2284) |
| 7 | ISO 9141-2 K exit |
| 10 | J1850 bus |
| 14 | CAN Low (J-2284) |
| 15 | ISO 9141-2 L exit |
| 16 | Battery-tension + 12V |
Based on the belaid Pins, one can recognize, which protocols are supported:
| Pencil (signal) | Pencil (mass) | Pencil (signal) | Pencil (signal) | Pencil (+ 12 V) | Protocol |
|---|---|---|---|---|---|
| -- | 4 + 5 | 7 | 15 *) | 16 | ISO 9141-2 |
| 2 | 4 + 5 | -- | 10 | 16 | PWM J1850 |
| 2 | 4 + 5 | -- | -- | 16 | VPW J1850 |
| -- | 4 + 5 | 6 | 14 | 16 | CAN bus |
The control introduced here supports solely the ISO 9141-2 protocol.
There are also yet older connections that consist of two zweipoligen connectors. These are to be found usually in the engine compartment:

| Connector color | Pi | Cable color | Description |
|---|---|---|---|
| knows | 1 | blue or grey blue | ISO 9141-2 K exit |
| knows | 2 | yellow or grey yellow | ISO 9141-2 L exit |
| black | 3 | red | Battery-tension + 12V |
| black | 4 | black or brown | Vehicle mass |
If one does not want to act as a professional Tachoversteller, one uses the entire Adapterkabel maximally a couple once in the year. There the connector doesn't have to exist as a noble version.
In my bus, the bushing is for the connection at the Boardcomputer in the Lenksäule about 30cm beneath the steering wheel behind a simple plastic lid. Flight the dimensions determines can go off and then it: I decided on a simple solution, with which material costs in height occur of € 2.51. For that one can do handicrafts then to be sure theoretically 10 connectors, for it gives the components only in the 50er bag.
It is required:
| Amount | Label | Order-Nr.*) | Price |
| 1 Btl. | Lötstifte 1mm | 526266 | € 1.00 |
| 1 Btl. | Stuck shoes 1,3mm (with Crimp-connection) | 526258 | € 1.51 |
Because we yet corrode in the further course before, also the socket is corroded for the connector in the same process on a free corner of the platinums so that for a single connector no additional leader disk is required. The leader train picture to be made is conceivably simple and exists as a model in PDF:
After that the leader disk corroded and sawn off became by the Adapter-control (s. u.), are bored the holes with a 1,2mm more drilling. Only the holes 4, 5, 7, 15 are required and 16. Into the holes, Löststifte are stuck then and are soldered. In the image is missing yet pis 7:

On the Lötstifte, the Lötösen are stuck now and are soldered. At the same time is to be respected on that that all eyelets show into the same direction, because the flag is not symmetrical. Pis 7 is missing be connected yet always; -) with a wire bridge the Pins 4 and 5, around which to wear out mass certainly.

It was that already. Later the connector is wired yet with the Adapter and is equipped with a Klecks hot glue as a train relief. The Lötstifte now so are arranged that the connector with something feeling fits into the pink OBD-2 bushings in the car. Small passport problems can be removed carefully with a flat pair of pliers. The row with the three pencils is to be aligned towards the top to the side with the two protruding noses at the pink bushing.
Introduction
The control
Software
Result
For the probably most vehicles with OBD-2 the relatively low-priced control offers itself on basis of a chip of ELM electronics. The IC receives all communication between car and PC so that with simplest means values can be selected. With ScanTool , there is indicate and put back can also a practical freeware program which mistake code select. Just as different readings can be indicated.
How always in OBD there are three different protocols. Here only the common ISO9141-2 is observed. Which protocol the car supported can be assessed based on the connector occupancy or the list successfully gescannter vehicles.
The components are all standard practice and at the pertinent dealers for under € 10,- available. Solely the ELM323 is rare and only in KDS for ca. € 20,- or in Segor for ca. € 33,- available. Because I wanted to grant myself this time also an OBD-2-Stecker , that one gets only with sexton, I ordered there. My Bastelversion would do is it to be sure also, but so it already more stable. Moreover I can the connector over a post connector at both controls anstöpseln. For a € 10,- expensive housing was I then yet too stingy - hot glue is a crazy thing.

Component replacement list:
| Kennung | Original | Replacement | Comment |
| T1, T2 | 2N 3904 | BC 547B | |
| T3, T4 | 2N 3906 | BC 557B | |
| Q1 | 3,579545MHz | In Elektor, that with 32pF is indicated. Available anything is between 18pF (Reichelt) and 30pF (Conrad). Solely the LP-version in Segor shows 32pF. I built in one with nominally 18pF and run it. | |
| R1, R5, R6 (Elektor: R14, R8, R9) | 220Ω, 220Ω, 220Ω | 680Ω, 330Ω, 330Ω | The values in the ElmScanISO are a few low (LEDs illuminate brightly). Use better the conservative values as well as in the ELM data leaf (750Ω and 330Ω) or the E12er out of Elektor |
| R2, R4 (Elektor: R1, R3) | 510Ω | 560Ω | 510Ω as a resistance are not usual, only out of the E12er row available at the handicraft enthusiast. I incorporated 560Ω and run everything. |
Elektor built in moreover already one somewhat more usual 9-polige SUB-D-bushing. The originals use a 25-polige. An available 9 is supposed to be used-poliges data cable, you must change the connections and must use in a 9-poligen connection the Pins 2 (RxD), 5 (SG) and 3 (TxD) and connect 7 and 8. The cable yet is bought, you can use also a 25- for 9-poliges and can retain the original control. To the PC, a 1:1 data cable becomes and no zero of modem-cable used!
With the instructions to the manufacture of platinum , the reproduction should succeed each handicraft enthusiast. Elektor delivers the platinums however also for ca. € 14, -.

The redelivered Hexadecimal-values are equipped often with an Offset, must be converted that must be subtracted or it in other form. Also very informative a view is into the source-code of ScanTool (special the file sensor. c). For the mistake codes, there is an English list of the most mistakes. In the mean time there is a grouping of the DTCs also with me.
The query expires relatively simply:
| PID | Label engl. | Label dt. | Comment | Calculation |
| 1 | System tests status | System status | PAINTED-status, amount of mistake code, supervision status | >128 means, PAINTED is that that at, remains after deduction of this Offsets the amount of the mistake codes. Also mistakes can appear, light up PAINTED lead that not to that that. |
| 4 | Calculated Load Value | load value calculated | 0-100%, x*100/255 | |
| 5 | Engine Coolant temperature | Motor coolant temperature | see peculiarities | -40-215°C, x-40 (1° per bit, Offset of 40) |
| 11 | Intake Manifold press original | Absolute pressure entrance canal | 0-255 kPa, x (1 kPa per bit) | |
| 12 | Engine RPM | Motor-revolutions | 0 min-1-16383,75 min-1, x/4 (0.25 RPM per bit) | |
| 13 | Vehicle Speed | Speed | see peculiarities | 0 km/h-255 km/h, x (1 km/h per bit) |
| 14 | Ignition timing Advance | Zündvoreilung | -64°-63,5°, (x-128)/2, (0.5° with 0° in 128) | |
| 15 | Air Intake temperature | Entrance air temperature | -40-215°C, x-40, (1° per bit, Offset of 40) | |
| 16 | Air Flow rate from measure-Air-Flow (MAF) | Air flow over air measures knife (LMM) | 0g/s-655,35g/s, x*0,01, (0,01g/s per bit) | |
| 17 | Absolute Throttle position | Absolute throttle flaps position | 0-100%, x*100/255 | |
| 28 | OBD standard | OBD compatibility | 01=OBD-2 (California INHERITED/CARB), 02 = OBD (Federal EPA), 03 = OBD and OBD-2, 04=OBD-1, 05 = no OBD, 06 = EOBD (Europe) |
![]()

Essentially the interface makes naturally, what should it and I had no problems in different tax devices. As a software, ScanMaster-ELM recommends itself because the surface and the functional scope of ScanTool does not convince really, to be sure is for that cost-free available.
A nice play is the possibility to select the supply voltage of the vehicle. That is no OBD-2 functions, but rather is made over an A/D-Wandler. To be sure the indicated value becomes first after manual calibration exact.
The command circumference is larger, than in the older ELM-chips, what lies above all, that there are more functions for the CAN-bus. The data leaf is lived extensively and informative. Is comfortable that the new chip is in the command circumference abwärtkompatibel. So my OBD can be operated for example-2 LCD further. For CAN-user, there are some pretty Features, like for example the monitor-function in order to select all CAN-messages on the bus. All that goes out however already far over the usual OBD-2 uses. Also the different software-Resets are practical because so the software newly can construct the connection without having to separate the interface again and again mechanically from the car.
Annoying the full-bodied advertising with the possible Übetragungsbaudrate of 9600 and 38400 is. Per Default, the ElmScans are set solely to 9600. First a few promotes search a Jumper slide grief as PDF too day, in that that shown becomes, open shift can like one for that the housing per Jumper the baud rate on 38400. A software moderate transposition would be desirable.

For the ambitious even handicraft enthusiast, it gives used become hidden a Leiterplattenplayout (the Schaltplan can the data leaf taken become), in that then also no SMD-components.
Introduction
Hardware components
Software
That in the following emerged control is yet in one something housing of hefty, is supposed to be incorporated however then into the means console of my VW T4 why I must search however first yet in the "friendly" after a suitable front orifice plate, so that the LCD comes then if possible there in, where presently the small Ablagefach is over the Climatronic.

The use of the control with ELM323 is substantially simpler. Here the hardware receives the protocol communication and one can on a very simple communication over the serial interface restrict itself. Unfortunately are available me then only relatively few information. But for a first feasibility test, it passes is, moreover the solution then universal for other cars usable.
The hardware consists of two already described components: The ELM323 OBD-2-Adapter and the I/O-Board for the ATMEGA8. Over a data cable, two consisting of over a Flachbankabel 1:1 together connected D-Sub-bushing/connector, are connected both Module. Something else unorthodox is branched off the supply voltage for the I/O-Board of the ELM323-Adapter because this connected over the OBD-2 connectors with the car battery. The white cable is + Vcc and the brown is mass. Naturally that yet should be changed so that duration plus, but rather ignition plus for the I/O-Board used becomes not, so that only in turned on ignition the LCD is operated, and must not be pulled like now permanently, and the OBD-2-Stecker each time out.

All together fits into a Europe-housing or with somewhat more skilled-labor expense also in a smaller. Into the front disk, the sensor was incorporated of the I/O-Board, that is required for the representation configuration.
Programmed I have in C. The source code is documented well. The information to the ELM323 is helpful. The present version 1.3 is optimized only for my VW T4. This concerns above all the notice of readings because only such are calculated and indicated, that of the T4 offers. An expansion adaptation is however simply doable and will follow. In a Fiat Punto Bj. To expect 2002 functioned the control how also because it is thanks to the ELM323 yes nature appropriate for too many vehicles Compatible and it most same PIDs were supported.
After the programming the µC the module in the car can be connected to the OBD-2 bushings. Because it is furnished immediately with tension, it tries to establish communication to the data bus. As long as the ignition is out of, this will not succeed is started and after a corresponding error message about every five seconds again and again a new attempt. As soon as the connection was produced, the fair data are indicated permanently. The ignition is turned off again, no more can data be read by the OBD-2-Bus, what noticeably makes itself by a corresponding mistake. The module tries now also again and again to construct a new connection. In the regular operation, current values are represented about in the seconds tact after each other.

If a vehicle mistake is recognized by the OBD-2-System, appears knows at the first sign place in the upper left in the change a deposited exclamation sign and a tool key symbol.
![]()
In the display, six different values can be indicated. To save around place the Bezeichner often strongly are shortened. The key somewhat more long is pressed, the configuration mode activates itself and at the first position, the cursor blinks. Can be leafed now through the readings (PIDs) possible in the respective car by short keystrokes. Alternatively also no reading can be indicated (empty block of data in that leaf). No petition resulted is changed for ca. five seconds, to the next block of data and can be adjusted this. After the last block of data, the module returns again to the reading notice.
Which readings (PIDs) are indicated, notices itself the program in the EEPROM the µC. Before the first use or in a vehicle change, the first six bytes of the EEPROMS with the Programmiersoftware should be set if possible on 00 so that it comes to no mistakes. This can result also, adjusts one in that for all six blocks of data over the configuration mode that no reading is indicated (empty notice area of the block of data). In addition during the Initialisierungsphase the key permanently press until one lands in the configuration mode, before tried becomes to determine and to issue the first reading.
Following values (everyone, that of my T4 supported become) can be indicated from version 1.0 (vergl. Information to the ELM323) :
| PID | Label | Representation |
| empty block of data | ||
| 1 | System status | 00error |
| 4 | load value calculated | 000% lst |
| 5 | Motor cool water temperature | 000°Cöl |
| 11 | Absolute pressure entrance canal | 000 kpa |
| 12 | Motor-revolutions | 0000upm |
| 13 | Speed | 000 kmh |
| 14 | Zündvoreilung | 000,0°z |
| 15 | Entrance air temperature | 00°Cair / 000°Cai |
| 16 | Air flow LMM | 000,00g |
| 17 | Absolute throttle flaps position | 000% drs |
| 28 | OBD compatibility | OBD-2 / OBD / OBD + 2 / OBD-1 / no OBD / EOBD / EOBD + 2 / E + OBD / E+OBD+2 / JOBD / JOBD + 2 / E + JOBD / E+J+2 / OBD #00 (unknown) |
| unknown PID | PID#000 |

Introduction
Hardware components
Software
As the VW-technicians would have thought of me, is wear out can over the security stop a very practical Buchsenpanel for connector over that one then even the OBD-2 K-directions. X would pinch is ignition plus so that the control only tension gets, if the ignition is at. During the occasions phase, no tension adjoins so that the control really first is furnished, if also OBD delivers a signal. To the right beside it the brown mass star is to be recognized. To be sure I brought the part salesman in VW to the Verzweifelung, for this practical Panel is an absolute novelty - at the same time is it really super, freely can let one yet so the OBD-2-Buchse and must manipulate not with desires clamp etc.
How also in the ELM-solution an invertiertes Ausrufezeichen/Schraubenschlüssel-Symbol is indicated at first LCD-position if a mistake is stored in the ECU.
![]()
There it both during the Initialisierungsphase and during the continuous notice to protocol mistakes came, supervises the Watchdog of the ATMEGA8 the program. In the mean time the problem however actually is removed. It should assess a standstill, the notice with the Initialisierungsphase newly is started.
A peculiarity is the vehicle speed. Here the value reported by the ECU is not indicated, but rather a corrected. see peculiarities

The periodical elektor developed an adaptation of the Adapters and introduced July August 2005 in the edition: Article I, article II. As a kit, it is a little more low-priced than the finished device in Özen. I tested the elektor-kit. There is only problems with the Reset-signal. Best the FAQs in the elektor-forum read about.
In principle the variety of the protocols is interesting, for theoretically hardly a car so will be able to resist the Adapter and comes one at the data up to. With the cost-free software OBD-II ScanMaster for mOByDic interface of WGSoft , one can indicate let a few things at data.
How in all OBD-Adaptern, the selecting of data is supported solely and not the changing! By analogy to the ELM323, also the mOByDic can select only substantially less sensor data than a VAGUE-COM and in addition the OBD error messages issue.
My experiences with the Adapter are not also as good as expects. The interface finds my VW bus, so that no data cannot be selected, although the ELM323 can this yes. In the mean time I must correct myself: I have run got the Adapter to that also in my T4. To be sure several attempts were in addition necessary. According to manufacturer, the mobydic is suited only for AUTOMOBILE from EZ 2001 (Benziner) and EZ 2004 (diesel).
Can communicate one with the mOByDic similar to with the ELM323 over a terminal program. To be sure the documentation is to be designated only as catastrophic badly. Serious disadvantage is in my eyes also that there is no software-Reset.
In the Elektor May 2006, an article self-sufficiently is operated becomes by me, in which the mobyidc-Adapter together with a LCD - similar to the project with the ELM 323. VGA.COM VAG-COM VGA-COM VAG-KOM VAG-COMM ODB2 ODBII ODB-2