FREEDIAG
Supported Hardware Interfaces



[ Freediag@Sourceforge ] [ Home ] [ Documentation ]
[ Mailing Lists ] [ CVS Access ]

This manual applies to Version 1.03 of freediag

Table of contents:


Electrical Interface Types

There are various common hardware interfaces used for diagnostic interfaces to vehicle electronic control units (ecus). Most manufacturers use one or two such interfaces for all systems on a vehicle. These include:

ISO9141 and ISO14230 are essentially compatible at an electrical level (with the exception that the latter will work on 24 volt vehicles).

The freediag protocol stack supports the above list with the exception of the CAN. The US OBDII standard and the European EOBD standard for communicating with emissions related ECUs do not mandate CAN support.

The ISO protocols are generally used by European Vehicles, and the two SAEJ1850 types by Ford and GM.

At a software level, ISO14230 is a vastly extended ISO9141-2 protocol that supports much longer data frames and much quicker communications startup with the ECU.

Further information can be obtained from:


Freediag Supported Interfaces

Freediag contains various drivers for different adapters that connect the PC serial port to a vehicle. Certain interfaces support more protocol types than have been implemented/tested within a driver, and some interfaces need to be ordered with special attributes (such as their address) to work without recompiling the freediag software library.

  1. Generic dumb serial adaptors

    Freediag Driver: DUMB

    These are generic serial to K-line interfaces, such as
    Andy Whittaker's OBD-II ISO9141 interface;
    http://www.andywhittaker.com/ecu/obdii_hardware.htm
    Silicon Engines ISO 9141 interface:
    http://www.siliconengines-ltd.com/products/9141-232.html
    This is a commercially available generic serial to ISO9141 interface. It is supplied in a robust box with lots of lights. This interface was used to develop the first bits of the freediag project. It is functionally the same as the above two interfaces (with the exception of all the lights and the box).
    Jeff's OBD-II ISO 9141 interface:
    http://jeff.noxon.cc/2013/05/18/opendiag-obd-ii-schematics-pcb-layout/
    This site shows you how to build a generic serial to ISO9141 interface.

  2. B.Roadman ISO9141/VPW/PWM interface:
    http://obddiagnostics.com/
    Freediag Driver: BR1

    Another commercially available interface, we havenít yet tested the ISO9141 side of the interface, and it does not support ISO14230. Future versions will support ISO14230 and we used this interface to develop the J1850-VPW/PWM support in Freediag. Thanks to B. Roadman for the donation of hardware to the project.

  3. Multiplex Engineering VPW, PWM, and ISO 9141-2 interface:
    http://www.multiplex-engineering.com/products.htm
    Freediag Driver: MET16

    When ordering this interface you must order a T16 type interface. Multiplex Engineering produce two varieties of the T16 interface:


    Many PC's do not provide enough power to drive the T16-002 interface and thus errors will occur (and "checksum error" messages will be printed by the freediag software). As the T16-003 has no opto-isolation there is a slight risk of damage to the PC. According to the manufacturer the risk is low and is negligible unless the vehicle is connected to a battery charger.

    When ordering an interface an interface that operates at 19200 baud and uses address 0x38 should be specified, or simple modifications to diag_l0_me.c and recompilation will be needed.

    The T16-002 interface was used to develop support for smart interfaces in freediag, it worked on a modern Sony Laptop but not on various branded PCs tested.

  4. ELM32* based interfaces:
    http://elmelectronics.com/obdic.html
    Freediag Driver: ELM

    The ELM32x ICs are smart protocol translators that are frequently found in recent USB->OBD cables. Freediag partially supports these devices. Be aware that many so-called ELM32x cables use a cloned but not completely compatible IC.


Compatibility Matrix