OBD2 Compliance by Region and Year for Vehicle Diagnostics
OBD2 Compliance by Region and Year for Vehicle Diagnostics

OBD2 Connector Diagram: Your Guide to the 16-Pin DLC

As a car repair expert at obd-de.com, I understand the importance of quickly diagnosing vehicle issues. The OBD2 connector is the gateway to your car’s onboard diagnostic system, and understanding its diagram is crucial for anyone working with modern vehicles. This guide will provide you with a comprehensive look at the Obd2 Connector Diagram, its pins, and how it facilitates communication with your car’s computer.

Understanding the OBD2 Connector

The On-Board Diagnostics II (OBD2) system is a standardized protocol that allows you to access your vehicle’s health information. At the heart of this system is the 16-pin OBD2 connector, also known as the Diagnostic Link Connector (DLC). This standardized connector is typically located within two feet of the steering wheel, though sometimes it might be tucked away under the dashboard or in the center console.

This connector is your access point for retrieving diagnostic trouble codes (DTCs), real-time sensor data, and other valuable information from your vehicle’s Engine Control Unit (ECU) and other modules. Mechanics and car enthusiasts alike use OBD2 scanners and tools that plug into this connector to diagnose problems and monitor vehicle performance.

Does Your Car Have an OBD2 Connector?

The good news is that if you own a relatively recent car, it almost certainly has an OBD2 connector. OBD2 became mandatory in the USA for cars and light trucks in 1996, for gasoline cars in the EU in 2001, and for diesel cars in the EU in 2003. For medium-duty vehicles in the US, it was required by 2005, and for heavy-duty vehicles by 2010.

However, just because your older car has a 16-pin connector doesn’t automatically mean it’s OBD2 compliant. Compliance depends on where and when the vehicle was initially purchased.

A Brief History of OBD2

The story of OBD2 begins in California. The California Air Resources Board (CARB) mandated OBD in all new cars from 1991 onwards to monitor and control vehicle emissions. The Society of Automotive Engineers (SAE) then standardized the protocol, including diagnostic trouble codes and the OBD connector itself, with the SAE J1962 standard. This standardization was crucial, ensuring that regardless of the car manufacturer, a universal diagnostic tool could be used.

The OBD2 standard rollout was gradual, becoming progressively more comprehensive over the years, as outlined by the timeline below:

The Future of OBD: OBD3 and Beyond

While OBD2 is firmly established, the automotive world is evolving. Electric vehicles, for instance, often don’t adhere to standard OBD2 protocols for emissions monitoring, as they don’t have tailpipe emissions in the traditional sense. Many EVs utilize OEM-specific UDS communication instead, making generic OBD2 tools less effective.

Emerging standards like WWH-OBD (World Wide Harmonized OBD) and OBDonUDS (OBD on UDS) are being developed to address the limitations of current OBD2 implementations and to leverage more modern protocols like UDS (Unified Diagnostic Services).

The concept of OBD3 envisions adding telematics to vehicles for remote emissions monitoring. This would involve cars equipped with a radio transponder to transmit Vehicle Identification Numbers (VIN) and DTCs wirelessly for centralized monitoring. While this offers convenience and efficiency, it also raises privacy concerns.

Furthermore, there’s a debate in the automotive industry about controlling access to vehicle data via the OBD2 port. Some manufacturers are considering limiting third-party access to this data, potentially impacting the aftermarket OBD2 service industry.

Deep Dive into OBD2 Standards

OBD2 operates as a higher-layer protocol, much like a language, while CAN (Controller Area Network) bus serves as the communication method, similar to a phone line. This places OBD2 alongside other CAN-based protocols such as J1939, CANopen, and NMEA 2000.

The OBD2 standards encompass various aspects, including the OBD2 connector diagram, lower-layer communication protocols, and OBD2 Parameter IDs (PIDs). These standards are often categorized within the 7-layer OSI model, with both SAE (primarily US standards) and ISO (international standards) contributing. Many SAE and ISO standards are technically equivalent, such as SAE J1979 and ISO 15031-5 for diagnostic services, and SAE J1962 and ISO 15031-3 for the connector specifications.

The OBD2 Connector Diagram and Pinout (SAE J1962)

The 16-pin OBD2 connector is standardized under SAE J1962 and ISO 15031-3. It provides a uniform interface to access vehicle data. Below is a typical OBD2 connector diagram, specifically for a Type A connector, which is commonly found in passenger cars.

Key points about the OBD2 connector diagram and pinout:

  • Location: Typically near the steering wheel, but can be hidden.
  • Pin 16: Battery power supply (often active even when ignition is off).
  • Pinout Variability: Pin assignments depend on the communication protocol used by the vehicle.
  • CAN Bus Connection: For vehicles using CAN bus (the most common protocol), pins 6 (CAN-High) and 14 (CAN-Low) are used.

