Cluster Dashboard
The Cluster Dashboard (/cluster) is a high-fidelity automotive instrument cluster visualization. It mirrors the live state of the virtual ECU in real time — the same readout a technician would see on a real vehicle’s dashboard — and lets you inject faults to trigger DTC events without writing a single byte manually.
GAUGES
TELLTALES
FAULT CATEGORIES
FEATURE GATE
Overview
The Cluster Dashboard is a companion to the main Simulator. While the Simulator handles raw UDS frame exchange, the Cluster gives you a visual ground truth — confirming that what the ECU reports matches what would appear on a real vehicle’s instrument panel.
When to use it:
- After sending
0x22DID reads, verify the gauges update correctly - Inject faults to populate DTC tables before testing
0x19(Read DTC) or0x14(Clear DTC) - Demonstrate ECU behaviour to stakeholders without reading raw hex
The Cluster, Simulator, and Protocol State Dashboard all share the same UDSContext. State changes in one panel reflect immediately in the others.
Opening the Dashboard
- Log in and navigate to the Cluster tab in the top navigation bar, or go directly to
/cluster. - The
cluster_viewfeature gate is checked on load. Free-tier users see a preview with upgrade prompt; premium users see the full dashboard. - Ensure the ECU is powered on (green ECU Power indicator) before expecting live gauge updates.
If the gauges show zero and do not animate, check that the Ignition (KL15) is set to ON in the Simulator panel. The ECU does not broadcast telemetry with the ignition off.
UI Panels
Speedometer & RPM Gauges
Two circular premium gauges occupy the left and right of the cluster:
Gauge | DID Source | Range | Red Zone |
|---|---|---|---|
| Speedometer | 0x0101 Vehicle Speed | 0 – 260 km/h | none |
| RPM | 0x0104 Engine RPM | 0 – 8000 rpm | > 6500 rpm |
Needle animation is driven by the vehicleState values from UDSContext. Each 0x22 positive response updates the state and the gauge animates to the new value.
Center Digital Display
Shows the numeric vehicle speed and current session status beneath the two gauges. Updates in sync with the speedometer.
Telltale Warning Lights
Eight indicator lights mirror DTC state:
Telltale | Lights when | DTC category |
|---|---|---|
| Engine (MIL) | Powertrain DTC active | P-codes 0x01xxxx |
| ABS | Wheel speed / ABS pump fault | C-codes 0x02xxxx |
| Battery | Voltage below threshold | B-codes 0x03xxxx |
| Oil Pressure | Oil pressure low fault | P-codes 0x01xxxx |
| Temperature | Coolant temp sensor fault | P-codes 0x01xxxx |
| Fuel | Fuel pressure low fault | P-codes 0x01xxxx |
| Brake | Brake system fault | C-codes 0x02xxxx |
| ESP | CAN timeout / network fault | U-codes 0x04xxxx |
PRND Gear Selector
A vertical gear indicator (P / R / N / D / 1 / 2 / 3) highlights the current gear reported by the ECU. The active gear is shown in cyan.
Protocol State Dashboard
An embedded panel showing the active UDS session, S3 timer countdown, and ECU connection status — the same data visible in the main Simulator but surfaced here for context.
Ignition & Power Controls
The Cluster exposes the same ignition switch as the Simulator:
State | Meaning | ECU behaviour |
|---|---|---|
| OFF | No power | No response to any request |
| ACC | Accessories only | Limited services available |
| ON (KL15) | Normal operation | All services available |
| CRANK | Engine starting | Transient state, limited services |
Toggling the ignition in the Cluster updates vehicleState in UDSContext — the Simulator reflects this change immediately.
DTC Fault Injection
The DTC Management Panel lets you arm faults without sending a single UDS frame. Click the fault panel toggle (bottom of the screen) to expand it.
Faults are grouped into four categories:
Category | Example Faults | DTC Prefix |
|---|---|---|
| Powertrain | MAF Fault, Coolant Temp Sensor, Misfire Detected, Fuel Pressure Low | P (0x01xxxx) |
| Brakes / ABS / ESP | Wheel Speed FL, Wheel Speed FR, ABS Pump Motor | C (0x02xxxx) |
| Body | Driver Door Switch Stuck | B (0x03xxxx) |
| Network | CAN Timeout Engine ECU, CAN Timeout ABS | U (0x04xxxx) |
Workflow — inject a fault and read it back:
- Arm a fault in the DTC panel (e.g. MAF Fault).
- The corresponding telltale lights immediately.
- Switch to the Simulator and send a
0x19 02 09request (ReadDTCByStatusMask — all active DTCs). - The response payload will contain the injected DTC code.
- Send
0x14 FF FF FF(ClearDiagnosticInformation — all groups) to clear. - Confirm the telltale extinguishes and the
0x19response is empty.
Read Active DTCs
19 02 09> ReadDTCByStatusMask — status byte 0x09 = testFailed | confirmedDTC
Clear All DTCs
14 FF FF FF> ClearDiagnosticInformation — group 0xFFFFFF = all groups
Fault injection bypasses UDS framing entirely — it writes directly into faultTriggers in UDSContext. This is intentional: it lets you set up a known DTC state before testing your 0x19 or 0x14 handler logic.
Feature Gates
Gate token | Controls | Plan required |
|---|---|---|
| cluster_view | High-fidelity animated gauges, telltales, fault injection panel | Premium |
Free-tier users see a static preview of the cluster layout and an upgrade prompt. The Protocol State panel (session/timer) is visible on all plans.