J1939 vs J1708 vs OBD2 — Heavy Duty Truck Diagnostic Protocols Explained

TL;DR: Heavy-duty trucks use J1939 (CAN-based, 250 kbps, 9-pin connector) as the primary diagnostic protocol since ~2001. Older trucks used J1708 (RS-485, 9600 baud, 6-pin connector). Light vehicles use OBD-II (500 kbps, 16-pin DLC) which is not compatible with heavy-duty trucks. You need a scanner that supports all three protocols to cover any truck you encounter.

If you work on heavy-duty trucks, you have probably noticed something frustrating: the diagnostic tools and protocols are completely different from passenger cars. You cannot just plug in your $30 OBD-II code reader and expect it to talk to a Peterbilt 579 or a Freightliner Cascadia.

That is because commercial trucks use entirely different communication protocols — primarily SAE J1939 and the older SAE J1708/J1587. Understanding these protocols is not just academic; it directly impacts which scanner you buy, which cables you need, and whether you can actually diagnose the truck sitting in your bay.

This guide breaks down all three major diagnostic protocols, compares them side by side, and helps you understand exactly what you need for your shop or fleet.

SAE J1939 — The Modern Heavy-Duty Standard

SAE J1939 is the dominant diagnostic and communication protocol for heavy-duty vehicles manufactured from approximately 2001 onward. It is built on the CAN 2.0B (Controller Area Network) physical layer and uses 29-bit extended identifiers, giving it a massive address space compared to standard CAN.

Technical Specifications

  • Physical Layer: CAN 2.0B (ISO 11898)
  • Data Rate: 250 kbps (kilobits per second)
  • Identifier Length: 29-bit extended frame format
  • Connector: 9-pin Deutsch HD10-9-1939P
  • Max Bus Length: 40 meters
  • Max Nodes: 30 ECUs on a single network
  • Message Format: Parameter Group Numbers (PGNs) containing Suspect Parameter Numbers (SPNs)

J1939 is not just a diagnostic protocol — it is the backbone of how every electronic module in a modern truck communicates. The engine ECM, transmission controller, ABS module, instrument cluster, aftertreatment system, and body controller all share data over the J1939 bus continuously while the truck is running.

For a deeper technical dive, read our guide: What Is SAE J1939 and Why Does It Matter for Truck Diagnostics?

9-Pin Connector Pin Assignments

Pin Function Wire Color (Typical)
A Battery Ground Black
B Battery +12V/+24V Red
C J1939 CAN High (+) Yellow
D J1939 CAN Low (-) Green
E Shield / Drain Bare
F J1708 Data (+) White
G J1708 Data (-) Blue
H Manufacturer Specific Varies
J Manufacturer Specific Varies
Key Detail: Notice that the 9-pin connector carries both J1939 (pins C and D) and J1708 (pins F and G) signals. This means a single connector gives you access to both protocols on trucks that support them (typically 2001–2007 era).

SAE J1708/J1587 — The Legacy Protocol

Before J1939 took over, heavy-duty trucks used the SAE J1708 physical layer paired with the SAE J1587 application layer for diagnostics and inter-module communication. This protocol dates back to the late 1980s and was the standard through the 1990s into the early 2000s.

Technical Specifications

  • Physical Layer: RS-485 differential serial bus (SAE J1708)
  • Application Layer: SAE J1587 (defines message structure and parameter IDs)
  • Data Rate: 9,600 baud (extremely slow by modern standards)
  • Connector: 6-pin Deutsch (pre-2001) or shared on 9-pin (2001–2007)
  • Message Format: MID (Message Identifier) + PID (Parameter Identifier) + data bytes

At 9,600 baud, J1708 is roughly 26 times slower than J1939. This was adequate when trucks had maybe 2–3 electronic modules, but it became a bottleneck as trucks added more ECUs through the 1990s. That limitation is the primary reason the industry migrated to J1939.

6-Pin Connector Pin Assignments

Pin Function
A J1708 Data (+)
B J1708 Data (-)
C Battery Ground
D Battery +12V/+24V
E Not Used / Manufacturer Specific
F Not Used / Manufacturer Specific

For details on when to use which connector, see: 9-Pin vs 6-Pin Truck Diagnostic Connectors — What You Need

OBD-II — The Car Standard That Does NOT Work on Trucks

OBD-II (On-Board Diagnostics, version 2) is the protocol mandated by the EPA for all passenger cars and light-duty trucks sold in the United States since 1996. It is what every consumer-grade code reader connects to.

Technical Specifications

  • Physical Layer: CAN 2.0A (most common since 2008), also ISO 9141-2, ISO 14230 KWP2000, SAE J1850 VPW/PWM
  • Data Rate: 500 kbps (CAN variant)
  • Identifier Length: 11-bit standard frame format
  • Connector: 16-pin DLC (Data Link Connector), SAE J1962
  • Message Format: PIDs (Parameter IDs) organized in diagnostic modes ($01–$0A)
