DDT4All

DDT4All is a comprehensive tool to create your own ECU parameters screens and connect to a CAN network with various OBD-II interfaces including ELM327, Vlinker FS, VGate, ObdLink SX, and ELS27 adapters.
Current Version: v3.1.1 (Aureate Leviathan) - Production-ready with enhanced device support, STN/STPX protocols, and comprehensive translation system.
🚀 Recent Major Improvements
✅ Enhanced Device Compatibility & Connection Stability
- Multi-Device Support: Full compatibility with Vlinker FS, VGate, ELM327, ObdLink SX/EX, ELS27 adapters
- Device-Specific Optimization: Automatic speed selection and optimal settings for each adapter type
- Connection Types: USB, Bluetooth, and WiFi connections with automatic detection
- Smart Reconnection: Automatic reconnection with device-specific handling and retry logic
- Cross-Platform: Optimized for Windows, Linux, and macOS with platform-specific configurations
- USB CAN Support: Added support for specialized USB CAN adapters with fallback handling
🌟 Enhanced Device Manager with STN/STPX Support (v3.1.1)
- Intelligent Device Detection: Automatic adapter identification via
ATI command
- Enhanced DeviceManager: Centralized configuration with STN/STPX support
- VGate STN Protocol: Full STN implementation with automatic pin swapping
- STPX Mode: Enhanced long command support with comprehensive error handling
- OBDLink Enhanced Features: CAN Address Filtering (CAF) and STN optimizations
- DerleK USB 3 Support: Complete pin swapping and configuration management
- ELS27 Integration: Specific CAN pin configuration (12-13) support
- Auto-Configuration: Device-specific settings automatically applied
- Fallback Support: Graceful degradation for unsupported devices
- Performance Optimization: Enhanced communication speeds up to 1,000,000 bps
- Fully Translated Interface in 14 languages with 100% translation coverage
- Supported Languages: English, Français (fr), Czech(cs_CZ), Deutsch (de), Español (es), Italiano (it), Русский (ru), Polski (pl), Nederlands (nl), Português (pt), Magyar (hu), Română (ro), Српски (sr), Türkçe (tr), Українська (uk_UA)
- Real-time Language Switching with proper encoding support
- HTML-Aware Translations preserving markup while translating content
⚡ Performance & Reliability Improvements
- Enhanced Device Detection: Optimized port scanning with intelligent device identification
- Thread-Safe Operations: QThread-based operations with proper synchronization for connection stability
- Enhanced Error Handling: Comprehensive error recovery and user-friendly messages
- Memory Optimization: Improved resource management and cleanup
🔧 New Device & Speed Management
- VGate iCar Pro Support: Full support for VGate adapters with high-speed communication
- Intelligent Speed Selection: Device-specific speed options automatically loaded
- Optimal Settings Engine: Automatic timeout and flow control configuration per device
- Enhanced Vlinker Support: Improved speed options (No, 57600, 115200) for better performance
Android porting:
Notes:
This application is work in progress, so be very careful when using expert mode.
Using the application in non expert mode should not be harmful for your vehicle (leave the expert mode button released).
Important :
Do not use this software if you don't have a strong knowledge of how a CAN network (or ECU) works, you can really do bad things with it, especially if you're working on a vehicle
The author declines all responsibility about a bad use of this tool. You are the only responsible
This tool is mainly aimed for CAN ISO_TP network study
Cloning Source Code
Dependencies :

