China Sourcing Agents
Get a Quote

SAE J1939 Protocol Modules and Gateways: Sourcing from China

SAE J1939 modules and CAN-to-MQTT gateways from China: PGN/SPN structure, 250/500 kbps variants, 29-bit frame, connector pinout, and vendor vetting.

by Martin @ China Sourcing Agents Updated 9 min read components

SAE J1939 modules and gateways are a reasonably mature sourcing category from China. The protocol is standardized and well-documented, Chinese manufacturers have been producing J1939 hardware and 4G vehicle trackers for fleet telematics since the early 2010s, and the risk profile is lower than automotive-grade ADAS components. The main sourcing pitfall is documentation quality — many Chinese J1939 gateways ship with incomplete PGN mapping tables or hard-coded proprietary extensions that cause integration headaches.

Overview

SAE J1939 is a higher-layer protocol standard built on top of CAN ISO 11898 (the physical and data-link layers). It was developed by SAE International specifically for heavy-duty vehicles: Class 6–8 trucks, buses, agricultural equipment (covered by ISO 11783 / ISOBUS, a J1939 derivative), construction equipment (CIMA), and marine engines (NMEA 2000, also a J1939 derivative).

J1939 is not a replacement for OBD-II in passenger cars. It is a separate ecosystem for commercial vehicles. An OBD-II port on a diesel truck provides basic OBD-II access through standard OBD2 diagnostic hardware, but the truck’s primary drivetrain and vehicle management data is on J1939, not OBD-II.

Why J1939 Matters for Sourcing

Heavy-duty vehicle telematics, fleet management, cold-chain monitoring, construction equipment IoT, and agricultural automation all require J1939 connectivity — many of these projects overlap with broader industrial IoT hardware sourcing decisions. The demand for:

  • J1939 USB/serial analyzers (development tools)
  • J1939-to-Ethernet / J1939-to-4G/5G gateways (fleet IoT)
  • J1939-to-Modbus / J1939-to-MQTT translators (industrial integration)
  • J1939 data loggers

…is large and growing, and China is the dominant manufacturing source for mid-market and budget-tier products in all these segments.

Key Specifications

Physical Layer

J1939 uses CAN ISO 11898 physical layer with the following automotive-specific requirements:

ParameterJ1939 Standard ValueNotes
Bus speed250 kbps (J1939) / 500 kbps (J1939-22 FD)250 kbps is universal; 500 kbps for J1939-22 FD becoming common in new platforms
Bus termination120Ω at each endTotal bus impedance must be 60Ω; missing termination causes signal reflection and communication errors
Maximum nodes30 (J1939)Address claiming per SAE J1939/81; more than 30 nodes not recommended per spec
Cable impedance120Ω characteristicTwisted pair, matched to termination resistance
Maximum bus length40 mLonger runs require repeaters
Identifier type29-bit extended CAN IDStandard 11-bit CAN IDs are not used in J1939

Frame Structure

J1939 uses CAN’s 29-bit extended identifier field to encode the full message address structure:

BitsFieldDescription
28–26 (3 bits)Priority0 = highest, 7 = lowest
25 (1 bit)ReservedMust be 0
24 (1 bit)Data PageExtends PGN address space
23–16 (8 bits)PDU Format (PF)PF < 240 = peer-to-peer (PDU1); PF ≥ 240 = broadcast (PDU2)
15–8 (8 bits)PDU Specific (PS)Destination address (PDU1) or group extension (PDU2)
7–0 (8 bits)Source AddressECU address (0x00–0xFE); 0xFF = global

The PGN (Parameter Group Number) is derived from bits 25–8 of the identifier. It defines what data is carried in the 8-byte CAN payload. There are hundreds of standardized PGNs (published in SAE J1939-71, Vehicle Application Layer) plus manufacturer-proprietary PGNs in the 0xFF00–0xFFFF range.

Important PGNs

PGNNameContents
61444 (0xF004)Electronic Engine Controller 1 (EEC1)Engine speed (RPM), throttle position, torque
65262 (0xFEEE)Engine Temperature 1Coolant temp, fuel temp, oil temp
65263 (0xFEEF)Engine Fluid Level/Pressure 1Oil pressure, fuel delivery pressure
65265 (0xFEF1)Cruise Control/Vehicle SpeedVehicle speed, cruise control status
65226 (0xFECA)DM1 — Active Diagnostic Trouble CodesActive fault codes (DTCs) with SPN + FMI
65227 (0xFECB)DM2 — Previously Active DTCsHistorical fault codes
65228 (0xFECC)DM11 — Diagnostic Data ClearCommand to clear stored DTCs
59904 (0xEA00)Request PGNRequest another ECU to transmit a specific PGN
60928 (0xEE00)Address ClaimedAddress claiming process per J1939/81

SPNs (Suspect Parameter Numbers) define individual data signals within a PGN payload. For example, within PGN 61444 (EEC1), SPN 190 = Engine Speed (resolution: 0.125 rpm/bit, range: 0–8031.875 rpm).

Main Variants / Types

