Does My Car Have OBD2?
Does My Car Have OBD2?

Decoding OBDII Data Meaning: Your Guide to On-Board Diagnostics

Are you seeing the check engine light illuminate on your dashboard and wondering what it means? Or perhaps you’re a car enthusiast eager to understand the inner workings of your vehicle? The On-Board Diagnostics II (OBDII) system is your car’s built-in health monitor, and understanding Obdii Data Meaning can unlock a wealth of information about your vehicle’s performance and potential issues.

This guide provides a practical introduction to the OBDII protocol, exploring the OBDII connector, Parameter IDs (PIDs), and their connection to the Controller Area Network (CAN) bus. We’ll delve into how to request and decipher OBDII data, key applications for data logging, and offer practical tips to get you started.

Discover why this article has become a go-to resource for understanding OBDII data meaning.

You can also watch our OBDII intro video above – or get the PDF

Understanding OBDII: Your Car’s Diagnostic System

OBDII is essentially your vehicle’s self-diagnostic system. It’s a standardized protocol that allows access to crucial information like Diagnostic Trouble Codes (DTCs) and real-time data through the OBDII connector.

You’re likely already familiar with OBDII in some way:

Have you ever noticed the malfunction indicator light, commonly known as the check engine light, on your dashboard?

This light is your car signaling that something is amiss. When you take your car to a mechanic, they use an OBDII scanner to pinpoint the problem.

Mechanics connect an OBDII reader to the OBDII 16-pin connector, typically located near the steering wheel. This tool sends ‘OBDII requests’ to the car’s computer, and the car responds with ‘OBDII responses’. These responses can contain vital data such as speed, fuel level, and DTCs, enabling faster and more accurate troubleshooting.

Understanding OBDII: Interpreting the Malfunction Indicator Light (MIL) and using a scan tool for diagnostics.

Does Your Car Use OBDII? Checking for Compatibility

In most cases: Yes, probably!

The vast majority of modern non-electric cars are OBDII compliant and often operate on the CAN bus protocol. For older vehicles, even if a 16-pin OBDII connector is present, it may not actually support the OBDII standard. A key factor in determining OBDII compatibility is where and when your car was originally purchased:

Does My Car Have OBD2?Does My Car Have OBD2?
OBDII Compliance Guide: Determine if your car is OBDII compliant based on purchase location and year (EU/US).

A Brief History of OBDII Development

OBDII’s origins trace back to California, where the California Air Resources Board (CARB) mandated OBD systems in all new cars starting from 1991 for emissions monitoring.

The Society of Automotive Engineers (SAE) played a crucial role in standardizing OBDII, recommending the OBDII standard and establishing uniform DTCs and the OBD connector across different car manufacturers through SAE J1962.

The adoption of the OBDII standard was a gradual process:

  • 1996: OBDII became mandatory in the USA for cars and light trucks.
  • 2001: The EU required OBDII for gasoline cars.
  • 2003: The EU extended the requirement to diesel cars (EOBD).
  • 2005: OBDII was mandated in the US for medium-duty vehicles.
  • 2008: US cars were required to use ISO 15765-4 (CAN) as the foundation for OBDII communication.
  • 2010: Finally, OBDII became mandatory in the US for heavy-duty vehicles.

OBDII History: Tracing the evolution of On-Board Diagnostics for emission control and vehicle data access.

OBDII Timeline: A visual overview of the history of On-Board Diagnostics standardization and implementation.

OBDII Future Trends: Exploring the potential of OBDIII, remote diagnostics, and integration with cloud and IoT technologies.

The Future of OBDII: Trends and Innovations

OBDII is expected to remain relevant, but its form and function are evolving.

Here are key trends shaping the future of OBDII:

Initially designed for emissions control and testing, legislated OBDII has an interesting implication: electric vehicles (EVs) are not obligated to support OBDII in any form. This is evident as most modern EVs do not support standard OBDII requests. Instead, they often utilize OEM-specific Unified Diagnostic Services (UDS) communication. This generally restricts data access from EVs, except when decoding rules are reverse-engineered, as shown in our case studies for electric cars including Tesla, Hyundai/Kia, Nissan and VW/Skoda EVs.

Current OBDII implementations have limitations regarding data richness and underlying communication protocols. To address these, advanced alternatives like WWH-OBD (World Wide Harmonized OBD) and OBDonUDS (OBD on UDS) have emerged. These aim to improve OBD communication by using the UDS protocol as a foundation. Learn more about these protocols in our introduction to UDS.

