USA Tel. 1-646-844-1155
UK Tel. +44 (0) 121 663 1949

Frequently Asked Questions

Welcome to the OBD Frequently Asked Questions page. Click on one of the questions in the list below to go straight to the answer.

Don't see your question? E-mail us for an answer.



Q: What software is included in the OBD Experts Protocol Stack?

A: When you purchase the complete OBD II Protocol Stack you will receive the source code for all the OBD II protocols. The source files are written in C and organised with a layer of abstraction to the hardware specific code so that porting of the code to alternative hardware platforms is kept simple. Currently the design is built and tested using an STM32F103 high density ARM Cortex chip so all the actual calls to this chip and the STM32's library code are provided too. On top of the stack sits a simple API that attempts to connect to one of the protocols and if successful loops through a file requesting the desired modes and PIDs from the ECU(s). Watch a video introduction to the OBD Experts OBD II Protocol Stack here - Watch Video

Back to Questions



Q: Can I modify/tailor the OBD II Protocol Stack once it has been purchased?

A: When you purchase the OBD II Protocol Stack you will be required to sign an agreement stating you will not sell it on to any 3rd party, however, you will be able to use it freely - including all modifications - in your company products.

Back to Questions



Q: What support comes with the OBD II Protocol Stack?

A: You will not only receive the source code (written entirely in C) but you will also receive comprehensive documentation on how to get started with your development. You also get direct access to our engineers by phone and email as well as entry to our on-line support page.

Back to Questions



Q: How do I determine which OBD II protocol to use on a particular vehicle?

A: OBD II specifies 5 different electrical protocols which can be used to access OBD II information. Automotive manufacturers are required to implement one of the mandated OBD II protocols. CAN is becoming the mandated OBD II protocol for all new vehicles. In the near future all vehicles will use this protocol to communicate.

At the moment, however, different manufacturers favour different protocols. Table 1, below, describes which OBD II protocol is favoured by which manufacturers. Please note that this list is not exhaustive and that there are always exceptions to these general rules.

OBD Protocol Vehicle Manufacturer
ISO 9141-2/KWP2000-4 Many Asian and European vehicles including Alfa Romeo, Audi, BMW, Citroen, Fiat, Honda, Hyundai, Jeep post-2004, Kia, Land Rover, Mazda, Mercedes, Mitsubishi, Nissan, Peugeot, Renault, Saab, Skoda, Subaru, Toyota, Vauxhall, Volkswagen post-2001, Volvo pre-2004.
J1850 PWM Ford pre-2003. Jaguar pre-2003. Mazda pre-2004.
J1850 VPW General Motors, Chrysler
ISO 15765-4 (CAN) Ford, Mazda, Volvo since 2004.

Table 1 - OBD II protocols by vehicle manufacturer


One way to tell which OBD II protocol is implemented by a vehicle is by examining the J1962 connector. This connector is often located under the steering wheel on the driver's side of the vehicle. A J1962 connector is shown in Figure 1, below.

OBD II Protocol Stack

Figure 1 - J1962 connector


The numbers in Figure 1 represent the 16 pins of the J1962 connector. The following J1962 connections are dependent on the protocol(s) in use by the vehicle:

Pin 16 is Battery Voltage and Pins 4 & 5 are Ground. By checking which pins are implemented in a vehicle it may be possible to determine which OBD II protocol is in use.

Back to Questions



Q: Will OBD Experts modify their existing stack for specific vehicles?

A: Yes. As part of our consultancy service we can provide you with a tailor made stack that is not only fully OBD II compliant, but can also communicate 'physically' to specific ECU's.

Back to Questions



Q: What additional hardware is required to communicate with a vehicle using OBD II?

A: You cannot connect microprocessor outputs directly to the J1962 connector on a vehicle. You will require some simple external circuitry including:

Back to Questions



Q: What processors does are supported by your software?

A: The OBD Experts OBD II Protocol Stack has been built and tested for the following microprocessors:

If you are using a different processor then the OBD II Protocol Stack can be adapted using the easy to follow instructions provided. As all of our software comes with a support package we are happy to help you port the OBD II Protocol Stack onto your chosen processor.

Back to Questions



Q: What support comes with your software, do you provide updates?

A: All of our licences come with off-site support. This is phone and email support for any question that your engineers may have about how the software works, porting, or even general questions about OBD II. There is also a support page on our website that you may access using a password. During your support period you will be notified of bug-fixes if any operational bugs are reported in the software by any of our other clients.

Back to Questions



Q: Do you license your software on a per-unit basis?

A: The OBD II protocol stack is usually licensed for an initial fee and an on-going fixed monthly payment. The licence includes off-site support. We can also provide per-unit licenses on the source code on a case by case basis. Contact us for more information.

Back to Questions



Q: Do you support non-OBD II diagnostic protocols such as J1939 and J1708?

A: We currently support J1939 truck protocol and J1708 is currently in development - contact us for more information.

Back to Questions



Q: What is the difference between OBD II and CANbus?

A: OBD II and CANbus are not the same thing. OBD II is a standard that must be supported on all modern cars in order to retrieve diagnostic information. CANbus is one of the five electrical protocols over which the OBD II standard can be used. All North American cars since 2008 must support OBD II over CAN, however, it is not enough to just have a CAN bus connection to communicate with these vehicles - one must also implement the OBD II standard.

Back to Questions



Q: Can I use your firmware to read the door lock status and unlock the car doors?

A: It depends. The OBD II standard does not have access to parameters such as door lock status; however, it is possible that this information can be read using one of the five electrical protocols used for OBD II. In theory, this means with just a small change to the OBD II source code you can read door lock status. In practice, however, parameters such as door locks, odometer, seat belts etc are kept secret by car manufacturers so in order to access this data you need proprietary information. In addition the information (parameter address, scaling, key etc) required to read this data can (and often is) different for every vehicle. So, in short, you can use our firmware to read the door lock status and unlock the car doors, but only if you possess the proprietary information required to do so.

Back to Questions