PDF icon
PDF icon

OBD2 Explained: Your Practical Guide to On-Board Diagnostics [2025]

Looking for a straightforward and practical introduction to OBD2?

This guide provides a simple explanation of the On-Board Diagnostics (OBD2) protocol, including the OBD2 connector, OBD2 Parameter IDs (PIDs), and its connection to the CAN bus.

Note: This is designed as a practical introduction, so you’ll also learn how to request and decode OBD2 data, understand key logging applications, and get useful tips.

Discover why this is considered the top OBD2 tutorial below.

You can also watch our OBD2 introductory video above – or download the PDF guide.

Article Contents

Author: Martin Falch (Updated January 2025)

Download as PDF

What is OBD2?

OBD2 is your car’s built-in diagnostic system. It’s a standardized protocol that enables the extraction of diagnostic trouble codes (DTCs) and real-time data through the OBD2 connector.

You’ve likely encountered OBD2 before:

Have you ever seen the check engine light illuminate on your dashboard?

That’s your vehicle signaling a problem. When you take your car to a mechanic, they use an OBD2 scanner to identify the issue.

To do this, the mechanic connects the OBD2 reader to the OBD2 16-pin connector, usually located near the steering wheel. The tool sends ‘OBD2 requests’ to the car, and the car responds with ‘OBD2 responses’. These responses can include data like speed, fuel level, or Diagnostic Trouble Codes (DTCs), which speeds up the troubleshooting process.

Image alt text: Malfunction Indicator Light (MIL) on a car dashboard, indicating an OBD2 system issue.

Is My Car OBD2 Compatible?

In short: Most likely!

Nearly all modern non-electric vehicles are OBD2 compliant, and many operate on the CAN bus system. For older vehicles, even if a 16-pin OBD2 connector is present, it might not actually support OBD2. A key factor in determining compliance is where and when your car was originally purchased:


Image alt text: Chart showing OBD2 compliance dates for vehicles in the EU and US, based on vehicle type and purchase year.

OBD2: A Brief History

OBD2’s origins are in California, where the California Air Resources Board (CARB) mandated OBD in all new vehicles starting in 1991 for emissions control.

The Society of Automotive Engineers (SAE) recommended the OBD2 standard, which standardized DTCs and the OBD connector across different manufacturers (SAE J1962).

The OBD2 standard was implemented gradually:

  • 1996: OBD2 became mandatory in the USA for cars and light trucks.
  • 2001: Required in the EU for gasoline vehicles.
  • 2003: Required in the EU for diesel vehicles as well (EOBD).
  • 2005: OBD2 required in the US for medium-duty vehicles.
  • 2008: US vehicles must use ISO 15765-4 (CAN) as the foundation for OBD2.
  • 2010: OBD2 became mandatory in US heavy-duty vehicles.

Image alt text: Graphic illustrating OBD2 history related to emission control and data transfer via CAN bus.

Image alt text: Timeline visualization of OBD2 history and milestones in on-board diagnostics development.

Image alt text: Conceptual image of OBD3 future trends, including remote diagnostics, emissions testing, cloud connectivity, and IoT.

The Future of OBD2

OBD2 is set to remain relevant, but its form is evolving.

Here are some key trends:

Originally designed for emissions control and testing, legislated OBD2 has a notable exception: electric vehicles. Electric vehicles are not mandated to support OBD2 in any form. In practice, most modern EVs do not support standard OBD2 requests. Instead, they often use OEM-specific UDS communication. Decoding data from these EVs is generally challenging unless decoding rules are reverse-engineered. However, there are successful cases of reverse engineering, as seen in studies for electric cars like Tesla, Hyundai/Kia, Nissan, and VW/Skoda EVs.

OBD2 implementations vary and have limitations, especially concerning data richness and lower-layer protocols. Modern alternatives like WWH-OBD (World Wide Harmonized OBD) and OBDonUDS (OBD on UDS) are being developed to address these issues. These aim to improve OBD communication by using the UDS protocol as a base. For more information, see our introduction to UDS.

In today’s connected vehicle landscape, traditional OBD2 testing methods can seem outdated. Manual emission control checks are time-consuming and costly.

The solution? OBD3 – integrating telematics into all vehicles.

OBD3 proposes adding a small radio transponder (similar to those used for bridge tolls) to all cars. This would allow the car’s vehicle identification number (VIN) and DTCs to be transmitted via WiFi to a central server for automated checks.

Many current devices already support CAN or OBD2 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 presents political challenges related to surveillance and data privacy.

The OBD2 protocol was initially designed for stationary emissions testing.

