Modern mobile machinery contains multiple electronic control units that need to exchange data.
In construction equipment, agricultural machinery, mining vehicles, and other off-highway machines, the engine ECU manages engine functions, while the mobile controller handles hydraulics, operator commands, safety logic, and auxiliary systems.
SAE J1939 allows these devices to exchange information over a CAN network.
A typical architecture is:
Engine ECU
↓
SAE J1939 / CAN Bus
↓
Mobile Controller
↙ ↘
HMI Machine Control
Through J1939, engine information can become part of the overall machine control system.
SAE J1939 is a higher-layer communication protocol based on CAN and is widely used in mobile machinery and commercial vehicles.
While CAN provides the communication network, J1939 defines how data is organized and interpreted.
Common applications include:
Construction machinery
Agricultural equipment
Mining vehicles
Material handling equipment
Special-purpose vehicles
J1939 is especially useful when controllers, engine ECUs, displays, and other devices from different suppliers need to communicate.
An engine ECU can provide many operating parameters through J1939, such as:
Engine speed
Coolant temperature
Oil pressure
Engine load
Accelerator position
Engine hours
Diagnostic information
Instead of connecting separate wires for each parameter, the mobile controller can receive multiple values through the CAN network.
Engine Sensors
↓
Engine ECU
↓
J1939
↓
Mobile Controller
The available data depends on the specific engine ECU and its J1939 implementation.
Two important concepts in J1939 are PGN and SPN.
PGN (Parameter Group Number) identifies a group of related parameters in a J1939 message.
SPN (Suspect Parameter Number) identifies an individual parameter, such as engine speed or coolant temperature.
In simplified form:
J1939 Message
↓
PGN
↓
Parameter Group
↓
SPN
↓
Engine Value
OEM engineers therefore need to know which PGNs and SPNs are supported by the engine ECU.
Engine data is not only used for monitoring. It can also become part of the machine control logic.
For example, a hydraulic machine may use engine speed and engine load to adjust hydraulic demand.
Engine ECU
↓
Engine Speed / Load
↓
Mobile Controller
↓
Control Logic
↓
PWM Output
↓
Proportional Valve
If engine speed drops under heavy load, the controller can reduce hydraulic demand or limit certain functions.
This helps coordinate the engine and hydraulic system more effectively.
J1939 information can also be displayed to the operator.
The HMI may show:
Engine RPM
Coolant temperature
Oil pressure
Engine hours
Warning status
Fault information
A typical system may use:
Engine ECU → J1939 → Mobile Controller → HMI
This allows engine and machine information to be presented through one operator interface.

J1939 can also transmit engine diagnostic information.
When the engine ECU detects a fault, the controller or HMI can use this information to:
Display operator warnings
Record faults
Support troubleshooting
Trigger machine protection logic
For example, DM1 messages are commonly used to communicate active diagnostic trouble information.
The exact diagnostic functions depend on the engine ECU, so OEM engineers should always check the manufacturer's J1939 documentation.
Some mobile controllers provide multiple CAN interfaces.
This makes it possible to separate different communication networks:
CAN 1 → Engine ECU / J1939
CAN 2 → Remote I/O
CAN 3 → HMI / Other Devices
A machine can also use J1939 for engine communication while using CANopen or another CAN protocol for sensors, I/O modules, or other subsystems.
This provides greater flexibility when designing larger mobile machinery control systems.
When integrating an engine ECU with a mobile controller, engineers should confirm:
Supported PGNs and SPNs
CAN baud rate
Required engine parameters
Message update rates
Diagnostic messages
Communication timeout
Network termination
Failure strategy
For example, if expected engine messages disappear, the controller should detect the communication loss and respond according to the machine's control strategy.
J1939 provides an efficient way for mobile controllers to communicate with engine ECUs.
Through a CAN network, the controller can receive engine speed, temperature, load, diagnostic information, and other operating data without requiring separate wiring for every signal.
This information can then be integrated with hydraulic control, HMI visualization, diagnostics, and machine control logic.
For OEMs, a properly designed J1939 network can reduce wiring, simplify system integration, and create a more connected and flexible mobile machinery control system.