In our increasingly connected world, traditional OBDII testing methods can seem outdated. Manual emission checks are time-consuming and costly.

The proposed solution? OBDIII – integrating telematics into all vehicles.

OBDIII envisions adding a small radio transponder to every car, similar to those used for bridge tolls. This would allow vehicles to transmit their Vehicle Identification Number (VIN) and DTCs wirelessly via WiFi to a central server for automated checks.

Many devices today already facilitate CAN or OBDII data transfer via WiFi/cellular, such as the CANedge2 WiFi CAN logger and the CANedge3 3G/4G CAN logger.

While this offers cost savings and convenience, it also raises political and privacy concerns related to surveillance.

The OBDII protocol was initially intended for stationary emissions testing.

However, today, OBDII is widely used by third parties to generate real-time vehicle data via OBDII dongles, CAN loggers and more. Interestingly, the German car industry is considering changes that could impact this:

There’s a proposal to potentially disable OBDII functionality while driving, and instead collect data on a central server controlled by manufacturers. This move would essentially place car manufacturers in control of the burgeoning ‘automotive big data’.

The rationale often cited is security, aiming to reduce the risk of car hacking. However, many perceive this as a commercially motivated strategy, as discussed in this Navixy blog post. Whether this trend gains traction remains to be seen, but it has the potential to significantly disrupt the market for third-party OBDII services.

OBDII Data Access in EVs: The trend of electric vehicles potentially limiting or blocking access to data via the OBDII connector.

Enhance Your CAN Bus Expertise

Ready to become a CAN bus expert?

Our comprehensive ‘Ultimate CAN Guide’ compiles 12 ‘simple intros’ into a 160+ page PDF:

Download now

CAN Bus - The Ultimate Guide Tutorial PDFCAN Bus – The Ultimate Guide Tutorial PDF

OBDII Standards: Laying the Foundation

On-board diagnostics, OBDII, is a higher-layer protocol – think of it as a language. CAN bus, on the other hand, is a communication method, similar to a phone line. This analogy positions OBDII alongside other CAN-based higher-layer protocols such as J1939, CANopen, and NMEA 2000.

OBDII standards define specifications for the OBDII connector, lower-layer protocols, OBDII Parameter IDs (PIDs), and more.

These standards can be visualized using a 7-layer OSI model, and in the following sections, we’ll focus on the most critical aspects.

In the OSI model overview, you’ll notice that SAE and ISO standards cover multiple layers. This reflects the standardization efforts for OBDII in the USA (SAE) and Europe (ISO). Many of these standards are technically very similar, for example, SAE J1979 compared to ISO 15031-5, and SAE J1962 compared to ISO 15031-3.

OBDII and CAN Bus in the OSI Model: Illustrating the relationship between OBDII and CAN bus within the 7-layer OSI model.

OBDII Connector Pinout: Diagram of a Type A OBDII connector socket, detailing pin assignments.

The OBDII Connector: SAE J1962 Standard

The 16-pin OBDII connector is your gateway to accessing vehicle data and is standardized under SAE J1962 / ISO 15031-3.

The illustration shows a Type A OBDII pin connector, also known as the Data Link Connector (DLC).

Key points about the OBDII connector:

  • It’s typically located near the steering wheel but may be hidden from immediate view.
  • Pin 16 provides battery power, often even when the ignition is off.
  • The OBDII pinout configuration depends on the communication protocol used.
  • CAN bus is the most prevalent lower-layer protocol, meaning pins 6 (CAN-H) and 14 (CAN-L) are usually connected.

OBDII Connector Types: A vs. B

You may encounter both Type A and Type B OBDII connectors in practice. Type A is generally found in cars, while Type B is more common in medium and heavy-duty vehicles.

While both types share similar OBDII pinouts, they differ in power supply outputs (12V for Type A and 24V for Type B). Baud rates can also vary, with cars typically using 500K and heavy-duty vehicles often using 250K (with increasing support for 500K).

Visually, Type B OBDII connectors have an interrupted groove in the middle, distinguishing them from Type A. A Type B OBDII adapter cable is compatible with both Type A and B sockets, whereas a Type A adapter will not fit into a Type B socket.

OBDII Connector Types A and B: Comparing Type A and Type B OBDII connectors, highlighting differences in voltage and application.