Critical Distinction: Even though both J1939 and OBD-II CAN use the CAN bus at the physical level, they are completely incompatible at the protocol level. J1939 uses 29-bit identifiers and SPNs; OBD-II uses 11-bit identifiers and PIDs. A device speaking one protocol cannot understand the other.

Learn more about why your car scanner will not work: Can a Car OBD2 Scanner Work on a Semi Truck?

Side-by-Side Protocol Comparison

Feature SAE J1939 SAE J1708/J1587 OBD-II (CAN)
Primary Use Heavy-duty trucks (Class 4–8) Legacy heavy-duty trucks Passenger cars / light trucks
Physical Layer CAN 2.0B RS-485 CAN 2.0A
Data Rate 250 kbps 9,600 baud 500 kbps
Identifier 29-bit extended MID (8-bit) 11-bit standard
Connector 9-pin Deutsch 6-pin or 9-pin Deutsch 16-pin DLC (J1962)
Data Structure PGN / SPN / FMI MID / PID / SID Mode / PID
Year Range ~2001 to present ~1985 to ~2007 1996 to present (cars)
Vehicle Types Freightliner, Peterbilt, Kenworth, Volvo, Mack, International, etc. Same brands, older models Cars, SUVs, pickups, vans
Active Codes DM1 (active), DM2 (previously active) PID 194 (active), PID 195 (inactive) Mode $03 (confirmed), Mode $07 (pending)
Code Format SPN + FMI (e.g., SPN 3251 FMI 0) PID or SID + FMI 5-char code (e.g., P0300)

Which Trucks Use Which Protocol?

Truck Brand J1708 Only J1939 + J1708 J1939 Only
Freightliner Pre-2001 2001–2007 2007+
Peterbilt Pre-2001 2001–2010 2010+
Kenworth Pre-2001 2001–2010 2010+
Volvo/Mack Pre-2002 2002–2007 2007+
International Pre-2001 2001–2007 2007+
Hino N/A 2004–2010 2010+
Isuzu (NPR/NQR) N/A Limited 2008+ (also OBD-II on some)

Understanding Fault Codes Across Protocols

One of the most confusing aspects of working on mixed fleets is that fault codes look completely different depending on the protocol:

  • J1939 codes are expressed as SPN + FMI pairs. For example, SPN 3251 FMI 0 means DPF soot loading is excessively high. SPN identifies the component; FMI identifies the failure type.
  • J1708/J1587 codes use MID + PID/SID + FMI. MID identifies the ECU, PID identifies the parameter, and FMI describes the failure.
  • OBD-II codes use the familiar P/B/C/U + 4 digits format (e.g., P0420). These are standardized across all car manufacturers.

For a practical guide to reading J1939 fault codes, see: How to Read SPN/FMI Fault Codes on Heavy Duty Trucks

What Scanner Do You Need?

If you work exclusively on 2010+ trucks from a single manufacturer, you could get by with a J1939-only tool. But in the real world, most shops and owner-operators encounter a mix of old and new trucks, different brands, and occasionally medium-duty vehicles with OBD-II ports.

The ideal scanner covers all three protocols:

  1. J1939 for all modern Class 4–8 trucks (2001+)
  2. J1708/J1587 for legacy trucks still in service
  3. OBD-II for medium-duty crossover vehicles (Ford F-450, RAM 4500/5500, etc.)

ThinkCar heavy-duty scanners are designed to handle all three. Paired with the 13 HD Cable Kit — which includes 9-pin Deutsch, 6-pin Deutsch, OBD-II, and manufacturer-specific adapters — you get full coverage for virtually any truck that rolls into your shop.

The Future: J1939-Based Protocols

J1939 continues to evolve. Recent extensions include:

  • J1939-73: Diagnostics layer (DM messages for fault code management)
  • J1939-21: Transport protocol for messages exceeding 8 bytes
  • J1939-76: Secure communication layer being adopted for EPA anti-tampering regulations
  • J1939-84: OBD-II compliance layer that allows HD trucks to also respond to standard OBD-II requests (required for CARB HD-OBD)

The convergence of J1939 and OBD-II requirements through HD-OBD (Heavy-Duty On-Board Diagnostics) means future scanners will need to be even more versatile. Modern ThinkCar HD tools are built with these evolving standards in mind.

Related Guides

Ready to Diagnose Any Truck?

ThinkCar heavy-duty scanners support J1939, J1708, and OBD-II — every protocol, every truck.

Shop Heavy-Duty Scanners

Questions? Call us at (866) 217-0063