OBD2 Connector Types: Type A vs. Type B

You might encounter two main types of OBD2 connectors: Type A and Type B. Type A is standard in cars and light-duty vehicles, while Type B is more common in medium and heavy-duty vehicles.

While the pinouts are similar, the key differences are:

  • Power Supply: Type A provides 12V power, while Type B provides 24V.
  • Baud Rate: Cars (Type A) often use 500K baud rate, while heavy-duty vehicles (Type B) often use 250K (though 500K support is increasing).
  • Physical Keying: Type B connectors have an interrupted groove in the middle, making Type B adapters compatible with both Type A and Type B sockets, but Type A adapters only compatible with Type A sockets.

OBD2 Communication and CAN Bus (ISO 15765-4)

Since 2008, CAN bus (ISO 15765-4) has been mandatory for OBD2 communication in all US cars. ISO 15765-4, also known as Diagnostics over CAN (DoCAN), is a set of specifications that define how OBD2 operates over a CAN bus network (ISO 11898). It standardizes the physical, data link, and network layers for diagnostic communication:

  • Bit Rate: Must be 250K or 500K.
  • CAN IDs: 11-bit or 29-bit CAN identifiers are permitted.
  • Specific CAN IDs: Reserved for OBD2 requests and responses.
  • Data Length: Diagnostic CAN frames must have a data length of 8 bytes.
  • Cable Length: OBD2 adapter cables must be a maximum of 5 meters.

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

OBD2 communication over CAN bus relies on request/response message pairs. In most cars, 11-bit CAN identifiers are used.

  • Functional Addressing (Request): CAN ID 0x7DF is used to broadcast a request to all OBD2-compliant ECUs.
  • Physical Addressing (Request): CAN IDs 0x7E0-0x7E7 can be used to send requests to specific ECUs (less common).
  • Responses: ECUs respond with 11-bit CAN IDs in the range 0x7E8-0x7EF. 0x7E8 is typically the Engine Control Module (ECM) response ID, and 0x7E9 is often used by the Transmission Control Module (TCM).

Some vehicles, particularly vans and medium/heavy-duty vehicles, utilize 29-bit extended CAN identifiers for OBD2.

  • Functional Addressing (29-bit): 0x18DB33F1.
  • Responses (29-bit): 0x18DAF100 to 0x18DAF1FF (common responses: 18DAF110 and 18DAF11E). This response ID range corresponds to J1939 PGN 0xDA00 (55808), which is reserved for ISO 15765-2 in the J1939-71 standard.

OBD2 vs. Proprietary CAN Protocols

It’s important to understand that OBD2 is an additional protocol layered on top of the vehicle’s core communication network. Vehicle ECUs operate using OEM-specific proprietary CAN protocols. These proprietary protocols are unique to each manufacturer and often to specific vehicle models and years. Unless you have OEM documentation or reverse-engineer the data, interpreting this proprietary CAN data is usually not possible.

When you connect a CAN bus data logger to the OBD2 connector, you might see this OEM-specific CAN data alongside OBD2 data. However, many newer vehicles incorporate a gateway that restricts access to the proprietary CAN data through the OBD2 port, allowing only OBD2 communication.

In essence, OBD2 is an extra communication layer added for diagnostics, running parallel to the OEM’s primary control network.

Bit-rate and ID Validation for OBD2

Given the variations in bit rates (250K or 500K) and CAN ID lengths (11-bit or 29-bit), there are four potential communication configurations for OBD2. Modern cars commonly use 500K and 11-bit IDs, but diagnostic tools should systematically validate these settings.

ISO 15765-4 provides a procedure to automatically detect the correct configuration. This process relies on the fact that OBD2-compliant vehicles must respond to a mandatory OBD2 request. By sending out test requests and monitoring for valid responses (and the absence of CAN error frames, which indicate incorrect bit rates), the correct configuration can be determined.

Legacy OBD2 Protocols

While CAN bus (ISO 15765) is dominant today, older vehicles (pre-2008) may use one of five lower-layer protocols for OBD2. The OBD2 connector diagram pinout can sometimes give clues about the protocol in use.

  • ISO 15765 (CAN bus): Mandatory in US since 2008, prevalent today.
  • ISO 14230-4 (KWP2000): Common in 2003+ Asian vehicles.
  • ISO 9141-2: Used in EU, Chrysler, and Asian cars (2000-2004).
  • SAE J1850 VPW (Variable Pulse Width): Primarily older GM vehicles.
  • SAE J1850 PWM (Pulse Width Modulation): Primarily older Ford vehicles.

ISO-TP (ISO 15765-2) for OBD2 Message Transport