J1939 USB / Serial Analyzers

Used for development, diagnostics, and reverse engineering vehicle data. Connects to the vehicle’s J1939 bus (typically via a Deutsch 9-pin connector or breakout), presents as a virtual CAN interface on the PC, and enables bus monitoring with tools like PEAK PCAN Explorer, Vector CANalyzer, or open-source alternatives (Python-can, CAN Hacker). For adapters that bridge J1939 to a PC serial port, the D-Sub DB9 connector is the most common shell size; verify the pinout against CiA 303-1 or your device datasheet, because RS-485 wiring over DB9 is not standardized.

Product TypeChinese OptionWestern BenchmarkNotes
USB CAN analyzerGuangzhou Zhiyuan CANalyst-IIPEAK PCAN-USB (€190)Zhiyuan at ~$30–60; linux_socketcan compatible
J1939 USB adapterGeneric Alibaba “J1939 USB dongle”Kvaser Leaf Light ($250)Verify python-can driver compatibility before buying
J1939 data loggerShenZhen MKS J1939 loggerSofting CANlogValidate SD card logging format (CSV vs. binary)

PEAK PCAN-USB: German-made (PEAK System GmbH, Darmstadt). The industry-standard reference for J1939 development. Windows/Linux/macOS supported. SocketCAN compatible on Linux. Price: €190–280. Recommended as the validation reference even if Chinese analyzers are used in production tooling.

J1939 Gateways

Gateways translate J1939 data to other protocols for IoT integration, cloud telematics, or building automation interfaces, and are frequently paired with 4G/5G industrial routers for CAN backhaul to move bus data off the vehicle.

Gateway TypeCommon Chinese ProductsTypical InterfacePrice Range
J1939 → 4G/5G cellularShenzhen MKS, generic OEMMQTT / REST API / TCP socket$80–250
J1939 → MQTT (LAN)Guangzhou Zhiyuan EW200, generic OEMEthernet + MQTT broker$50–150
J1939 → Modbus RTU/TCPGeneric DIN-rail gatewaysRS-485 + TCP$60–180
J1939 → CANopenSpecialized, limited supplyCANopen master$120–350
OBD-II + J1939 comboSeveral Alibaba suppliersUSB + Bluetooth$30–100

Integration quality varies significantly. Key questions to ask Chinese gateway suppliers:

  1. Which PGNs are pre-mapped out of the box, and which require custom configuration?
  2. Is the PGN configuration done via a web UI, configuration file, or proprietary software?
  3. Does the device support the full address claiming procedure (J1939/81)?
  4. What happens when an unrecognized PGN is received — is it forwarded, dropped, or configurable?

J1939 Development Modules / MCU Libraries

For custom ECU or gateway development, J1939 protocol stacks are available as:

  • Open-source C libraries: Embedded Systems Academy’s isoAgLib (ISOBUS/J1939), open-source J1939 stacks for Arduino/ESP32 (verify license and completeness)
  • Commercial stacks: Microchip AN1203 (for PIC/dsPIC), NXP S32 SDK (includes J1939 stack for S32K automotive MCUs)
  • Chinese MCU modules with J1939 firmware: Rare and typically not well-documented; custom firmware development on a generic CAN-capable MCU (STM32 + MCP2515, or ESP32 with TWAI) is often more practical

Sourcing from China: What to Look For

Connector Compatibility

J1939 does not use the OBD-II 16-pin TRRS connector found on passenger cars. The standard J1939 connector for heavy-duty vehicles is:

Connector TypeDescriptionCommon On
Deutsch HD10-9-1939 (9-pin Deutsch)Industry-standard J1939 diagnostic connectorMost North American trucks (Freightliner, Kenworth, Peterbilt, Mack)
6-pin Deutsch DT06-6SAuxiliary J1939 portSome applications
OEM proprietaryVaries by OEMSome Japanese/European trucks use custom connectors

Many Chinese J1939 adapters come with bare wire leads or need a Deutsch 9-pin adapter, so plan the harness side carefully — a custom automotive wiring harness with the correct Deutsch termination is often cheaper to specify up front than to retrofit. Confirm connector type matches your vehicle before ordering.

Bus Termination

Both physical ends of a J1939 bus must be terminated with 120Ω. Many CAN/J1939 failures in development are caused by incorrect termination. Chinese J1939 modules vary in how they handle this:

  • Some modules include a switchable internal termination resistor (often via a jumper or DIP switch)
  • Some modules have no termination (correct for mid-bus nodes)
  • Some modules have fixed always-on termination (problematic if you’re adding to an already-terminated bus)

Always ask for the module’s termination configuration before ordering.

J1939-22 (CAN FD) Upgrade Path

J1939-22 (published 2020) extends J1939 to use CAN FD (Flexible Data-rate), enabling 500 kbps to 2 Mbps data rates and payloads up to 64 bytes (vs. 8 bytes in classic CAN J1939). New heavy-duty platforms (post-2022 trucks, some agricultural OEMs) are beginning J1939-22 adoption.