OBDII and CAN Bus Relationship: Illustrating how OBDII protocols are implemented over CAN bus according to ISO 15765 standards.

OBDII and CAN Bus Integration: ISO 15765-4

Since 2008, CAN bus has been the mandated lower-layer protocol for OBDII in all US-sold vehicles, according to ISO 15765.

ISO 15765-4, also known as Diagnostics over CAN (DoCAN), outlines specific constraints applied to the CAN standard (ISO 11898).

It standardizes the CAN interface for diagnostic equipment, focusing on the physical, data link, and network layers:

  • CAN bus bit-rate must be either 250K or 500K.
  • CAN IDs can be 11-bit or 29-bit.
  • Specific CAN IDs are designated for OBDII requests and responses.
  • Diagnostic CAN frame data length is fixed at 8 bytes.
  • The OBDII adapter cable must have a maximum length of 5 meters.

OBDII CAN Identifiers: 11-bit and 29-bit

OBDII communication relies on request/response message exchanges.

In most cars, 11-bit CAN IDs are used for OBDII communication. The ‘Functional Addressing’ ID is 0x7DF, used to query all OBDII-compatible ECUs for data on a requested parameter (as per ISO 15765-4). CAN IDs ranging from 0x7E0 to 0x7E7 are used for ‘Physical Addressing’ requests directed to specific ECUs, though less common.

ECUs respond using 11-bit IDs from 0x7E8 to 0x7EF. The most frequent response ID is 0x7E8 (ECM, Engine Control Module), and to a lesser extent, 0x7E9 (TCM, Transmission Control Module).

In certain vehicles, particularly vans and medium to heavy-duty vehicles, OBDII communication may utilize extended 29-bit CAN identifiers instead of 11-bit IDs.

Here, the ‘Functional Addressing’ CAN ID is 0x18DB33F1.

Responses in this 29-bit system use CAN IDs ranging from 0x18DAF100 to 0x18DAF1FF (typically 18DAF110 and 18DAF11E). The response ID is sometimes represented in the ‘J1939 PGN’ format, specifically PGN 0xDA00 (55808), which is designated as ‘Reserved for ISO 15765-2’ in the J1939-71 standard.

OBDII Request and Response Frames: Illustrating the structure of OBDII communication frames, including request and response PIDs.

OBD2 OBD CAN bus Identifiers 7DF 7E8 7E0OBD2 OBD CAN bus Identifiers 7DF 7E8 7E0

OBDII vs. Proprietary CAN Bus Protocols: Contrasting standardized OBDII protocols with OEM-specific proprietary CAN bus protocols.

OBDII vs. Proprietary CAN Protocols: Understanding the Difference

It’s crucial to understand that your car’s Electronic Control Units (ECUs) operate using OEM-specific proprietary CAN protocols, independently of OBDII. Each Original Equipment Manufacturer (OEM) develops their own unique CAN protocols, often specific to vehicle brand, model, and year. Without OEM documentation or reverse engineering, interpreting this proprietary CAN data is typically not possible.

Connecting a CAN bus data logger to your car’s OBDII connector may capture OEM-specific CAN data, usually broadcast at high rates (1000-2000 frames/second). However, many newer vehicles employ a ‘gateway’ that restricts access to this CAN data through the OBDII connector, allowing only OBDII communication.

In essence, think of OBDII as a supplementary, higher-layer protocol existing alongside the OEM-specific protocol.

Bit-rate and ID Validation: Ensuring Correct Communication

As mentioned, OBDII can use two bit-rates (250K, 500K) and two CAN ID lengths (11-bit, 29-bit), resulting in four potential combinations. Modern cars commonly use 500K and 11-bit IDs, but external tools should systematically verify this.

ISO 15765-4 provides guidelines for an initialization sequence to determine the correct combination. This method relies on the fact that OBDII-compliant vehicles must respond to a specific mandatory OBDII request (see the OBDII PID section for details) and that incorrect bit-rates will cause CAN error frames.

Newer ISO 15765-4 versions consider that vehicles may support OBD communication via OBDonUDS rather than OBDonEDS. This article primarily focuses on OBDII/OBDonEDS (OBD on Emission Diagnostic Service as per ISO 15031-5/SAE J1979) versus WWH-OBD/OBDonUDS (OBD on Unified Diagnostic Service as per ISO 14229, ISO 27145-3/SAE J1979-2).