OBD2 messages are transmitted over CAN bus using ISO-TP (ISO 15765-2), a transport protocol that enables sending data payloads larger than the 8-byte limit of a standard CAN frame. This is necessary for OBD2 functions like retrieving the VIN or DTCs. ISO-TP handles segmentation, flow control, and reassembly of these larger messages.

However, many OBD2 data requests and responses fit within a single CAN frame. In these cases, ISO 15765-2 uses ‘Single Frame’ (SF) formatting. The first byte of the data payload (PCI field) indicates the payload length, leaving 7 bytes for OBD2-specific data.

Decoding the OBD2 Diagnostic Message (SAE J1979, ISO 15031-5)

A simplified OBD2 CAN message consists of a CAN identifier, a data length indicator (PCI field), and the data payload itself. The payload is structured into Mode, Parameter ID (PID), and data bytes.

OBD2 Request/Response Example: Vehicle Speed

Let’s examine a practical example: requesting vehicle speed.

  1. Request: An external tool sends a CAN message with ID 0x7DF and a 2-byte payload: Mode 0x01 and PID 0x0D (Vehicle Speed PID).
  2. Response: The car responds with a CAN message with ID 0x7E8 and a 3-byte payload. The vehicle speed value is in the 4th byte, 0x32 (decimal 50).

According to OBD2 PID documentation, 0x32 corresponds to 50 km/h for Vehicle Speed.

OBD2 Services (Modes)

OBD2 defines 10 diagnostic services, also referred to as modes. Mode 0x01 is used to retrieve real-time data, while other modes are used for accessing and clearing DTCs, retrieving freeze frame data, and more.

Vehicles aren’t required to support all 10 OBD2 modes, and manufacturers can also implement OEM-specific modes beyond the standard set.

In OBD2 messages, the mode is in the second byte of the payload. In a request, the mode is included directly (e.g., 0x01). In a response, 0x40 is added to the requested mode value (e.g., a response to mode 0x01 will start with 0x41).

OBD2 Parameter IDs (PIDs)

Within each OBD2 mode, there are Parameter IDs (PIDs). Mode 0x01, for example, contains around 200 standardized PIDs for real-time data like speed, RPM, and fuel level. However, vehicles typically support only a subset of these PIDs.

One PID is particularly important: Mode 0x01 PID 0x00. If an emissions-related ECU supports OBD2 at all, it must support this PID. Responding to PID 0x00, the ECU indicates which PIDs from 0x01 to 0x20 it supports. This makes PID 0x00 a fundamental test for OBD2 compatibility. Similarly, PIDs 0x20, 0x40, 0x60, 0x80, 0xA0, and 0xC0 are used to determine support for subsequent PID ranges within mode 0x01.

OBD2 PID Overview Tools

SAE J1979 and ISO 15031-5 appendices contain scaling information for standard OBD2 PIDs, enabling you to convert raw data into meaningful physical values.

For quick PID lookups, online tools like the OBD2 PID overview tool on the csselectronics website can be invaluable. These tools help you construct OBD2 request frames and dynamically decode responses.

OBD2 PID overview tool

Logging and Decoding OBD2 Data: A Practical Guide

Let’s explore how to log OBD2 data using a CANedge data logger as a practical example. The CANedge allows you to define custom CAN frames for transmission, making it suitable for OBD2 data logging. Combined with an OBD2-DB9 adapter cable, it can easily connect to your vehicle.

Testing bit rate for OBD2 communication.

Reviewing supported PIDs in asammdf software.

Step 1: Test Bit-rate, IDs, and Supported PIDs

As per ISO 15765-4, you should determine the correct bit-rate and CAN IDs for your vehicle. Here’s how you can test using a CANedge:

  1. Bit-rate Test: Send a CAN frame at 500K. If successful, proceed; otherwise, try 250K.
  2. Bit-rate Configuration: Use the validated bit-rate for subsequent communication.
  3. Supported PIDs Request: Send ‘Supported PIDs’ requests (Mode 0x01 PID 0x00) and analyze the responses.
  4. ID Type Determination: Response IDs (0x7E8-0x7EF or 29-bit range) indicate 11-bit or 29-bit IDs.
  5. Supported PID Identification: Response data reveals which PIDs are supported by the vehicle.

Pre-configured CANedge configurations are available to streamline these tests. Most post-2008 non-EV cars typically support 40-80 PIDs using 500K bit-rate, 11-bit CAN IDs, and the OBD2/OBDonEDS protocol.

It’s common to receive multiple responses to a single OBD request, especially when using the functional address ID 0x7DF, as it queries all ECUs. Since all OBD2-compliant ECUs must support service 0x01 PID 0x00, many responses are often seen for this initial PID request. As you request subsequent ‘Supported PIDs’, fewer ECUs might respond. Note that the ECM (0x7E8) often supports all PIDs supported by other ECUs, so for efficiency, you can switch to ‘Physical Addressing’ (CAN ID 0x7E0) to target the ECM specifically for subsequent requests.