Chinese gateway suppliers are slower to support J1939-22. If your target vehicles are 2023+ platforms, confirm J1939-22/CAN FD support explicitly. Classic-only gateways will fail silently on FD-frame buses without CAN FD transceivers.

Common Issues

Incomplete PGN support. Many Chinese gateways claim to “support SAE J1939” but only pre-map the most common PGNs (EEC1, engine temperature, vehicle speed). Proprietary OEM PGNs (0xFF00–0xFFFF range) used by specific truck brands for things like DPF status, transmission gear, or axle load often require custom configuration that Chinese suppliers may not support.

Address claiming failures. J1939/81 address claiming is mandatory for nodes that must transmit (not just listen). Some Chinese modules skip the address claiming procedure and use a hardcoded source address. This causes bus conflicts on vehicles where another ECU claims the same address. Check whether the module implements the full address claiming procedure per J1939/81.

Missing or misconfigured termination. See above. Adding an unterminated module to a properly terminated bus (or adding a terminated module to an already-terminated bus) causes reflection errors. This is a common reason Chinese J1939 gateways appear to “not work” on first integration.

Firmware update capability. Some budget Chinese J1939 adapters have no firmware update path. If the gateway ships with a PGN mapping bug or a CAN stack issue, there is no fix. Prefer suppliers who provide documented firmware update procedures.

MQTT topic structure inconsistency. For J1939-to-MQTT gateways: Chinese suppliers often use non-standard or undocumented MQTT topic hierarchies. This creates integration work on the cloud side. Request the full MQTT topic tree documentation before purchase.

J1939 gateways and telematics modules sit at the intersection of industrial IoT and heavy commercial vehicle applications. When sourcing J1939 hardware in volume, verify PGN mapping completeness and address claiming behavior on a sample unit before committing to production quantities. A factory audit of the gateway supplier should include firmware version control records and production test procedures, and a pre-shipment inspection of each batch should bench-test PGN decoding on a sample unit — incomplete PGN support is a firmware issue that process auditing can reveal before it becomes a field problem.

Certifications Required

J1939 modules themselves do not require J1939-specific regulatory certification (SAE J1939 is a specification, not a regulatory standard). What does apply:

CertificationApplicabilityNotes
CE (EMC 2014/30/EU)EU marketEN 55032, EN 55035 for conducted/radiated EMC
FCC Part 15BUS marketUnintentional radiator, covers digital module emissions
E-Mark (UN ECE Regulation 10)Vehicle installation in EURequired if the module is installed as a vehicle component (not just a diagnostic tool)
E1/E11 (SAE J1939 compliance)OptionalSAE offers J1939 conformance testing; not legally required but demonstrates stack completeness

How this shows up in our work

When we audited a J1939 gateway supplier, we requested the pre-mapped PGN list and firmware version control records. A common issue we see on the floor is a hardcoded source address that conflicts with another ECU on the vehicle bus. We validate address claiming on a test vehicle before pilot run.

Ask Martin on WhatsApp

Usually replies within a few hours during business hours.

Chat on WhatsApp →
FAQ

Common questions

What bus speed does SAE J1939 use, and when do I need CAN FD support? +

Classic SAE J1939 runs at 250 kbps with 8-byte CAN payloads. J1939-22, published in 2020, adds CAN FD at 500 kbps to 2 Mbps with payloads up to 64 bytes. If your target vehicles are 2023 or newer platforms, confirm J1939-22/CAN FD support explicitly — classic-only gateways will fail silently on FD-frame buses.

Which PGNs should a Chinese J1939 gateway support out of the box? +

Expect pre-mapped support for common PGNs such as 61444 (EEC1 — engine speed and torque), 65262 (engine temperature), and 65265 (vehicle speed). Proprietary OEM PGNs in the 0xFF00–0xFFFF range — used for DPF status, transmission gear, or axle load — usually require custom configuration. Request the full pre-mapped PGN list and the custom-configuration process before purchase.

What connector do I need for a J1939 truck installation? +

Most North American heavy-duty trucks use the Deutsch HD10-9-1939 9-pin connector. Some applications use a 6-pin Deutsch DT06-6S, and certain Japanese or European OEMs use proprietary connectors. J1939 does not use the passenger-car OBD-II 16-pin connector. Verify the vehicle connector type and pinout before ordering adapters or gateways.

Why does my J1939 gateway fail to communicate on the vehicle bus? +

The most common cause is termination mismatch. A J1939 bus must be terminated with 120Ω at each physical end, giving a total bus impedance of 60Ω. Chinese modules vary: some have switchable termination, some have none, and some have fixed always-on termination. Adding a terminated module to an already-terminated bus causes signal reflection errors. Ask for the module's termination configuration before ordering and measure bus impedance during installation.

Engineer-led sourcing No hidden margins 24-hour response

Have a sourcing project in mind?

Tell us what you need. We respond within 24 hours, including weekends.

Photo of Martin Wang
Martin Wang Founder & Sourcing Engineer LinkedIn Facebook
Hardware engineer turned sourcing agent — reads schematics, audits factories, and translates technical specs accurately, not approximately. About →