To differentiate between OBDonEDS and OBDonUDS protocols, testing tools may send additional UDS requests with 11-bit/29-bit functional address IDs for service 0x22 and Data Identifier (DID) 0xF810 (protocol identification). Vehicles supporting OBDonUDS should have ECUs that respond to this DID.

In practice, OBDonEDS (also known as OBDII, SAE OBD, EOBD, or ISO OBD) is prevalent in most non-EV cars today, while WWH-OBD is mainly used in EU trucks and buses.

OBDII Bit-rate and CAN ID Validation Flowchart: Step-by-step process for validating OBDII bit-rate and CAN ID configurations according to ISO 15765-4.

OBDII Lower-Layer Protocols: Overview of the five primary lower-layer protocols used in OBDII, including CAN (ISO 15765), KWP2000, SAE J1850, and ISO 9141.

Five Lower-Layer OBDII Protocols: A Historical Perspective

While CAN (ISO 15765) is now the dominant lower-layer protocol for OBDII, especially in vehicles from 2008 onwards, older cars may utilize other protocols. Understanding these can be helpful when working with pre-2008 vehicles. Pinout inspection can sometimes indicate the protocol in use.

  • ISO 15765 (CAN bus): Mandatory in US cars since 2008 and widely used today.
  • ISO 14230-4 (KWP2000): Keyword Protocol 2000, common in 2003+ cars, particularly in Asia.
  • ISO 9141-2: Used in EU, Chrysler, and Asian cars around 2000-2004.
  • SAE J1850 (VPW): Predominantly used in older GM vehicles.
  • SAE J1850 (PWM): Primarily used in older Ford vehicles.

ISO-TP: Transporting OBDII Messages Beyond 8 Bytes (ISO 15765-2)

All OBDII data communication over CAN bus relies on ISO-TP (ISO 15765-2), a transport protocol. This protocol enables the transmission of payloads larger than the 8-byte CAN frame limit. ISO-TP is essential in OBDII for tasks like retrieving the Vehicle Identification Number (VIN) or Diagnostic Trouble Codes (DTCs). It manages segmentation, flow control, and reassembly of larger messages. For a deeper dive, refer to our introduction to UDS.

However, much OBDII data fits within a single CAN frame. In these cases, ISO 15765-2 specifies the use of a ‘Single Frame’ (SF). The first data byte (PCI field) indicates the payload length (excluding padding), leaving 7 bytes for OBDII-related communication.

ISO-TP Frame Types in OBDII: Illustrating different ISO-TP frame types used in OBDII communication, including Single Frame, First Frame, Consecutive Frame, and Flow Control Frame.

Decoding the OBDII Diagnostic Message: SAE J1979, ISO 15031-5

To effectively understand OBDII data meaning within CAN communication, let’s examine a simplified ‘Single Frame’ OBDII CAN message. An OBDII message comprises an identifier, data length (PCI field), and data. The data itself is structured into Mode, Parameter ID (PID), and data bytes.

OBDII Message Structure Breakdown: Deconstructing an OBDII message to show the arrangement of Mode, PID, and data bytes within a CAN frame.

Example: OBDII Request and Response in Action

Consider this practical example of requesting and receiving ‘Vehicle Speed’ data.

An external tool sends a request message to the car using CAN ID 0x7DF, with 2 payload bytes: Mode 0x01 and PID 0x0D. The car responds using CAN ID 0x7E8 with 3 payload bytes, including the Vehicle Speed value in the 4th byte, 0x32 (50 in decimal).

By consulting the OBDII PID decoding rules for PID 0x0D, we can determine that the physical value is 50 km/h.

Let’s now delve deeper into OBDII modes and PIDs to understand how to interpret OBDII data meaning.

OBDII Request and Response Example: Vehicle Speed: Showing a CAN bus trace example of an OBDII request (ID 7DF) for vehicle speed and the corresponding response (ID 7E8).

OBDII PID Example: Vehicle Speed (PID 0D): Detailed look at OBDII PID 0D, illustrating how vehicle speed data is encoded and interpreted.

OBDII Services (Modes): Overview of the 10 standardized OBDII service modes, including current data, freeze frame, and DTC clearing.

The 10 OBDII Services (Modes): Accessing Diagnostic Information

