Every heavy-truck diagnostic conversation happens over J1939 or its predecessor J1708. Understanding the difference explains everything from why there are two 9-pin connector types to why your old adapter can't see a new truck.
The two protocols in one table
| J1708/J1587 | J1939 | |
|---|---|---|
| Era | 1988–~2010 | ~2000–present |
| Physical layer | RS-485 serial @ 9600 baud | CAN @ 250k or 500k (CAN-FD on newest) |
| Data format | MID/PID numbers | SPN/FMI (PGN messaging) |
| Connector | 6-pin Deutsch usually | 9-pin Deutsch (Type 1 black 250k, Type 2 green 500k) |
| Fault codes | PID/SID + FMI | SPN + FMI — see SPN/FMI lookup |
| Adapter requirement | J1708 support (USB-Link 3, INLINE 8, DPA 5) | CAN; CAN-FD for newest platforms |
Why the green vs black 9-pin thing exists
J1939 originally ran at 250kbit (Type 1, black connector). Around 2016 the industry moved to 500kbit (Type 2, green) for bandwidth. The connectors are keyed differently to prevent mismatches, though adapters exist. The full connector map is in the connector guide.
What comes next: CAN-FD and DoIP
J1939 now rides CAN-FD (flexible data rate) on 2020+ platforms — faster frames for richer data. Beyond that, DoIP moves diagnostics onto Ethernet entirely. The transition timeline and hardware implications are in our DoIP explainer; the adapter-side implications in RP1210 vs J2534.
Frequently Asked Questions
Can a J1939 scanner read a J1708 truck?
Only if the adapter supports J1708 — most modern RP1210 adapters (USB-Link 3, INLINE 8, DPA 5) do both. Software-wise, all the tools we sell handle both protocols transparently.
Why does my scanner show different code numbers than the dash?
Protocol translation: the dash may show manufacturer overlays or legacy PID-format codes while the scanner shows J1939 SPN/FMI. Our per-brand fault-code pages include the cross-references.
Is J1708 dead?
On new trucks, yes — but tens of millions of J1708-era trucks remain in service. Any adapter you buy today should still support it; all of ours do.