Our ‘OBD Interpreter’ integrated circuits are designed for use with vehicles that use the standard OBDII (On Board Diagnostics) protocols. Most modern vehicles use the CAN (ISO 15765-4) protocol, but yours may not. If you are unsure of what protocol your vehicle uses, see the information in the ‘OBD’ section, under the ‘Help’ menu.

Protocol Support

Once you know the protocol that you need to ‘interpret’, the following chart will help you choose an integrated circuit:

Note that we have also included a couple of non-OBDII protocols that we are often asked about.

OBD Interpreter ICs

ELM320 – OBD (PWM) to RS232 Interpreter (v2.0)
The ELM320 supports the 41.6KHz SAE J1850 PWM protocol, which was commonly used in many Ford Motor Company vehicles (but has now generally been replaced by CAN).

ELM322 – OBD (VPW) to RS232 Interpreter (v2.0)
Similar to the ELM320, the ELM322 is for connecting to an OBDII equipped vehicle which uses the 10.4KHz SAE J1850 VPW format. This standard was typically used in General Motors and some Chrysler vehicles.

ELM323 – OBD (ISO) to RS232 Interpreter (v2.0)
The ELM323 supports the ISO 9141-2 and ISO 14230-4 standards that are used by many vehicles throughout the world. You may wish to also consider the ELM327, as it offers several options for customizing the timing etc. that is not provided by the ELM323.

ELM325 – J1708 Interpreter (v2.0)
This protocol converter integrated circuit is for use with heavy duty vehicles that use the SAE J1708 standard with J1587 or J1922. Although these protocols are being phased out (they’re being replaced by SAE J1939), there are still a very large number of vehicles that use them.

ELM327 – OBD to RS232 Interpreter
Elm Electronics has been producing the multi-protocol ELM327 integrated circuit since 2005. We have updated the product several times in response to your requests, and as a result have produced many versions of the IC over the years. All versions of the ELM327 support the standard OBDII protocols:

  1. SAE J1850 PWM
  2. SAE J1850 VPW
  3. ISO 9141-2
  4. ISO14230-4
  5. ISO15765-4

In addition, the IC supports various other protocols to varying degrees (SAE J1939, CAN at programmable rates up to 500kbps, ISO 9141 and ISO 14230 at 9600 and 4800 bps, etc.)

The latest ELM327 is available in two voltage ranges:

The most recent version (firmware v2.3) adds new C0/C1, IA and FT commands, has updated Response Pending logic for use with CAN Extended Addressing, and adds new Flow Control modes. This integrated circuit requires a Vdd supply of 4.2V to 5.5V.

The ‘L’ version of the ELM327 supports all of the functions of the ELM327 v2.3, but operates down to a much lower supply voltage (to 2.0V).

Several customers were reluctant to redesign their proven products so have asked that we continue to stock the following ‘mature’ version of the ELM327:

ELM327 v1.3a
A good basic product that continues to sell well.

The different versions of the ELM327 IC may be a little confusing to some. Perhaps this chart may be of help:

Operating Voltage 4.5V to 5.5V 4.2V to 5.5V 2.0V to 5.5V
Low Power (sleep) Mode
Settings Retained on Wake
RS232 Transmit Buffer Bytes 256 512 2048
AT Commands 100 144 144
CAN Frequency Check During Auto Protocol Searches
Response Pending (7F xx 78) Support


ELM329 – CAN Interpreter
With vehicles beginning to only support the CAN protocols, we took an ELM327 and removed support for the non-CAN protocols (but still provide enough command support to allow most ELM327 software to work with it). With the extra space, we added functions like CAN single-wire transceiver controls, a ‘protocol active’ led output, etc. Firmware version 2.2 is the most recent revision. This IC requires a Vdd supply of 4.2V to 5.5V.

ELM329L – low voltage version of the ELM329
This integrated circuit supports all of the ELM329 v2.2 functions, but operates with lower voltage supplies (from 2.0V to 5.5V).

Why buy an ELM329?

If you are not interested in the older OBDII protocols (SAE J1850, ISO 9141, or ISO 14230), and only want CAN (ISO 11898, ISO 15765, SAE J1939, NMEA 2000, etc.) then the ELM329 may be a better choice for you.

Here are some of the ELM327 – ELM329 differences in chart form:

Operating Voltage 4.2V to 5.5V 2.0V to 5.5V 4.2V to 5.5V 2.0V to 5.5V
Number of IC Pins 28 28 28 28
Low Power (sleep) Mode
Settings Retained on Wake
RS232 Transmit Buffer Bytes 512 2048 512 2048
Automatically Formats Long (>8 byte) Messages No No No No
CAN Periodic Messages
User Definable CAN Protocols 2 2 5 5
Single Wire CAN Transceiver Controls 2 2
CAN Frequency Check For Auto Protocol Searches
Response Pending (7F xx 78) Support
General Purpose Inputs 2 2
General Purpose Ouputs 1 1
Hardware-based CAN Activity Monitor
Protocol Active Output

There are also several other differences that make the ELM329 the preferred product if you are only dealing with CAN protocols. Please refer to the respective data sheets for more information.

OBD Software Development

ELM328 – OBD Device Identifier Test IC
The ELM327 provides a function for writing a unique identifier (ie serial number) to memory. Once set, it can not be changed, however, which poses a problem when developing software for this function. The ELM328 allows the identifier to be erased and the internal code to be reset repeatedly, so that software can be developed for this function (without having to use a new chip every time you run the code).