OBDII provides 10 diagnostic services, also known as modes. Mode 0x01 is used to retrieve current real-time data, while other modes are used to access and clear Diagnostic Trouble Codes (DTCs) or view freeze frame data.

Vehicles are not required to support all 10 OBDII modes and may also implement OEM-specific modes beyond the standardized set.

In OBDII messages, the mode is specified in the second byte. In a request, the mode is included directly (e.g., 0x01), while in the response, 0x40 is added to the mode value (e.g., resulting in 0x41).

OBDII Parameter IDs (PIDs): Identifying Specific Data Points

Within each OBDII mode, Parameter IDs (PIDs) are used to request specific data.

For example, Mode 0x01 includes approximately 200 standardized PIDs that provide real-time data on parameters like speed, RPM, and fuel level. However, vehicles are not obligated to support all PIDs within a mode, and most vehicles typically support only a subset.

One PID holds a special significance:

If an emissions-related ECU supports any OBDII services, it must support Mode 0x01 PID 0x00. In response to PID 0x00, the vehicle ECU reports which PIDs within the range 0x01-0x20 it supports. This makes PID 0x00 a fundamental tool for ‘OBDII compatibility testing’. Similarly, PIDs 0x20, 0x40, …, 0xC0 can be used to determine support for the remaining Mode 0x01 PIDs in ranges 0x21-0x40, 0x41-0x60 and so on.

OBDII Request and Response Parameters: Detailed view of OBDII request and response frames, emphasizing the role of PIDs in parameter identification.

OBD2 PID overview toolOBD2 PID overview tool
OBDII PID Overview Tool: Screenshot of an OBDII PID overview tool, showing how to access and interpret service 01 data.

Tip: Utilizing an OBDII PID Overview Tool

The appendices of SAE J1979 and ISO 15031-5 contain scaling information for standard OBDII PIDs, which is essential for converting raw data into meaningful physical values, as explained in our CAN bus introduction.

For quick lookup of Mode 0x01 PIDs, our OBDII PID overview tool is invaluable. It aids in constructing OBDII request frames and dynamically decoding OBDII responses, simplifying the process of understanding OBDII data meaning.

OBDII PID overview tool

Practical Guide: Logging and Decoding OBDII Data

This section demonstrates how to log OBDII data using the CANedge CAN bus data logger, providing a hands-on approach to understanding OBDII data meaning.

The CANedge allows configuration of custom CAN frames for transmission, making it ideal for OBDII logging.

Once configured, the CANedge can be easily connected to your vehicle using our OBDII-DB9 adapter cable.

OBDII Data Logger Setup: Illustrating the setup for OBDII data logging, showing the connection and request/response flow with a data logger.

OBD2 bit rate testOBD2 bit rate test
OBDII Bit-rate Validation Test: Example of validating OBDII bit-rate by sending a CAN frame and checking for successful transmission.

OBD2 Supported PIDs TestOBD2 Supported PIDs Test
OBDII Supported PIDs Test Responses: Screenshot from asammdf software showing responses to ‘Supported PIDs’ requests, used to determine vehicle compatibility.

Review supported PIDs via OBD2 lookup toolReview supported PIDs via OBD2 lookup tool

Step #1: Bit-rate, ID, and Supported PID Testing

As discussed, ISO 15765-4 outlines how to determine the bit-rate and IDs used by a specific vehicle. You can perform these tests with the CANedge as follows (see the CANedge Intro for detailed instructions):

  1. Transmit a CAN frame at 500K and verify successful transmission (if unsuccessful, try 250K).
  2. Use the identified bit-rate for subsequent communication.
  3. Send multiple ‘Supported PIDs’ requests and analyze the responses.
  4. Determine 11-bit or 29-bit CAN IDs based on response IDs.
  5. Identify supported PIDs based on response data.

We provide plug-and-play configurations to simplify these tests.

Most non-EV cars manufactured in 2008 or later support 40-80 PIDs using a 500K bit-rate, 11-bit CAN IDs, and the OBDII/OBDonEDS protocol.

As shown in the asammdf GUI screenshot, multiple responses to a single OBDII request are common. This is because using the 0x7DF request ID polls all ECUs for a response. Since all OBDII/OBDonEDS-compliant ECUs must support service 0x01 PID 0x00, numerous responses to this PID are frequently observed. As evident, subsequent ‘Supported PIDs’ requests receive fewer ECU responses. Notably, the ECM ECU (0x7E8) supports all PIDs supported by other ECUs in this example. Thus, busload can be reduced by directing subsequent requests specifically to the ECM using the ‘Physical Addressing’ CAN ID 0x7E0.