Step 2: Configure OBD2 PID Requests

Once you’ve determined the supported PIDs, bit-rate, and CAN IDs, configure your data logger to request the PIDs you’re interested in. Consider these points:

  • CAN IDs: Use ‘Physical Addressing’ request IDs (e.g., 0x7E0) to minimize redundant responses.
  • Request Spacing: Add a delay of 300-500 ms between requests to prevent ECU overload.
  • Power Management: Use triggers to stop requests when the vehicle is off to avoid battery drain.
  • Filtering: Implement filters to record only OBD2 responses, especially if OEM-specific CAN data is also present.

With these configurations, your data logger is ready to record raw OBD2 data.

Example CANedge configuration for OBD2 PID requests.

DBC decoding and visualization of OBD2 data in asammdf.

Step 3: DBC Decode Raw OBD2 Data

To analyze the logged raw OBD2 data, you need to decode it into physical values. Decoding information is available in ISO 15031-5/SAE J1979 and online resources like Wikipedia. A free OBD2 DBC file is available from csselectronics to simplify DBC decoding in CAN bus software tools.

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

To solve this, you need to use the CAN ID, OBD2 mode, and OBD2 PID together for signal identification. This is a form of multiplexing called ‘extended multiplexing‘, which can be implemented in DBC files.

CANedge: Your OBD2 Data Logging Solution

The CANedge is a robust tool for recording OBD2 data directly to an SD card (8-32GB). Simply connect it to your vehicle’s OBD2 port, and start logging. Analyze the data using free software, APIs, and the OBD2 DBC file provided by csselectronics.

OBD2 logger intro CANedge

OBD2 Multi-Frame Examples (ISO-TP)

While many OBD2 interactions are single-frame, multi-frame communication is necessary for larger data sets. OBD2 uses ISO-TP for multi-frame messaging, requiring flow control frames. In practice, a static flow control frame can be transmitted approximately 50ms after the initial request, as illustrated in CANedge configuration examples. Analyzing multi-frame OBD2 responses requires CAN software with ISO-TP support, such as CANedge MF4 decoders.

Example 1: Retrieving the Vehicle Identification Number (VIN)

The VIN is often crucial for telematics and diagnostics. To retrieve it via OBD2:

  1. Request: A Single Frame request with PCI field 0x02, service identifier 0x09 (Mode 0x09), and PID 0x02 (VIN PID).
  2. Response: The vehicle responds with a First Frame indicating a 20-byte length (0x014), mode 0x49 (0x09 + 0x40), and PID 0x02. Byte 0x01 follows the PID, indicating one data item (NODI). The subsequent 17 bytes contain the VIN, which can be converted from HEX to ASCII.

Example 2: Multi-PID Request (6 PIDs)

OBD2 allows requesting up to 6 mode 0x01 PIDs in a single request frame. The ECU responds with data for supported PIDs, potentially using multi-frame responses via ISO-TP. While efficient, this method complicates generic DBC file usage, as signal encoding becomes request-specific. It’s generally not recommended for practical data logging unless you have tools specifically designed for it.

Decoding multi-PID responses via generic DBC files is challenging due to the payload structure and PID ordering. Custom scripts and recording request messages might be necessary for interpretation, making it less scalable.

Example 3: Diagnostic Trouble Codes (DTCs)

OBD2 can retrieve emissions-related DTCs using mode 0x03 (‘Show stored Diagnostic Trouble Codes’). The request frame doesn’t include a PID. The ECU responds with the number of stored DTCs (possibly zero) and the DTCs themselves, with each DTC occupying 2 bytes. Multi-frame responses are needed if more than 2 DTCs are stored.

The 2-byte DTC value is categorized and contains a 4-digit hexadecimal code. Online OBD2 DTC lookup tools like repairpal.com can help decode these codes.

OBD2 Data Logging Use Cases

OBD2 data logging has diverse applications for cars and light trucks:

Car Data Logging

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

obd2 logger

Real-time Car Diagnostics

OBD2 interfaces enable real-time streaming of vehicle data for live diagnostics and troubleshooting.

obd2 streaming

Predictive Maintenance

IoT-connected OBD2 loggers can monitor vehicle health in the cloud for predictive maintenance and breakdown prevention.

predictive maintenance

Vehicle Black Box Logger

OBD2 loggers can serve as ‘black boxes’ for vehicles, providing data for incident analysis, disputes, and diagnostics.

can bus blackbox

Do you have an OBD2 data logging project in mind? Contact us for expert advice!

Contact us

Explore our guides for more intros, or download our comprehensive ‘Ultimate Guide’ PDF.

Ready to start logging or streaming 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

[

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 *