However, today, third parties extensively use OBD2 to generate real-time data through OBD2 dongles, CAN loggers, etc. However, the German automotive industry is seeking to change this:

OBD was intended for vehicle servicing in repair shops and “not intended to allow third parties to build a form of data-driven economy on the access through this interface

– Christoph Grote, SVP Electronics, BMW (2017)

The proposal is to disable OBD2 functionality while driving and instead collect data on a central server. This would essentially give manufacturers control over the ‘automotive big data’.

The rationale is based on security concerns (e.g., reducing the risk of car hacking), though many view it as a commercial strategy. Whether this trend gains traction remains to be seen, but it could significantly disrupt the market for third-party OBD2 services.

Image alt text: Graphic depicting the removal of the OBD2 connector in electric vehicles, symbolizing restricted data access.

Get Our ‘Ultimate CAN Guide’

Want to become proficient in CAN bus technology?

Access our 12 ‘simple introductions’ compiled into a comprehensive 160+ page PDF:

Download now

OBD2 Standards Explained

On-board diagnostics, OBD2, is a higher-layer protocol (like a language). CAN is a communication method (like a telephone line). This makes OBD2 comparable to other CAN-based higher-layer protocols such as J1939, CANopen, and NMEA 2000.

Specifically, OBD2 standards define the OBD2 connector, lower-layer protocols, OBD2 Parameter IDs (PIDs), and more.

These standards can be organized using a 7-layer OSI model. The following sections will focus on the most important aspects.

In the OSI model, you’ll notice that both SAE and ISO standards cover several layers. This generally reflects the standards for OBD defined in the USA (SAE) and the EU (ISO). Many standards are technically very similar, for example, SAE J1979 versus ISO 15031-5 and SAE J1962 versus ISO 15031-3.

Image alt text: OSI 7-layer model diagram comparing OBD2 and CAN Bus standards, highlighting ISO 15765 and ISO 11898.

Image alt text: OBD2 connector pinout diagram, female socket, Type A DLC (Data Link Connector).

The OBD2 Connector [SAE J1962]

The 16-pin OBD2 connector provides easy access to vehicle data and is specified in the SAE J1962 / ISO 15031-3 standard.

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

Key points to note:

  • The connector is usually near the steering wheel but can be hidden.
  • Pin 16 provides battery power (often even when the ignition is off).
  • The OBD2 pinout varies based on the communication protocol used.
  • CAN bus is the most common lower-layer protocol, meaning pins 6 (CAN-H) and 14 (CAN-L) are typically connected.

OBD2 Connector Types: A vs. B

You might encounter both Type A and Type B OBD2 connectors. Type A is commonly found in cars, while Type B is typical in medium and heavy-duty vehicles.

As shown, both types have similar OBD2 pinouts but 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 newer support for 500K).

Type B OBD2 connectors have a distinguishing interrupted groove in the middle, making it physically different. A Type B OBD2 adapter cable is compatible with both Type A and Type B sockets, but a Type A adapter will not fit into a Type B socket.

Image alt text: Comparison diagram of OBD2 Connector Type A and Type B, highlighting differences in voltage (12V vs 24V) and vehicle types.

Image alt text: Diagram illustrating the relationship between OBD2 and CAN bus within the ISO15765 standard.

OBD2 and CAN Bus [ISO 15765-4]

Since 2008, CAN bus has been mandatory as the lower-layer protocol for OBD2 in all US cars, according to ISO 15765.

ISO 15765-4 (also known as Diagnostics over CAN or DoCAN) specifies restrictions applied to the CAN standard (ISO 11898).

It standardizes the CAN interface for test 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 used for OBD requests and responses.
  • Diagnostic CAN frame data length must be 8 bytes.
  • OBD2 adapter cable must be max 5 meters long.

OBD2 CAN Identifiers (11-bit, 29-bit)

OBD2 communication always involves request/response message pairs.

Most cars use 11-bit CAN IDs for OBD2 communication. The ‘Functional Addressing’ ID here is 0x7DF. This ID is used to ask all OBD2-compatible ECUs if they have data to report for the requested parameter (as per ISO 15765-4). CAN IDs 0x7E0-0x7E7 can be used for ‘Physical Addressing’ requests directed to specific ECUs (less common).

ECUs can respond with 11-bit IDs ranging 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 some vehicles, particularly vans and light/medium/heavy-duty vehicles, OBD2 communication may use extended 29-bit CAN identifiers instead of 11-bit IDs.

In this case, the ‘Functional Addressing’ CAN ID is 0x18DB33F1.

