SimuBench
+6 modules
SimuBench
An ECU engineering bench for heavy machinery, written in Rust
A complete environment for ECU simulation, diagnostics, calibration and engineering. Every module implements the protocols, physics and behaviours of the matching hardware: Tier 4 diesel ECM with DPF/SCR/EGR, powershift TCM with real electronic D-R shuttle, ABS/ESP/TCS with wheel physics, BCM, load-sensing HCM and a Madgwick IMU. Seven ECUs run together in real time at 60 Hz, with J1939 and UDS/ISO 14229 over CAN, ECU remapping, firmware flashing on real hardware and CI/CD with GitHub Actions. Desktop UI in egui, a production CLI and transport over SocketCAN, Serial and hardware adapters.
Technical Highlights
- Real-time multi-ECU simulation at 60 Hz: ECM, TCM, ABS/ESP/TCS, BCM, HCM, VCM and ICM driven by a master tick
- Tier 4 Final diesel engine with a realistic torque curve, load-varying BSFC, turbo, thermal behaviour and DPF/SCR/EGR aftertreatment
- 16F/16R powershift transmission with clutch fill/modulate/lock, adaptive auto-shift and the real electronic D-R shuttle sequence
- Full J1939 and UDS/ISO 14229: trace by PGN/SA, UDS console, firmware flashing, DID reads, security access and DTC management
- Professional ECU remapping: six 3D maps with heat-map and isometric projection, six 2D curves, 64 KB ROM HEX editor, 16 patches and 13 bit fields
- ABS/ESP/TCS with real rotational inertia and a Madgwick AHRS IMU: v_ref derived from the unblocked wheels and rollover at 0.4 g, the heavy machinery limit
- Load-sensing hydraulics with pump, orifice-physics actuators, accumulator with bleed-down and fluid temperature derived from duty
- Firmware flashing on real hardware across 12 production phases, with allowlist, preflight, transport metrics and a JSON/Markdown conformance report
- Leak Physics Lab with rupture model, Monte Carlo, CSV-based calibration and temporal risk prediction
- 27 physics and protocol realism fixes against real machinery behaviour — EEC1 at 100 ms, 440/80R24 tyre radius, accumulator at 3 bar/s
- CI/CD with GitHub Actions: check, tests, I/O mock, vendor bridge E2E and nightly Monte Carlo
- Pluggable transport adapters: SocketCAN, Serial, mock for hardware-free testing, CAN traffic replay and a vendor bridge
Stack & Metrics
Rust
Language
J1939 / UDS
Protocols
7 at 60 Hz
ECUs
v0.3.0
Version
