Ddt4all
OBD tool
Install / Use
/learn @cedricp/Ddt4allREADME
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.0.7 - Latest stable release with enhanced device support and performance improvements.
🚀 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.0.7)
- Intelligent Device Detection: Automatic adapter identification via
ATIcommand - 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 13 languages with comprehensive 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 :
![]()
🔧 Core Requirements (Essential):
- Python 3.8.6 - 3.10.x (32-bit/64-bit) - Python 3.10 recommended
- PyQt5 - GUI framework
- pyserial - Serial communication
- pyusb - USB device support
- crcmod - Checksum functions
🌐 Enhanced Features (Optional but Recommended):
- PyQtWebEngine - Provides
PyQt5.QtWebEngineWidgetsfor documentation viewing - pywin32 - Windows serial support (Windows only)
📦 Quick Installation:
# Basic installation (minimum requirements)
pip install PyQt5 pyserial pyusb crcmod
# Enhanced installation (recommended)
pip install PyQt5 PyQtWebEngine pyserial pyusb crcmod
# Windows users (additional - recommended)
pip install pywin32
# Complete installation (all features)
pip install -r requirements.txt
# Alternative with specific versions (matches requirements.txt)
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
⚠️ Important Notes:
- PyQt5.QtWebEngineWidgets: Provided by PyQtWebEngine package, used for enhanced documentation viewing
- If PyQtWebEngine fails to install: DDT4All will still work, but documentation viewing will be limited
- Python Compatibility: 3.8.6 - 3.10.x supported (32-bit and 64-bit), tested on 3.8.6, 3.10.12
- WebEngine Compatibility: Optional PyQtWebEngine support with graceful fallback for documentation viewing
- Virtual Environment: Recommended setup guide .
🔌 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
- **Troub