Vehicle responses will use CAN IDs from 0x18DAF100 to 0x18DAF1FF (typically 18DAF110 and 18DAF11E). The response ID is sometimes presented in the ‘J1939 PGN’ format, specifically PGN 0xDA00 (55808), which is marked as ‘Reserved for ISO 15765-2’ in the J1939-71 standard.

Image alt text: Diagram showing OBD2 protocol request and response frames with PID data and parameters.

Image alt text: Illustration comparing OBD2 CAN bus data with OEM-specific proprietary CAN bus data.

OBD2 vs. Proprietary CAN Protocols

It’s important to understand that your vehicle’s Electronic Control Units (ECUs) do not rely on OBD2 for their primary functions. Each Original Equipment Manufacturer (OEM) uses their own proprietary CAN protocols for vehicle operation. These CAN protocols are often specific to the vehicle brand, model, and year. Unless you are the OEM, interpreting this proprietary data is usually not possible (unless you can reverse engineer it).

If you connect a CAN bus data logger to your car’s OBD2 connector, you might see the OEM-specific CAN data, typically broadcast at 1000-2000 frames/second. However, many newer vehicles have a ‘gateway’ that blocks access to this CAN data, only allowing OBD2 communication through the OBD2 connector.

In essence, think of OBD2 as an ‘additional’ higher-layer protocol operating in parallel with the OEM-specific protocol.

Bit-rate and ID Validation

As mentioned, OBD2 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 a systematic initialization sequence to determine the correct combination. This method relies on the fact that OBD2-compliant vehicles must respond to a specific mandatory OBD2 request (see the OBD2 PID section for details) and that incorrect bit-rate transmissions will cause CAN error frames.

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

To test for OBDonEDS vs. OBDonUDS, a test tool might 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 OBD2, 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.

Image alt text: Flowchart illustrating the OBD2 bit-rate and CAN ID validation process according to ISO 15765-4.

Image alt text: Diagram showing the five lower-layer OBD2 protocols: CAN (ISO 15765), KWP2000, SAE J1850, ISO 9141.

Five Lower-Layer OBD2 Protocols

Today, CAN (ISO 15765) is the primary lower-layer protocol for OBD2 in most vehicles.

However, when working with older vehicles (pre-2008), it’s helpful to know the other four lower-layer protocols that have been used for OBD2. The pinouts can also help identify which protocol might be in use in your vehicle.

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

Transporting OBD2 Messages via ISO-TP [ISO 15765-2]

All OBD2 data communication over CAN bus uses a transport protocol called ISO-TP (ISO 15765-2). This allows for payloads larger than 8 bytes, which is necessary for OBD2 operations like retrieving the Vehicle Identification Number (VIN) or Diagnostic Trouble Codes (DTCs). ISO 15765-2 handles segmentation, flow control, and reassembly of these larger messages. For more details, refer to our introduction to UDS.

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

Image alt text: Diagram showing ISO 15765-2 ISO-TP OBD2 frame types, including Single Frame, First Frame, Consecutive Frame, and Flow Control Frame.

The OBD2 Diagnostic Message [SAE J1979, ISO 15031-5]

To understand OBD2 on CAN better, let’s examine a raw ‘Single Frame’ OBD2 CAN message. In simple terms, an OBD2 message consists of an identifier, data length (PCI field), and data. The data is structured into Mode, Parameter ID (PID), and data bytes.

Image alt text: Breakdown of the OBD2 message structure, explaining the components of Mode, PID, and Data Bytes.

Example: OBD2 Request/Response

Before detailing each part of the OBD2 message, consider this example of a request/response for ‘Vehicle Speed’.

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

Looking up the decoding rules for OBD2 PID 0x0D, we find that the physical value is 50 km/h.

Next, we will explore OBD2 modes and PIDs in more detail.

Image alt text: Example of OBD2 request and response CAN frames (7DF request, 7E8 response) for Vehicle Speed PID.

Image alt text: Example of OBD2 PID 0D (Vehicle Speed) request and response data bytes.

Image alt text: Diagram illustrating the 10 OBD2 service modes (or modes), including current data, freeze frame, and clear DTC.

The 10 OBD2 Services (Modes)

There are 10 standard OBD2 diagnostic services, often referred to as modes. Mode 0x01 is used for real-time data, while others are used to display or clear diagnostic trouble codes (DTCs) and show freeze frame data.

Vehicles are not required to support all 10 OBD2 modes, and they may also support additional OEM-specific modes beyond these standardized ones.

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

OBD2 Parameter IDs (PIDs)

Each OBD2 mode includes Parameter IDs (PIDs).

For example, mode 0x01 contains approximately 200 standardized PIDs that provide real-time data on parameters like speed, RPM, and fuel level. However, a vehicle does not have to support all PIDs within a mode. In practice, most vehicles only support a subset of these PIDs.