Step #2: Configuring OBDII PID Requests for Logging

After identifying your vehicle’s supported OBDII PIDs, bit-rate, and CAN IDs, you can configure your transmit list to request the PIDs of interest for logging.

Consider these factors when configuring your OBDII PID requests:

  • CAN IDs: Switch to ‘Physical Addressing’ request IDs (e.g., 0x7E0) to minimize multiple responses per request.
  • Spacing: Introduce a delay of 300-500 ms between OBDII requests to prevent overwhelming ECUs.
  • Battery Drain: Use triggers to halt transmissions when the vehicle is inactive to avoid unnecessary battery drain.
  • Filters: Implement filters to record only OBDII responses, especially if OEM-specific CAN data is also present.

Once configured, your CANedge is ready to log raw OBDII data, capturing valuable insights into OBDII data meaning!

obd2-transmit-list-example-canedgeobd2-transmit-list-example-canedge
CANedge OBDII Transmit List Example: Example configuration of an OBDII PID request transmit list for a CANedge data logger.

OBD2 data decoded visual plot asammdf CAN bus DBC fileOBD2 data decoded visual plot asammdf CAN bus DBC file
OBDII Data Visualization in asammdf: Example of decoded and visualized OBDII data using asammdf software with a CAN bus DBC file.

Step #3: DBC Decoding of Raw OBDII Data for Analysis

To analyze and visualize logged OBDII data effectively, you need to decode the raw data into ‘physical values’ (e.g., km/h, °C).

Decoding information is available in ISO 15031-5/SAE J1979 and online resources like Wikipedia. We offer a free OBDII DBC file to simplify DBC decoding of raw OBDII data in most CAN bus software tools. This is crucial for understanding OBDII data meaning in practical terms.

Decoding OBDII data is more complex than standard CAN signal decoding because different OBDII PIDs are transmitted using the same CAN ID (e.g., 0x7E8). Therefore, the CAN ID alone is insufficient to identify the signals within the payload.

To address this, you must use the CAN ID, OBDII mode, and OBDII PID to uniquely identify each signal. This multiplexing technique, known as ‘extended multiplexing‘, can be implemented in DBC files.

CANedge: Your OBDII Data Logging Solution

The CANedge provides a user-friendly solution for recording OBDII data directly to an 8-32 GB SD card. Simply connect it to your vehicle to start logging and decode the data using free software/APIs and our OBDII DBC.

OBDII logger intro
CANedge

OBDII Multi-Frame Communication Examples: ISO-TP in Action

OBDII communication leverages ISO-TP (ISO 15765-2) for all data exchange. While most examples so far have been single-frame, multi-frame communication is necessary for larger data sets.

Multi-frame OBDII communication requires flow control frames (see our UDS intro). A practical approach is to transmit a static flow control frame approximately 50 ms after the initial request frame, as demonstrated in the CANedge configuration example.

Analyzing multi-frame OBDII responses requires CAN software/API tools that support ISO-TP, such as the CANedge MF4 decoders.

OBD2-multi-frame-request-message-vehicle-identification-numberOBD2-multi-frame-request-message-vehicle-identification-number
OBDII Multi-Frame Request Example: Vehicle Identification Number (VIN): Example of an OBDII multi-frame request message used to retrieve the VIN.

Example 1: Retrieving the Vehicle Identification Number (VIN) via OBDII

The Vehicle Identification Number (VIN) is crucial for telematics, diagnostics, and more (see our introduction to UDS for further details). To retrieve the VIN using OBDII requests, you use mode 0x09 and PID 0x02:

VIN Vehicle Identification Number OBD2 Example multi-frameVIN Vehicle Identification Number OBD2 Example multi-frame

The tester tool sends a Single Frame request with the PCI field (0x02), request service identifier (0x09), and PID (0x02).

The vehicle responds with a First Frame containing the PCI, length (0x014 = 20 bytes), mode (0x49, i.e., 0x09 + 0x40), and PID (0x02). Following the PID is byte 0x01, representing the Number Of Data Items (NODI), which is 1 in this case (refer to ISO 15031-5 / SAE J1979 for details). The subsequent 17 bytes constitute the VIN and can be converted from HEX to ASCII using methods described in our UDS introduction.

