ECU Fault Code Reading (DTC)
Know which fault the vehicle has, not just that it has one.
The device reports the same codes a workshop scan tool shows: SPN and FMI on trucks and machinery, P, C, B and U codes on light vehicles. They reach your platform with the ECU that reported them and the real time they occurred.
Fault report
Truck · J1939
J:00:100:1:4
Engine ECU · oil pressure below normal range · 4 occurrences
Light vehicle · OBD2
O:00:P0301:0:0
Engine ECU · cylinder 1 misfire
Every report carries all active faults
From the warning light to the code
Until now
The device reported whether the vehicle had faults and how many: the equivalent of the check engine light on the dashboard. To find out what was wrong, the vehicle had to go to the workshop.
With the DTC module
The device reports which ones they are: which component fails, how it fails and which ECU reports it. The workshop can prepare the diagnosis before the vehicle arrives.
Standard codes
SAE J1939 and SAE J2012, the same codes any scan tool reads. The text description is resolved on the platform using the public tables of the standard.
Real event time
If the vehicle was out of coverage, the report waits in the queue and, once the signal is back, reports when the fault occurred, not when it was sent.
Full snapshot in every report
Every report carries all active faults: there is no need to rebuild state on the server. A count of zero means they were resolved.
No extra hardware
It uses the CAN connection the device already has. It ships disabled: until enabled it reserves no memory and does not touch the bus.
Trucks and light vehicles, each with its own standard
The module reads the protocol each type of vehicle uses. What you get depends on the standard.
J1939
Trucks, buses, machinery and agriculture
The ECU broadcasts faults on its own and the device listens without transmitting anything to the bus. Reading is immediate.
What it reports
- SPN: which component fails
- FMI: how it fails
- ECU that reports it
- Occurrence count
- Dashboard lamps
OBD2
Cars, pickups and vans
The device queries the ECU every 30 seconds, just like a scan tool plugged into the diagnostic connector.
What it reports
- Full standard code (P0301, P0420, U0100)
- ECU that reports it
- Several ECUs in the same vehicle
With the CANBUS Contactless accessory (inductive, read-only) it works on J1939, where the ECU broadcasts faults by itself. It does not work on OBD2, because the ECU has to be queried and the contactless reader does not transmit to the bus.
How to read a code
J1939: component and failure type
The engine ECU (00) reports that oil pressure (SPN 100) is below the normal range (FMI 1), and it occurred 4 times.
The FMI changes the diagnosis
| 0 / 1 | Value above / below the normal range |
| 2 | Erratic or intermittent data |
| 3 / 4 | Short to positive / short to ground |
| 5 / 6 | Open circuit / overcurrent |
| 7 | Mechanical system not responding |
| 12 | Damaged component |
| 31 | Condition exists, no further detail |
Common SPNs
| 100 | Oil pressure |
| 110 | Coolant temperature |
| 94 | Fuel pressure |
| 168 | Battery voltage |
| 651-656 | Injectors 1 to 6 |
| 1761 | AdBlue / DEF level |
| 3226 | NOx sensor (SCR) |
Fuel pressure with FMI 1 is genuinely low pressure: filter or pump. With FMI 5 it is an open circuit: a disconnected sensor or a cut wire. Same SPN, different diagnosis.
OBD2: system and code
The engine ECU (00) reports a misfire in cylinder 1 (P0301). FMI and occurrences are J1939 fields: on OBD2 they are zero.
The first letter indicates the system
Powertrain: engine and transmission
Chassis: brakes, suspension, steering
Body: airbags, comfort
Network communication between modules
What you do with the codes
Workshop with prior diagnosis
The fault arrives with its code before the vehicle returns to base. The workshop knows what to check and which part to order.
In-cab warning
A rule on the device itself triggers a buzzer when a dashboard lamp turns on (J1939), without going through the server.
Supervisor alert
New fault with the ignition on: the device sends an immediate report or an SMS, and the platform builds the alert with the code description.
Emissions and AdBlue
SPNs 1761 and 3226 show urea level and NOx sensor faults: SCR system problems worth addressing in time.
What your platform receives
Faults arrive over the device's regular protocol (UDP, TCP or SMS), with queueing, retries and acknowledgement. The report is sent automatically when a new fault appears or all of them are resolved, and it can also be requested at any time.
DF report
>RDF00020826143512;2;J:00:100:1:4;J:00:1761:1:12<
- Report number
- Event date and time
- Active count (0 = resolved)
- Fault list
The device reads and transmits the code. The text description and user alerts are configured on your platform.
It also reacts inside the vehicle
Faults are event engine triggers: they combine with ignition, speed, inputs or geofences like any other signal.
| DTC00 | At least one fault is active |
| DTC01 | A new fault appeared |
| DTC02 | A dashboard lamp is on (J1939) |
| DTC03 | All faults were resolved |
Three commands
Enabled by command, without touching the installation.
Check the bus protocol
>QCXCAN<J1939 on trucks and machinery, OBDII on light vehicles. If it does not match the vehicle, the module always reports zero faults.
Enable reading
>SCXDTC1,3,0,1,GP<Enables the module with automatic reporting to the main server.
Check the status
>QDTC<RDTC0 means the device is reading the bus and there are no active faults: it is a valid result.
What it does today and what comes next
Active J1939 faults: one or several ECUs, one or several codes
AvailableActive OBD2 faults: one or several ECUs
AvailableAutomatic, on-demand and rule-based reporting
AvailableEvent engine signals, EVAL functions and templates
AvailableDashboard lamps
J1939 onlyClearing faults in the vehicle ECU
PlannedHistorical or pending faults
PlannedUp to 32 simultaneous faults in the device table. The reported count is always the real one.
Compatible devices
Requires a CAN transceiver and firmware 1.9.27 or later.
Frequently asked questions
What complements the module
Want to add remote diagnostics to your fleet?
Tell us which vehicles you have and which platform you use, and we will help you set it up.