One PID is particularly important.

If an emissions-related ECU supports any OBD2 services, then it must support mode 0x01 PID 0x00. In response to this PID, the vehicle ECU reports which PIDs from 0x01-0x20 it supports. This makes PID 0x00 a fundamental ‘OBD2 compatibility test’. Similarly, PIDs 0x20, 0x40, …, 0xC0 can be used to determine support for the remaining mode 0x01 PIDs.

Image alt text: Reiteration of the OBD2 protocol request and response frame diagram, emphasizing PID data parameters.


Image alt text: Screenshot of an OBD2 PID overview tool showing Service 01 parameters and data.

Tip: OBD2 PID Overview Tool

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

For quick lookup of mode 0x01 PIDs, use our OBD2 PID overview tool. It helps you construct OBD2 request frames and dynamically decode OBD2 responses.

OBD2 PID overview tool

How to Log and Decode OBD2 Data

This section provides a practical example of logging OBD2 data using the CANedge CAN bus data logger.

The CANedge allows configuration of custom CAN frames for transmission, making it suitable for OBD2 logging.

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

What to do if your OBD2 port is already in use? In scenarios where your OBD2 port is occupied, for example, by a permanent tracking device, you might consider using an OBD2 splitter or extension cable. These tools allow you to connect multiple devices to a single OBD2 port. However, ensure that the splitter is of high quality to maintain signal integrity and avoid potential communication issues. Be mindful of potential power draw if multiple devices are used simultaneously and consult your vehicle’s documentation for any recommendations or warnings.

Image alt text: Diagram showing OBD2 PID data logger request and response flow (7DF request, 7E8 response).


Image alt text: Screenshot showing bit-rate validation for OBD2 communication, confirming successful CAN frame transmission at 500K.


Image alt text: asammdf GUI screenshot displaying OBD validation PID test responses, used for reviewing supported PIDs.

#1: Test Bit-rate, IDs & Supported PIDs

As discussed, ISO 15765-4 outlines how to identify the bit-rate and IDs used by a specific vehicle. You can use the CANedge for this testing process (see the CANedge Introduction for details):

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

We provide ready-to-use configurations to perform these tests.

Most non-EV vehicles from 2008 onwards support 40-80 PIDs via 500K bit-rate, 11-bit CAN IDs, and the OBD2/OBDonEDS protocol.

As shown in the asammdf GUI screenshot, multiple responses to a single OBD request are common. This is because we use the 0x7DF request ID, which polls all ECUs for a response. Since all OBD2/OBDonEDS-compliant ECUs must support service 0x01 PID 0x00, there are often numerous responses, especially to this PID. For subsequent ‘Supported PIDs’ requests, fewer ECUs typically respond. Notice also that the ECM ECU (0x7E8) in the example supports all PIDs supported by other ECUs, meaning bus load can be reduced by specifically requesting responses only from this ECU using the ‘Physical Addressing’ CAN ID 0x7E0 for future communication.

#2: Configure OBD2 PID Requests

Once you know which OBD2 PIDs your vehicle supports, and the correct bit-rate and CAN IDs, you can configure your transmit list with the PIDs you are interested in logging.

Consider these points when configuring:

  • CAN IDs: Switch to ‘Physical Addressing’ request IDs (e.g., 0x7E0) to avoid multiple responses per request.
  • Spacing: Add 300-500 ms intervals between OBD2 requests (excessive requests can cause ECUs to stop responding).
  • Battery Drain: Use triggers to stop transmissions when the vehicle is inactive (to prevent ‘waking up’ ECUs unnecessarily).
  • Filters: Add filters to record only OBD2 responses (especially if your vehicle also outputs OEM-specific CAN data).

Once configured, your device is set to log raw OBD2 data!


Image alt text: Example configuration of an OBD2 PID request transmit list for CANedge data logger.


Image alt text: asammdf software showing OBD2 data visually plotted after DBC decoding from a CAN bus log file.

#3: DBC Decode Raw OBD2 Data

Finally, to analyze and visualize your data, you need to decode the raw OBD2 data into ‘physical values’ (like km/h or °C).

The necessary decoding information is found in ISO 15031-5/SAE J1979 (and resources like Wikipedia). For convenience, we offer a free OBD2 DBC file that simplifies DBC decoding of raw OBD2 data in most CAN bus software tools.

Decoding OBD2 data is more complex than regular CAN signals because different OBD2 PIDs are transmitted using the same CAN ID (e.g., 0x7E8). Thus, the CAN ID alone isn’t enough to identify the signals in the payload.

