Supported Hardware Interfaces
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
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.
- Generic dumb serial adaptors
Freediag Driver: DUMB
These are generic serial to K-line interfaces, such as
Andy Whittaker's OBD-II ISO9141 interface;
Silicon Engines ISO 9141 interface:
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
Jeff's OBD-II ISO 9141 interface:
This site shows you how to build a generic serial to ISO9141 interface.
- B.Roadman ISO9141/VPW/PWM interface:
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.
- Multiplex Engineering VPW, PWM, and ISO 9141-2 interface:
Freediag Driver: MET16
When ordering this interface you must order a T16 type interface.
Multiplex Engineering produce two varieties of the T16 interface:
- T16-002: opto-isolated interface that requires power from the PC's
serial port and uses a straight through male-female DB9 cable.
- T16-003: Non-opto isolated interface, uses a null-modem female-female
DB9 cable, doesn't require (much) power from the PC.
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
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
- ELM32* based interfaces:
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
(*) Support for ISO14230 software layer, not for 24V vehicles.
(1) Should work, but not tested.
(2) Will work in some applications [including OBDII] but h/w doesn't
support all of the features of the protocol.
(3) Support planned by h/w manufacturer.
(4) ELM support is incomplete in freediag.