DDT4All: Diagnostic Tool for Renault Vehicles
Open-source Python application for vehicle diagnostics, ECU parameter modification, and CAN bus communication with Renault and Dacia cars.
Learn more about ddt4all
DDT4All is a comprehensive vehicle diagnostics application built in Python using PyQt for the GUI interface. It enables direct communication with Electronic Control Units (ECUs) in Renault and Dacia vehicles through OBD-II interfaces and CAN bus protocols. The tool provides capabilities for reading diagnostic trouble codes (DTCs), monitoring real-time sensor data, modifying ECU parameters, and performing advanced vehicle configuration. It supports multiple diagnostic protocols including KWP2000 and UDS, and works with ELM327-compatible adapters. The application includes a database of vehicle-specific diagnostic definitions, parameter definitions, and ECU configurations, making it invaluable for automotive technicians, enthusiasts, and researchers working with Renault vehicle systems.
Complete ECU Access
Provides comprehensive access to all vehicle ECUs with the ability to read and write parameters, clear fault codes, and perform advanced diagnostics. Supports live data monitoring with customizable dashboards for real-time vehicle telemetry. Includes extensive parameter databases for various Renault and Dacia models, enabling deep system configuration and troubleshooting capabilities.
Multi-Protocol CAN Support
Implements multiple automotive diagnostic protocols including ISO-TP, KWP2000, and UDS (Unified Diagnostic Services) over CAN bus. Works seamlessly with affordable ELM327 adapters and professional-grade diagnostic interfaces. Provides low-level CAN frame monitoring and custom request capabilities for advanced users performing reverse engineering or custom diagnostic procedures.
Open Diagnostic Database
Features an extensible XML-based diagnostic database that can be edited and expanded by users. Community-driven database includes thousands of ECU parameters, diagnostic identifiers, and vehicle-specific configurations. Supports creating custom diagnostic screens and parameter groups, enabling users to tailor the tool for specific diagnostic workflows or reverse engineering projects.
from ddt4all import DDT4All
ecu = DDT4All()
ecu.connect(port='/dev/ttyUSB0', baudrate=38400)
# Read engine RPM parameter
rpm_value = ecu.read_parameter('EngineSpeed')
print(f"Current RPM: {rpm_value}")
ecu.disconnect()Maintenance release fixing themes, pySerial issues, and adding ELS27 V5 adapter support; requires Python 3.13.2 x64 on Windows (32-bit no longer supported).
- –Upgrade to Python 3.13.2 x64 on Windows; 32-bit systems are deprecated and unsupported in future releases.
- –Verify adapter compatibility with newly supported ELS27 V5 and updated device-specific connection handling.
Release candidate adds ELS27 V5 adapter support, fixes theme issues, and drops 32-bit support; requires Python 3.13.2 x64 on Windows.
- –Upgrade to Python 3.13.2 x64 on Windows; 32-bit systems (last supported in 3.8.x) will lose support in future releases.
- –Test ELS27 V5 adapter compatibility and automatic reconnection logic across USB, Bluetooth, and WiFi connections.
Maintenance release fixing WiFi socket timeouts, binary parsing errors, and UI issues; Windows installer now requires Python 3.13.2 x64.
- –Add checkbox in settings to enable socket timeout for WiFi connections to resolve issue #659.
- –Apply fix for ValueError when parsing binary literals with malformed '0bb' prefix in ECU data.
Top in Developer Tools
Related Repositories
Discover similar tools and frameworks used by developers
colima
Lima-based container runtime provisioning for macOS and Linux.
grbl
Real-time motion control firmware for Arduino-based CNCs.
googletest
xUnit-based C++ testing framework with integrated mocking.
cursor
Local code editor with integrated LLM assistance.
redux-toolkit
Opinionated Redux utilities with simplified setup and Immer integration.