To resolve this, you must use the CAN ID, OBD2 mode, and OBD2 PID to uniquely identify each signal. This is a form of multiplexing called ‘extended multiplexing,’ which can be implemented using DBC files.

CANedge: Your OBD2 Data Logger

The CANedge simplifies OBD2 data recording to an 8-32 GB SD card. Just connect it to a car or truck to start logging, and then decode the data using free software/APIs and our OBD2 DBC.

OBD2 logger intro CANedge

OBD2 Multi-Frame Examples [ISO-TP]

All OBD2 data communication uses the ISO-TP (transport protocol) as per ISO 15765-2. Most examples so far have been single-frame communication. This section provides multi-frame communication examples.

Multi-frame OBD2 communication requires flow control frames (see our UDS introduction). In practice, this can be done by sending a static flow control frame about 50 ms after the initial request frame, as shown in the CANedge configuration example.

Furthermore, multi-frame OBD2 responses require CAN software/API tools that support ISO-TP, like the CANedge MF4 decoders.


Image alt text: Example of an OBD2 multi-frame request message for Vehicle Identification Number (VIN).

Example 1: OBD2 Vehicle Identification Number (VIN)

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

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, which is 0x09 + 0x40), and PID (0x02). Following the PID is byte 0x01, representing the Number Of Data Items (NODI), in this case, 1 (see ISO 15031-5 / SAE J1979 for more details). The remaining 17 bytes constitute the VIN and can be converted from HEX to ASCII as described in our UDS introduction.

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

External tools can request up to 6 mode 0x01 OBD2 PIDs in a single request frame. The ECU will respond with data for supported PIDs (omitting unsupported ones in the response), possibly across multiple frames as per ISO-TP.

This feature allows for higher frequency and efficiency in OBD2 data collection. However, the signal encoding becomes specific to your request method, making generic OBD2 DBC files less useful for such cases. We generally do not recommend this method for practical use. Here’s an example trace:

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

Decoding this response using generic DBC files is very challenging, so we advise against this approach for practical data logging unless you are using a tool specifically designed for this. This method involves extended multiplexing with multiple instances throughout the payload. Your DBC file would need to account for the specific payload position of each PID, making it difficult to generalize across vehicles with varying supported PIDs. Handling this becomes even more complex when sending multiple multi-PID requests, as uniquely identifying messages becomes problematic.

Workarounds might include custom scripts and recording transmit messages, enabling the script to interpret response messages in relation to request messages. However, such approaches are hard to scale.

Example 3: OBD2 Diagnostic Trouble Codes (DTCs)

You can use OBD2 to request emissions-related Diagnostic Trouble Codes (DTCs) using mode 0x03, ‘Show stored Diagnostic Trouble Codes.’ No PID is included in the request. The targeted ECU(s) will respond with the number of stored DTCs (possibly 0 if none are stored), with each DTC occupying 2 data bytes. Multi-frame responses are needed when more than 2 DTCs are stored.

The 2-byte DTC value is typically divided into two parts, as per ISO 15031-5/ISO 15031-6. The first 2 bits define the ‘category,’ and the remaining 14 bits form a 4-digit code (in hexadecimal), as illustrated. Decoded DTC values can be looked up using OBD2 DTC lookup tools like repairpal.com.

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

Image alt text: OBD2 DTC (Diagnostic Trouble Code) decoding example, showing DBC interpretation and category breakdown.

OBD2 Data Logging – Use Case Examples

OBD2 data from cars and light trucks has many applications:

Logging Data from Cars

OBD2 data from cars can be used for fuel efficiency improvement, driving behavior analysis, prototype testing, and insurance telematics.

obd2 logger

Real-Time Car Diagnostics

OBD2 interfaces can stream human-readable OBD2 data in real-time, useful for diagnosing vehicle issues.

obd2 streaming

Predictive Maintenance

Cars and light trucks can be monitored via IoT OBD2 loggers in the cloud to predict and prevent breakdowns.

predictive maintenance

Vehicle Black Box Logger

An OBD2 logger can serve as a ‘black box’ for vehicles or equipment, providing data for disputes or diagnostics.

can bus blackbox

Do you have an OBD2 data logging application? Contact us for a free consultation!

Contact us

For more introductions, see our guides section, or download the ‘Ultimate Guide’ PDF.

Need to log or stream OBD2 data?

Get your OBD2 data logger today!

Buy now Contact us

Recommended for You

OBD2 DATA LOGGER: EASILY LOG & CONVERT OBD2 DATA


CANEDGE2 – PRO CAN IoT LOGGER

CAN BUS INTERFACE: STREAMING OBD2 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 *