Modern Python Packaging (Recommended)
DDT4All now uses modern Python packaging with pyproject.toml for streamlined installation:
# Clone the repository
git clone https://github.com/cedricp/ddt4all.git
cd ddt4all
# Install in development mode (recommended for developers)
pip install -e .
# Install with optional dependencies
pip install -e ".[dev]" # Development tools
pip install -e ".[can]" # CAN bus support
pip install -e ".[network]" # Network protocols
pip install -e ".[bluetooth]" # Bluetooth support (Linux/Windows)
# Install all optional dependencies
pip install -e ".[dev,can,network,bluetooth]"
# Run this
python -m ddt4all
Core Requirements (Essential):
- Python 3.8+ - Python 3.10+ recommended
- PyQt5 - GUI framework (>=5.15.0,<5.16.0)
- pyserial - Serial communication (==3.5)
- pyusb - USB device support (==1.2.1)
- crcmod - Checksum functions (==1.7)
Enhanced Features (Optional but Recommended):
- PyQtWebEngine - Enhanced documentation viewing
- pywin32 - Windows serial support (Windows only, >=227)
- python-can - Advanced CAN bus support (>=4.0.0)
- obd - OBD-II protocol support (>=0.7.1)
Development Tools:
Legacy Installation (Alternative):
# Manual dependency installation
pip install "PyQt5>=5.15.0,<5.16.0" "PyQtWebEngine>=5.15.0,<5.16.0" pyserial==3.5 pyusb==1.2.1 crcmod==1.7
# Windows-specific dependencies
pip install pywin32>=227
Important Notes:
- Modern Packaging: Uses
pyproject.toml for dependency management and build configuration
- Python Compatibility: 3.8+ supported (32-bit and 64-bit), tested on 3.8.6, 3.10.12, 3.13.x
- WebEngine Compatibility: Optional PyQtWebEngine support with graceful fallback
- Virtual Environment: Recommended setup guide
- Development Mode: Use
pip install -e . for development to enable editable installs
🔌 Supported Diagnostic Adapters
- Vlinker FS - USB/Bluetooth (Recommended for best performance and stability)
- VGate iCar Pro - USB/Bluetooth/WiFi (High-speed adapter with communication up to 1,000,000 bps)
- ELM327 - USB/Bluetooth/WiFi (Original with PIC18F25K80, some Chinese clones supported)
- ObdLink SX - USB (High-speed professional adapter with RTS/CTS flow control)
- ObdLink EX - USB (Professional adapter, tested and confirmed working)
- ELS27 - USB (Alternative ELM327-compatible adapter)
- ELS27 V5 - USB (Enhanced ELS27 with CAN on pins 12-13, improved compatibility)
- USB CAN Adapters - USB (Specialized CAN adapters with automatic fallback handling)
Connection Methods:
- USB Serial: Serial-over-USB connection with automatic driver detection (most adapters)
- USB Direct: Native USB communication for specialized CAN adapters
- Bluetooth: Wireless connection with pairing support
- WiFi: TCP/IP connection (format:
192.168.0.10:35000)
Latest Improvements:
- Enhanced USB Support: Added dedicated handling for USB ELM327 adapters (
STD_USB)
- USB CAN Adapters: New support for specialized USB CAN interfaces with intelligent fallback
- Device Normalization: Improved adapter type mapping for better device recognition
- Connection Reliability: Enhanced error handling and timeout management per device type
Note: Most adapters (ELM327, Vlinker, VGate, ObdLink, ELS27) use serial-over-USB communication through standard COM ports. USB CAN adapters now have dedicated support with automatic fallback to ensure compatibility.
📋 Supported Device Configuration:
| Device |
Speed Options |
Default |
Timeout |
Flow Control |
Best For |
Notes |
| Vlinker FS |
No, 57600, 115200 |
38400 |
3s |
None |
Enhanced |
Most stable, best compatibility |
| VGate iCar Pro |
No, 115200, 230400, 500000, 1000000 |
115200 |
2s |
None |
Enhanced |
High-speed adapter, very high speeds |
| ELM327 Original |
Standard speeds |
38400 |
5s |
None |
General use |
Verify PIC18F25K80 chip |
| ELM327 Clone |
Standard speeds |
9600-38400 |
5s |
None |
Budget option |
Test different baud rates |
| ELM327 USB |
Standard speeds |
38400 |
5s |
None |
USB Direct |
Dedicated USB ELM327 support |
| ObdLink SX |
No, 500000, 1000000, 2000000 |
115200 |
2s |
RTS/CTS |
Professional |
Highest speeds, premium adapter |
| ObdLink EX |
No, 500000, 1000000, 2000000 |
115200 |
2s |
RTS/CTS |
Professional |
Confirmed working, professional grade |
| ELS27 |
Standard speeds |
38400 |
4s |
None |
Alternative |
Good ELM327 alternative |
| ELS27 V5 |
Standard speeds |
38400 |
4s |
None |
Enhanced |
CAN pins 12-13, PyRen/Renolink compatible |
| DERLEK USB-DIAG2 |
Standard speeds |
38400 |
4s |
None |
Professional |
Auto pin swapping, STN/STPX support |
| DERLEK USB-DIAG3 |
Standard speeds |
38400 |
4s |
None |
Professional |
Auto pin swapping, STN/STPX support |
| USB CAN |
Varies |
38400 |
5s |
None |
Specialized |
Intelligent fallback, auto-detection |
⚙️ Connection Optimization Tips:
- USB: Most stable, recommended for diagnostic work
- Bluetooth: Good for mobile use, may have occasional dropouts
- WiFi: Convenient but requires stable network (format:
192.168.0.10:35000)
- Speed Selection: Each adapter now has device-specific speed options for optimal performance
- Troubleshooting: Use built-in connection test for automatic optimization
🚀 New Speed Selection Feature:
DDT4All now automatically provides optimal speed options based on your selected adapter:
- Automatic Detection: Device-specific speed ranges are automatically loaded
- Performance Optimization: Each adapter gets speeds suited to its capabilities
- Easy Selection: Simply choose your adapter type and select from available speeds
⚡ Technical Speed Implementation:
VGate iCar Pro (STN-based, high-speed capable):
- Available: No, 115200, 230400, 500000, 1000000 bps
- Default: 115200 bps (speedcombo index 2)
Vlinker FS (Moderate speeds, stable):
- Available: No, 57600, 115200 bps
- Default: 38400 bps
ObdLink SX/EX (Professional, highest speeds):
- Available: No, 500000, 1000000, 2000000 bps
- Default: 115200 bps with RTS/CTS flow control
ELM327 variants (Standard compatibility):
- Speed fallback: 38400, 115200, 230400, 57600, 9600, 500000, 1000000, 2000000 bps
- Default: 38400 bps
🔍 Device Identification Guide:
- Vlinker FS: Usually labeled "Vlinker FS" or "OBDII WiFi"
- VGate iCar Pro: Labeled "VGate" or "iCar Pro", often with WiFi/Bluetooth indicators
- ELM327 Original: Look for "PIC18F25K80" chip marking
- ELM327 Clone: Various markings, test with 9600-38400 baud
- ELM327 USB: Dedicated USB connector, may show as "STD_USB" in interface
- ObdLink SX: Professional blue/black housing, "OBDLink SX" branding
- ObdLink EX: Professional housing, "OBDLink EX" branding, similar to SX
- ELS27: Similar to ELM327 but with "ELS27" marking
- ELS27 V5: Enhanced ELS27 with "V5" marking, CAN pins 12-13, better driver compatibility
- USB CAN: Specialized CAN adapters, various manufacturers, auto-detected as "USBCAN"
⚡ Quick Setup Guide:
- Connect Device: USB/Bluetooth/WiFi as appropriate
- Launch DDT4All: Application will auto-detect most devices
- Test Connection: Use built-in connection test feature
- Optimize Settings: Adjust baud rate if needed based on device type
✅ User-Tested Devices:
- ObdLink EX: Confirmed working by community user with excellent results
- Vlinker FS: Extensively tested, recommended for best compatibility
- VGate iCar Pro: Enhanced adapter with excellent speed capabilities
- ELM327 Original: Well-tested with PIC18F25K80 chip
- ELS27 V5: Enhanced compatibility, works with PyRen and Renolink drivers
Note: If you have successfully tested other devices with DDT4All, please let us know so we can update this list!
Next, you need to get the source code.
git clone https://github.com/cedricp/ddt4all.git
Windows installer
Get the fully packaged installer here : Release area
🚀 Key Features
🔧 Diagnostic Functions
- Read/Clear DTC: Comprehensive diagnostic troub