ddtx
Renault / Dacia / Nissan ECU diagnostics in the browser
About
A TypeScript port of DDT4All that runs entirely client-side against an ELM327-family adapter over Web Serial. No install, no Python, no Windows — and no backend.
It ships without the ECU database, so you bring your own ecu.zip. It is stored in the browser once and then read in place, never unpacked.
No warranty
This software talks to real vehicle control units, and writing to one can be irreversible. Provided as is, with no responsibility or liability for how it is used or for any consequence of using it.
Status: it reads a real vehicle
Verified on a Renault Master II over K-line KWP2000. The sweep identified four fitted modules, matched two against the catalogue exactly, and read stored faults off both the ABS and the engine ECU — two rear-right wheel faults and a brake switch on the first, a glow plug relay and the same brake switch on the second. Two independent modules agreeing on the brake switch is what a working decode looks like.
| Measurement | Value |
|---|---|
| Real ECU response time (ABS) | p50 299 ms |
| Real ECU response time (airbag) | p50 885 ms |
| Host ↔ adapter round trip | 5.7 ms |
The ECU is 50–150× the link — which answers the question the whole port was hedged on: browser latency is noise.
Features
- Web Serial — ELM327-family adapters, ISO-TP framing and K-line init modes
- 1,580 ECUs, 39,665 screens replayed from the database in demo mode, no adapter needed
- Module sweep — identifies fitted modules and matches them against the catalogue
- Fault codes — read and clear stored DTCs
- English & Polish interface, translated separately from the database
- Write gates — an explicit toggle, an adapter lock and a confirmation
Not verified
Nothing has been written to a vehicle. The thirteen ported hardware procedures are marked unverified because they are — airbag resets and EEPROM erases are not things to test speculatively.
Documentation
The user guide covers the database, the catalogue, reading a screen, fault codes and the write gates. Deeper reference lives in docs/ — notably ecu-format.md, a reference for the ECU database format measured over all 1,580 ECUs, including its quirks and data faults. No such reference exists upstream.
Stack: TypeScript, Web Serial, WebAssembly plugins, pnpm + Turborepo