Example 2: OBDII Multi-PID Request (6x)

External tools can request up to 6 Mode 0x01 OBDII PIDs in a single request frame. The ECU will respond with data for supported PIDs (omitting unsupported ones), possibly using multiple frames via ISO-TP.

This efficient feature enables higher-frequency data collection. However, the signal encoding becomes specific to your request method, making generic OBDII DBC files less useful. We generally advise against this method in practice. Below is an example trace:

Requesting multiple PIDs in one requestRequesting multiple PIDs in one request

The multi-frame response is similar to the VIN example but includes the requested PIDs and their corresponding data. PIDs in the example are ordered similarly to the request order, which is common but not strictly mandated by ISO 15031-5.

Decoding this response with generic DBC files is challenging. We do not recommend this approach for practical data logging unless using tools with specific built-in support. It involves extended multiplexing, with payload positions dependent on requested PIDs. Generalizing DBC files across vehicles with varying supported PIDs becomes difficult. Handling multiple multi-PID requests via DBC manipulations becomes nearly impossible without a method to differentiate messages.

Workarounds could involve custom scripts and recording transmit messages, allowing scripts to interpret responses based on requests. However, such approaches are difficult to scale.

Example 3: OBDII Diagnostic Trouble Codes (DTCs) – Unraveling Error Codes

OBDII mode 0x03, ‘Show stored Diagnostic Trouble Codes’, retrieves emissions-related DTCs. The request frame does not include a PID. Responding ECU(s) report the number of stored DTCs (potentially zero), with each DTC occupying 2 data bytes. Multi-frame responses are necessary if more than 2 DTCs are stored.

The 2-byte DTC value is typically divided as per ISO 15031-5/ISO 15031-6. The first 2 bits define the ‘category’, and the remaining 14 bits form a 4-digit hexadecimal code. Decoded DTC values can be looked up using OBDII DTC lookup tools like repairpal.com, providing crucial OBDII data meaning for troubleshooting.

The example below shows a request to an ECU with 6 stored DTCs.

OBDII DTC Decoding Example: Illustrating how to interpret and decode Diagnostic Trouble Codes (DTCs) from OBDII data.

OBD2 Diagnostic Trouble Codes DTC CAN Bus Request Response ExampleOBD2 Diagnostic Trouble Codes DTC CAN Bus Request Response Example

Real-World Applications: OBDII Data Logging Use Cases

OBDII data from cars and light trucks has diverse applications:

Car Data Logging: Optimizing Performance and Efficiency

OBDII data logging in cars can be used to reduce fuel consumption, improve driving habits, test prototype components, and for insurance purposes. Understanding OBDII data meaning in these contexts can lead to significant savings and improvements.

obd2 logger

Real-Time Car Diagnostics: Immediate Vehicle Health Insights

OBDII interfaces enable real-time streaming of human-readable OBDII data, facilitating immediate diagnosis of vehicle issues. This real-time OBDII data meaning is invaluable for mechanics and car enthusiasts alike.

obd2 streaming

Predictive Maintenance: Anticipating and Preventing Breakdowns

IoT-enabled OBDII loggers in the cloud allow continuous monitoring of cars and light trucks, enabling predictive maintenance to anticipate and prevent breakdowns. Analyzing OBDII data meaning in the cloud can identify patterns indicative of potential failures.

predictive maintenance

Vehicle Black Box Logging: Data for Insurance and Diagnostics

An OBDII logger can function as a ‘black box’ for vehicles or equipment, providing crucial data for dispute resolution, accident analysis, and in-depth diagnostics. The recorded OBDII data meaning becomes a valuable asset in these scenarios.

can bus blackbox

Do you have an OBDII data logging application in mind? Contact us for a free consultation!

Contact us

Explore more introductory guides in our tutorials section or download the comprehensive ‘Ultimate Guide’ PDF.

Need to log or stream OBDII data?

Acquire your OBDII data logger today!

Buy now
Contact us

Further Reading Recommendations

OBDII DATA LOGGER: EASILY LOG & CONVERT OBDII DATA

CANedge2 - Dual CAN Bus Telematics DongleCANedge2 – Dual CAN Bus Telematics Dongle
CANEDGE2 – PRO CAN IoT LOGGER

CAN BUS INTERFACE: STREAMING OBDII DATA WITH SAVVYCAN

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply

Your email address will not be published. Required fields are marked *