ECU Command
Flexible reading of CAN variables with configurable format and timeout.
What is it for?
| Use case | Description |
|---|---|
| 📊 Individual query | Gets a specific CAN parameter without reading all |
| 🎯 Custom format | Defines output format (integer, decimal, text) |
| ⏱️ Timeout control | Configures waiting time for response |
| 🛡️ Default value | Returns specific value if no response |
| 🚗 Vehicle diagnostics | Reads RPM, temperature, VIN, consumption and more |
Description
The ECU command allows querying different variables captured by the device from the CAN (Controller Area Network) bus. This command is flexible regarding response format and allows configuring both numeric format and error value handling.
This command is ideal when you need to obtain a single CAN parameter with specific format, instead of all parameters like CAN00-CAN05 do.
Features
- Configurable format - Printf-type specifiers (%.2f, %d, etc.)
- Adjustable timeout - Defines waiting time for response
- Default value - Returns specific value if no response
- 20 variables - Wide range of engine parameters
Commands
Query
QECUxxaa..aa:bb..bb:cc..ccFormat parameters
| Parameter | Description | Default |
|---|---|---|
xx | Index of CANbus variable to query (00-19) | - |
aa..aa: | Output format (e.g.: %d, %.2f) | %.2f |
bb..bb: | Timeout in seconds | 1 |
cc..cc | Value to return if no response | NaN |
Available Variables
| Index | Variable | Unit | Description |
|---|---|---|---|
00 | Engine speed | rpm | Engine RPM |
01 | Acceleration percentage | % | Pedal position |
02 | Fuel percentage | % | Tank level |
03 | Total odometer | Km | Accumulated distance |
04 | Total fuel consumption | L | Total liters |
05 | Vehicle speed | Km/h | Current speed |
06 | Engine temperature | °C | Coolant temp. |
07 | Oil pressure | kPa | Lubricant pressure |
08 | Trip fuel consumed | L | Trip fuel |
09 | Software fuel | L | MAF calculation |
10 | Engine on time | s | Engine hours |
11 | Chassis code | - | VIN |
12 | Instantaneous consumption | L/h | FuelRate |
13 | Air flow sensor | g/s | MAF |
14 | Current engine torque | % | Engine torque |
15 | Wheel speed | Km/h | Wheel speed |
16 | DTCs status | - | Fault codes |
17 | Engine load | % | Engine load |
18 | Total operating time | s | Total engine hours |
19 | Distance with fault light | Km | MIL distance |
Speeds in J1939: When the CAN protocol is J1939, speed variables come from different PGNs:
- ECU05 (Vehicle speed): PGN 0xFE6C (CCVS - Cruise Control/Vehicle Speed) ⭐ Most common
- ECU15 (Wheel speed): PGN 0xFEF1 (Wheel-Based Vehicle Speed)
Both represent speed but from different sources. ECU05 uses the speed calculated by the vehicle’s ECU, while ECU15 uses speed based on wheel sensors. ECU05 is recommended as it’s available in most J1939 vehicles.
Examples
Basic RPM query
>QECU00<
>RECU00 1500.00...RPM with integer format
>QECU00%d<
>RECU00 1500...Temperature with default value
>QECU06%.1f:2:-40<
>RECU06 85.0...If no response in 2 seconds, returns -40.
VIN (chassis code)
>QECU11<
>RECU11 3VWFE21C04M000001...Index 11 (VIN) returns text, not numbers. Use %s format if specifying format.
Compatibility
See Also
- CXECU Command - Configurable CAN parsers
- CXCAN Command - CAN bus configuration
- CAN00 Command - All J1939 parameters
- CAN03 Command - Fixed width format