- What Is A Serial Interface
- Toyota Obd1 Serial Interface Boards
- Iic/i2c/twi/spi Serial Interface Board Module
- Asynchronous Serial Interface
Cable comes with 3' serial port. 1pc x Toyota 22pin to 16pin OBD1 to OBD2 Cable. This cable is the most convenient to use if. OBD serial RS232 KL diagnostic interface Webasto (Thermo Test). I have his universal interface cable (all three OBD-II protocols plus CANbus). The cable consists of the proper connectors and a little plastic box containing the PIC that translates bus data to serial data. You'll need a computer with either a serial port or a serial/USB cable. Since the implementation of the OBD standard, each vehicle has a standard 16-pin connector. OBD connector location for Toyota Tacoma (2005 - 2015). Connector is under the steering wheel (left side) Go the the Toyota OBD2 car scanner. Connector is located above the parking brake pedal. Those pictures were sent by rrdakota.
FavoritedFavorite4Introduction
Have you ever had an infamous 'check engine light'? Did you wish you could just check the error code yourself and not deal with going to a mechanic? With the OBD-II UART, your wishing can become a reality. The OBD-II UART allows you to connect your car to a computer, embedded microcontrollers, or single board computers such as the Raspberry Pi or Beaglebone Black.
SparkFun OBD-II UART
WIG-09555SparkFun Car Diagnostics Kit
RTL-10769This guide will show you:
- What hardware is included on the OBD-II UART
- The basics of OBD-II commands
- How to hook this up over FTDI directly with your computer
- How to hook this up to an Arduino and display information to an LCD
Required Materials
To follow along with the tutorial, you will need the following parts.
Required Tools
- A laptop
Suggested Reading
This tutorial does expect the user to have experience with basic electronics and serial communication. If you are unfamiliar with these concepts or need a refresher, check out these other tutorials.
How to Solder: Through-Hole Soldering
Serial Communication
What Is A Serial Interface
Working with Wire
What is an Arduino?
Hexadecimal
Getting Started with OBD-II
Board Overview
On-Board Diagnostics, Second Generation (OBD-II) is a set of standards for implementing a computer based system to control emissions from vehicles. It was first introduced in the United States in 1994, and became a requirement on all 1996 and newer US vehicles. Other countries, including Canada, parts of the European Union, Japan, Australia, and Brazil adopted similar legislation. A large portion of the modern vehicle fleet supports OBD-II or one of its regional flavors.
Among other things, OBD-II requires that each compliant vehicle be equipped with a standard diagnostic connector (DLC) and describes a standard way of communicating with the vehicle’s computer, also known as the ECU (Electronic Control Unit). A wealth of information can be obtained by tapping into the OBD bus, including the status of the malfunction indicator light (MIL), diagnostic trouble codes (DTCs), inspection and maintenance (I/M) information, freeze frames, VIN, hundreds of real-time parameters, and more. You can read more about the OBD-II protocol here.
STN1110 is an OBD to UART interpreter that can be used to convert messages between any of the OBD-II protocols currently in use, and UART. It is fully compatible with the de facto industry standard ELM327 command set. Based on a 16-bit processor core, the STN1110 offers more features and better performance than any other ELM327 compatible IC. ScanTool has some great resources for the STN1110 available on their website, including:
Board Schematic
The OBD-II UART board has both the STN1110 and the MCP2551 chips populated on it, allowing the user to access both CAN and OBD-II protocols. The schematic can be viewed/downloaded here.
The STN1110 is the main controller chip on the board. This communicates with the CAN, ISO and J1850 transceivers. Voltage on the board is regulated to both 5V and 3.3V for all of the components to function properly. The board is powered from the DB9 connector.
Board Pin Out
There are two different connection points on the board. The first, on the outside edge of the board, is a 6-pin connector that is compatible with an FTDI board. However, only the TX, RX and GND pins are connected on this header, to allow for UART communication.
There is a second 8-pin header close to the DB9 connector. This allows the user to tap into the VBAT line, the CAN bus, the LINE bus and the J1858 bus, along with the common ground pin.
Now that we now about the board itself, let's move on to hooking it up!
First Communcation
Soldering Headers
To create a solid electrical connection with any other components (such as an Arduino or an FTDI Basic), you need to solder headers to the board. For use with the FTDI Basic, it is easiest to solder male headers into the 6-pin header row at the edge of the board. Once you have this done, your board should look similar to this.
Connecting to a Vehicle OBD Port
You will need to connect the OBD-II board to the OBD port on your vehicle. Depending on the make and model of your car, the port location may vary. Consult your owner's maunal if you cannot locate the port.
Once you have located your OBD port, you will need to hook up the OBD-to-DB9 cable to the vehicle's port.
The mating end of the cable tends to be a very tight fit and require a bit of force to get it sitting securely, so it's usually easier to start hooking everything together between the car and the cable. Once you get the car and the cable connected, then connect the DB9 end of the cable to the OBD-II board.
Connecting over a Serial Port
Once you have your headers attached to your board, and you've connected to your vehicle using the OBD-DB9 cable, you can start communicating withe OBD-II board over through a serial port using an FTDI Basic breakout board. The FTDI pinout matches with the 6 pin header on the OBD-II board, but only connects TX, RX and GND. Connect the FTDI board to the computer via a mini-USB cable, and open up a serial terminal on your computer. Configure the serial connection to 9600 bps, 8 data bits, 1 stop bit and no parity.
Once you have your serial terminal set up, you will communicate with the OBD-II board by using AT commands. These commands always start with 'AT'. The OBD-II board is case-insensitive, so don't stress about only using capital letters. After sending 'AT', the next letters sent to the board will be the commands that should be executed by the board. You can find a list of all of the available AT commands here.
To start communicating with the board, type 'ATZ' into your terminal window and hit 'enter'. This will send the command to reset the board. You should see some LEDs flash on your board and then see the start-up prompt in the terminal window.
If you receive back any garbled characters, double check that you have the correct serial port settings in your terminal.
Once you have proper communcation with your board set up, try reading the OBD-II UART system voltage. Type 'ATRV' into the terminal window and hit enter. The board should then return the system voltage to you.
This voltage reading should match your vehicle's battery voltage.
To read additional OBD parapters for the vehicle, the OBD-II board must first be configured to the correct OBD protocol. There are several different OBD protocols, so it can be confusing attempting to find the correct one. However, like all things awesome, this OBD-II board automatically detects the protocol. To use this auto-detect feature, the vehicle's ignition must be in the 'On' position. The vehicle doesn't necessarily need to be running however. Once the ignition is on, send the command 'ATSP0' (that's a trailing zero). The board will then reply with 'OK' once the proper protocol has been detected.
Once you have the proper protocol detected on your board, you can start sending OBD commands to the board.
OBD Commands
OBD Commands
The OBD commands are made up of hexadecimal codes written in ASCII characters. Generally, these commands contain 2 or more pairs of hexadecimal numbers, however there are a few commands that only require one hex pair.
The first hex pair in the OBD command represents the OBD mode which should be used. Any following hex pairs after that represent the Parameter ID (PID) to be read from the specified mode. There are 10 OBD modes, but keep in mind that not all vehicles will use all 10 modes. You will want to check your particular vehicle's protocols to see what OBD modes and parameter IDs are supported.
Mode Number | Mode Description |
01 | Current Data |
02 | Freeze Frame Data |
03 | Diagnostic Trouble Codes |
04 | Clear Trouble Code |
05 | Test Results/Oxygen Sensors |
06 | Test Results/Non-Continuous Testing |
07 | Show Pending Trouble Codes |
08 | Special Control Mode |
09 | Request Vehicle Information |
0A | Request Permanent Trouble Codes |
You can read up more on the OBD PIDs functionality on Wikipedia. Some vehicle manufacturers also use their own proprietary parameters, so keep in mind that these may not be a comprehensive list for your car. Again, the ELM327 AT Commands datasheet is another good resource to check out.
Possibly the most important PID is 00. This works on any vehicle that supports OBD and gives a list of other PIDs which the car supports. In your terminal window (you do still have that open, right?!), type '0100' and hit 'enter'. This command translates to 'In mode 01, what PIDs are supported?'
There is a general structure that all OBD responses have in common. The first response byte (in this case 0x41) lists the mode that was requested in the command. Thus the board sends 0x40 + 0x01. The second byte is the parameter that was requested, so in our case, 0x00. Any following bytes are the responses to the command. In this case, the bytes 0xBF, 0x9F, 0xA8 and 0x93 are the PIDs that are supported by the vehicle.
One other commonly supported parameter is the 'Read Engine RPM'. Issue command '010C' and press enter. Keep in mind that the board will respond with a value listed in hex.
The response structure is the same as before. 0x41 to state the board is in mode 01, followed by 0x0C to show that the board is looking at the RPM parameter. The returned value of 0x0E 0x96 can then be converted into a decimal value of 3734. This is actually 4 times the actual RPM, as this value is listed in quarters of RPM. Once the value is divided by 4, we have an idiling RPM of 933.
Check out the datasheet for the ELM327 for more PIDs to try out. Now let's look at hooking the OBD-II board up to an Arduino.
Connecting to an Arduino
Connecting to an Arduino
Besides connecting directly to your computer with the OBD-II board, you can also run the data through an Arduino board and display the information on an LCD for embedding a project. For this section, you will need an Arduino Uno (or another 5V Arduino board), jumper wires, and a serial LCD.
You will only need to make 6 connections between all 3 devices to get this set up. Use the diagram and the chart below to properly wire everything.
Arduino Pin | Serial LCD Pin | OBD-II-UART Pin |
GND | GND | GND |
5V | 5V | None |
D3 | Rx | None |
D0(Rx) | None | Tx-O |
D1(Tx) | None | Rx-I |
You will want to download the sketch file here, or you can find the most up to date version of the code on GitHub. Keep in mind when you upload this to your board, you will want to disconnect the OBD-II board RX line from the Arduino TX-0, to prevent issues during code upload, such as bricking the OBD-II board.
Another thing to note about this set up is that the Arduino is not powered off of the OBD-II board. Therefore, you will need to either use USB power from your laptop to power the Arduino, or use a battery supply suck as a 9V battery and 9V barrel jack adapter.
Toyota Obd1 Serial Interface Boards
Understanding the Sketch
This example sketch is very simple. The Arduino simply communicates with the OBD-II board and then sends the information received to the LCD screen. You will need to include the SoftwareSerial library in order to communicate with the LCD screen. Set the LCD TX/RX lines to pins 2 and 3 on the Arduino, and initialize the rest of your variables.
In the set up loop, the serial port for the LCD as well as the serial port for talking to the OBD-II board are both initialized at 9600 bps. The screen is then cleared, and the variable names of Speed and RPM are printed on the first and second rows respectively. As we did before, the OBD-II board is then reset.
The main loop of the code simply sets the cursor locations, clears out any old data on the LCD screen, receives the data from the OBD-II board, tranlates it to an integer and prints the vehicle speed and RPM to the screen.
The final section of code simply defines the functions to communicate with the OBD-II board. This saves any incoming characters to the serial buffer until a carriage return is received.The buffer index is set to 0 and the board then waits for the next string to come in.
Resources and Going Further
Now that you've gotten the basics down for communicating with the OBD-II UART board, try modifying the example sketch to work with parameter IDs that are supported on your particular vehicle.
Software
You can also work with some free software available online, that prints the data out into cool graphs and meters for you without any programming required, other than using a serial port. Check out a current list of freeware for OBD boards below.
Iic/i2c/twi/spi Serial Interface Board Module
Now that you've successfully got your OBD II UART up and running, it's time to incorporate it into your own project!
For more information, check out the resources below:
- Datasheet
Or check out these videos from According to Pete's explanation of CAN BUS and OBD-II:
Need some inspiration for your next project? Check out some of these related tutorials:
CAN-BUS Shield Hookup Guide
Getting Started with OBD-II
AST-CAN485 Hookup Guide
Several thousand OBD2-compatible vehicles have been tested by our customers with klavkarr. You can read their feedback on this page. Check that the klavkarr diagnostic scanner will work with your car.
Asynchronous Serial Interface
Our registered users have enabled us to create this table, and we thank them. It contains 10448 vehicles tested including 3217 of different types or configuration.
We remind you that the EOBD standard is governed by legislation that states that vehicles must be compatible from a specific date. More information on presentation of the OBD.
To easily diagnose your own car, download our EOBD-Facile car diagnostic software..
All GASOLINE vehicle since 2001and DIESEL vehicle since 2004 are COMPATIBLE even if they are not in the list.
Find a vehicle make rapidly by using the search function in your web browser (CTRL + F) and for more details about the meaning of modes, check out our page OBD modes & PID.
Make(1) | Engine | AM | Fuel | P(2) | Compatible OBD2 ? | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Toyota Auris | ||||||||||||
Where is the OBD2 port on Toyota Auris (2006 - 2012) ? | ||||||||||||
Auris | 1.4 | 2007 | Diesel | 90 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Auris | 1.4 D-4D | 2010 | Diesel | 90 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Auris | 1.6 vti | 2007 | Essence | 124 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Auris (x6) | 2.0 D-4D | 2008 2009 2011 | Diesel | 126 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Auris (x4) | 1.8 | 2014 2016 | Hybride Essence | 136 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Auris (x2) | 2.2 D CAT D | 2008 2009 | Diesel | 177 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Toyota Avanza | ||||||||||||
Avanza | 1.3G | 2012 | Essence | 91 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Toyota Avensis | ||||||||||||
Where is the OBD2 port on Toyota Avensis (2003 - 2009) RHD ? | ||||||||||||
Avensis (x15) | 2.0 D-4D | 2003 2004 2005 | Diesel | 116 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Avensis (x6) | 2.0 D-4D | 2006 2007 2008 2009 | Diesel | 126 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Avensis | 2.0 | 2004 | Essence | 150 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Avensis | 2.2 d4d | 2005 | Diesel | 150 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Avensis | 2.4 | 2005 | Essence | 160 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Avensis | 2.4 VVT-i | 2005 | Essence | 160 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Avensis (x4) | 2.2 DCAT | 2005 2006 2007 | Diesel | 177 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Toyota Aygo | ||||||||||||
Where is the OBD2 port on Toyota Aygo (2005 - 2014) ? | ||||||||||||
Aygo | 1.4 | 2006 | Diesel | 55 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Aygo (x3) | 3 cyl 1000cm3 (1KRFE) | 2008 2009 2011 | Essence | 60 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Aygo (x6) | 1.0 | 2005 2007 2008 2011 | Essence | 68 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Toyota Camry | ||||||||||||
Where is the OBD2 port on Toyota Camry (1998 - 2003) ? | ||||||||||||
Camry | 2.4 | 1999 | Essence | 150 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Camry | 2.2 | 2001 | Essence | 150 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Camry (x2) | 2.4 | 2007 | Essence | 158 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Camry | 2.5 | 2012 | Essence | 170 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Toyota Celica | ||||||||||||
Where is the OBD2 port on Toyota Celica 7 (2000 - 2006) ? | ||||||||||||
Celica (x9) | 1.8 vvti | 1999 2000 2001 2003 | Essence | 143 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Celica | 1.8 | 2003 | Essence | 192 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Toyota Corolla | ||||||||||||
Where is the OBD2 port on Toyota Corolla E120/E130 (2000 - 2008) ? | ||||||||||||
Corolla | 1.4 | 2003 | Essence | 90 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Corolla (x2) | 2.0 HDi | 2003 2004 | Diesel | 90 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Corolla | 1.4 D-4D | 2006 | Diesel | 90 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Corolla (x5) | 1.4 D-4D | 2004 2005 | Diesel | 90 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Corolla | 1.4 | 2004 | Essence | 97 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Corolla | 2.0 | 1998 | Essence | 100 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Corolla (x6) | 1.6 VVTi | 1999 2002 2003 2004 | Essence | 110 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Corolla (x11) | 2.0 D-4D | 2004 2005 2006 | Diesel | 115 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Corolla (x3) | 2.0 D-4D | 2009 2011 2014 | Diesel | 126 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Corolla | 1.8 | 2007 | Essence | 128 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Corolla (x10) | 2.2 D-4D | 2006 2007 2008 2009 | Diesel | 136 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Corolla | 1.8 | 2018 | Essence | 140 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Corolla | 2.0 XEI | 2015 | Essence | 154 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Corolla (x4) | 2.2 D4-D | 2006 2007 | Diesel | 177 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Corolla (x2) | 1.8 VVTi | 2002 2003 | Essence | 192 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Toyota Echo | ||||||||||||
Where is the OBD2 port on Toyota Echo (1999 - 2003) ? | ||||||||||||
Echo | 1.5 | 2003 | Essence | 90 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Echo (x3) | 1.5 | 2003 | Essence | 106 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Toyota Etios | ||||||||||||
Where is the OBD2 port on Toyota Etios (2014 - ...) ? | ||||||||||||
Etios (x2) | 1.5 | 2015 2018 | Essence | 90 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Toyota FJ Cruiser | ||||||||||||
Where is the OBD2 port on Toyota FJ Cruiser (2006 - 2014) ? | ||||||||||||
FJ Cruiser | V6 4.0 | 2007 | Essence | 280 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Toyota GT86 | ||||||||||||
GT86 (x4) | 2.0 | 2012 2013 | Essence | 200 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Toyota Highlander | ||||||||||||
Highlander (x2) | 3.5 | 2009 2011 | Essence | 270 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Toyota Hilux | ||||||||||||
Where is the OBD2 port on Toyota Hilux (2005 - ...) ? | ||||||||||||
Hilux (x2) | 2.5 D-4D | 2009 | Diesel | 120 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Hilux | 3.0 D-4D | 2007 | Diesel | 171 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Hilux (x2) | 3.0 | 2011 2014 | Diesel | 171 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Toyota IQ | ||||||||||||
Where is the OBD2 port on Toyota IQ (2008 - ...) ? | ||||||||||||
IQ (x2) | 1L | 2009 2011 | Essence | 67 | The scanner is compatible | |||||||
+ More info | ||||||||||||
IQ | 1.3 | 2010 | Essence | 99 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Toyota Land Cruiser | ||||||||||||
Where is the OBD2 port on Toyota Land Cruiser (1998 - 2007) ? | ||||||||||||
Land Cruiser | D-4D 2982 cm3 | 2008 | Diesel | 120 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Land Cruiser | 3.0 D-4D | 2004 | Diesel | 163 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Land Cruiser | 3.0 | 2007 | Diesel | 173 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Land Cruiser | 3.0 L D-4D | 2007 | Diesel | 175 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Land Cruiser | 3.0 | 2012 | Diesel | 190 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Toyota MR-S | ||||||||||||
MR-S (x3) | 1.8 vvti | 2000 2002 | Essence | 143 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Toyota MR2 Spyder | ||||||||||||
MR2 Spyder (x5) | 1.8 VVT-i | 2000 2002 2003 | Essence | 142 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Toyota Matrix | ||||||||||||
Matrix | 2.4 | 2010 | Essence | 158 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Toyota Noah | ||||||||||||
Noah (x2) | 2.0 | 2004 2005 | Essence | 150 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Toyota Previa | ||||||||||||
Where is the OBD2 port on Toyota Previa (1999 - 2006) ? | ||||||||||||
Previa (x3) | 2.4 vvti | 2000 2001 | Essence | 156 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Toyota Prius 2 | ||||||||||||
Where is the OBD2 port on Toyota Prius 2 (2003 - 2009) ? | ||||||||||||
Prius 2 (x11) | 1.5 | 2004 2005 2006 2007 2008 | Hybride Essence | 110 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Toyota Prius 3 | ||||||||||||
Where is the OBD2 port on Toyota Prius 3 (2010 - ...) ? | ||||||||||||
Prius 3 (x10) | 1.8 | 2009 2010 2012 2013 2015 | Hybride Essence | 136 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Toyota Proace | ||||||||||||
Where is the OBD2 port on Toyota ProAce I (2013 - 2016) ? | ||||||||||||
Proace (x2) | 1.6 D-4D | 2016 | Diesel | 115 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Toyota Rav4 | ||||||||||||
Where is the OBD2 port on Toyota RAV4 (2003 - 2006) ? | ||||||||||||
Rav4 (x14) | 2.0 D-4D | 2003 2004 2005 | Diesel | 116 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Rav4 | - | 2016 | Diesel | 120 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Rav4 (x3) | D-4D | 2003 2004 2005 | Diesel | 135 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Rav4 (x7) | 2.2 D-4D | 2006 2007 2008 | Diesel | 136 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Rav4 (x17) | 2.0 VVT-i | 2000 2001 2002 2003 2004 | Essence | 150 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Rav4 (x3) | 2.2 | 2009 2012 2014 | Diesel | 150 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Rav4 (x4) | 2.2 D-4D | 2006 2007 | Diesel | 177 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Rav4 (x2) | V6 | 2009 2010 | Essence | 260 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Toyota Sienna | ||||||||||||
Where is the OBD2 port on Toyota Sienna (1997 - 2004) ? | ||||||||||||
Sienna | 3.3 | 2006 | Essence | 220 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Sienna | 3.5 L | 2010 | Essence | 266 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Toyota Solara | ||||||||||||
Solara | 3.3 | 2004 | Essence | 200 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Toyota Tacoma | ||||||||||||
Where is the OBD2 port on Toyota Tacoma (2005 - 2015) ? | ||||||||||||
Tacoma | 4.0 vvti | 2006 | Essence | 236 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Toyota Tercel | ||||||||||||
Where is the OBD2 port on Toyota Tercel (1994 - 2000) ? | ||||||||||||
Tercel | 1.5L | 1999 | Essence | 96 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Toyota Tundra | ||||||||||||
Tundra | 4.7 | 2003 | Essence | 230 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Tundra | 5.7 | 2014 | Essence | 375 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Toyota Venza | ||||||||||||
Venza | 3.5 V6 | 2016 | Essence | 268 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Toyota Vitz | ||||||||||||
Where is the OBD2 port on Toyota Vitz (2005 - 2011) RHD ? | ||||||||||||
Vitz | 1.0 | 2016 | Essence | 90 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Toyota Yaris | ||||||||||||
Where is the OBD2 port on Toyota Yaris (2005 - 2011) ? | ||||||||||||
Yaris | 1.4L | 2003 | Diesel | 63 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Yaris (x3) | 1.0 | 1999 2000 2002 | Essence | 65 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Yaris (x5) | 1.0 VVT-i | 2002 2003 2005 | Essence | 65 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Yaris | 1.0 | 1999 | Essence | 68 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Yaris | 1.0 vvti 16V | 2001 | Essence | 68 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Yaris | 1.0 VVTi | 2004 | Essence | 68 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Yaris (x2) | 1.0 vvti | 2007 2009 | Essence | 68 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Yaris (x11) | 1.4 D-4D | 2003 2004 2005 | Diesel | 75 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Yaris (x6) | 1.3 | 2000 2002 2003 | Essence | 86 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Yaris (x4) | 1.3 vvti | 2003 2004 2005 | Essence | 86 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Yaris (x4) | 1.3 VVTi | 2006 2007 2008 2009 | Essence | 87 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Yaris (x3) | 1.4 D-4D | 2006 2008 | Diesel | 90 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Yaris (x4) | 1.4 D4-D | 2010 2011 2014 2015 | Diesel | 90 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Yaris (x6) | 1.3 VVT-i | 2009 2010 2013 2014 2015 | Essence | 100 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Yaris | 1.5 | 2016 | Essence | 100 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Yaris (x3) | HSD | 2012 2016 | Hybride Essence | 100 | The scanner is compatible | |||||||
+ More info | ||||||||||||
Yaris (x4) | 1.5 16V | 2000 2001 2002 | Essence | 105 | The scanner is compatible | |||||||
+ More info |
(1) - The digits between brackets (x3) correspond to the number of vehicles of the same type tested
(2) - Power in DIN horsepower (multiplied by 0.736 for the power in kW)
(3) - PID only supported for the main oxygen sensor (no.1)
Mode X column: A vehicle showing 00000000 on a mode means that no corresponding PID is active and that as a result the mode is supported but will not reply to any requests. None of the vehicles described below support mode 8.
Energy column: type of fuel, Die for diesel, Pet for petrol, Hyb for hybrid
Vehicles in this list are classified in alphabetical order depending on the make then the model, then in order of increasing power
If your vehicle is not in the table below, go to the next site also containing a list of vehicles tested. Note, the interface and protocol used as not all are supported by an ELM type interface. http://www.blafusel.de/obd/obd2_scanned.php
All compatible brands (in alphabetical order)
Interpreting table data
The tables on this page represent lists of vehicles that are compatible with the OBD standard (EOBD or OBD2 depending on the country). Compatible vehicles can be diagnosed using generic (multibrand) ELM327 interfaces.
Table utility
There are several uses:
- While the official dates for implementing the standard have been defined, manufacturers have implemented the standard more or less early. (See the official dates). The list can be used (if your vehicle is on it), to know in advance if you can buy an ELM interface and whether it will work with your vehicle.
- The second piece of useful information is the 'level' of implementation of the standard. In general, the more recent your vehicle, the more diagnoses you can do on it. The tables list the support modes and their parameters.
How was this list written?
We asked the users of our EOBD-Facile software to help create this list by returning their 'log' file of the connection to their vehicle. In exchange for this contribution, the software functions are available for free. The exact procedure is explained on the EOBD-Facile software page.
Understanding sets of figures in the tables
To understand these figures, corresponding to the parameters (PID), we have included a small program free of charge in our software. It is available from the file menu and PID Decoder