UDS Tester
Disconnected
🏠
Dashboard
🔌
Bus Config
⚙️
ECU Config
🔒
Session Control
⚠️
DTC Manager
📊
DID Explorer
⚙️
Routine Control
📡
Raw UDS
💾
Flashing
🎯
EOL Calibration
📝
Logger
Hide UDS Log
UDS Tester
›
Dashboard
Dashboard
System Overview & Quick Actions
Connection Status
CAN Bus:
Disconnected
Interface:
-
Channel:
-
Bitrate:
-
Quick Actions
Read VIN
Read SW Version
Read All DTCs
Clear DTCs
Session Info
Current Session:
Default (0x01)
Security Level:
Unlocked
Tester Present:
Off
Addressing:
0x7E0 → 0x7E8
One-Click Flash
Firmware File *
Flash Address (hex)
ECU Config File (optional)
Advanced: Seed-Key Script
Seed-Key Script (Python)
Security Level
Flash ECU
Abort
Connect
ECU Config
Session
Security
Tester Present
Flash
Idle
0%
Waiting...
Recent Activity
No activity yet. Connect to CAN bus to start.
Bus Config
CAN Interface Connection Settings
CAN Interface
Interface Type
PCAN
SocketCAN
Vector
Kvaser
IXXAT
Virtual
Channel
Bitrate (bps)
125,000
250,000
500,000
1,000,000
Connect
Disconnect
Connection Status
Status:
Disconnected
Interface:
-
Channel:
-
Bitrate:
-
UDS Addressing
TX ID (Tester):
0x7E0
RX ID (ECU):
0x7E8
Functional ID:
0x7DF
Addressing is configured via ECU Config page or JSON upload.
DTC Manager
Diagnostic Trouble Codes
DTC Summary
Total DTCs:
0
Active:
0
Pending:
0
Confirmed:
0
Actions
Scan All DTCs
Scan Active
Clear All DTCs
Refresh Summary
Filters
Active DTCs (testFailed)
Pending DTCs
Confirmed DTCs
Warning Indicator
DTC List
Start Polling
Stop Polling
Polling Interval:
ms
DTC Code
Name
Category
Status
Flags
Actions
No DTCs loaded. Click "Scan All DTCs" to read from ECU.
DID Explorer
Data Identifiers
Available DIDs
-
Total configured
Readable
-
Read-supported
Writable
-
Write-supported
Polling
OFF
Live updates
Read Selected
Read All DIDs
Clear Table
Start Polling
Stop Polling
ms
Quick Actions
Read VIN
Read SW Version
Read HW Version
Read Calibration ID
Read ECU Name
Read Battery Voltage
Data Identifiers
DID
Name
Description
Type
Raw Data
Decoded Value
Unit
Timestamp
Actions
Write DID
(no writable DIDs configured)
Open Write Editor
Pick a writable DID to open the guided editor — sliders, units, range checks and automatic read-back. For an unlisted DID, use Advanced raw write.
Advanced raw write
Raw Hex
ASCII
Uint16
Uint32
Float32
Write
⚠️ Writing DIDs can change ECU behavior. Use with caution.
Routine Control
UDS RoutineControl (0x31) — start, stop, request results
Configured Routines
-
From ECU config
Last Status
-
Most recent response
Configured Routines
Routine ID
Name
Description
Actions
Manual Routine Control
0x01 startRoutine
0x02 stopRoutine
0x03 requestRoutineResults
Send
Provide the routine ID, sub-function, and optional option-record bytes (hex).
Last Response
No routine executed yet.
Session Control
Diagnostic Sessions & Security Access
Session:
Default (0x01)
Security:
Locked
Tester Present:
Off
🔑
Diagnostic Session (0x10)
Default
0x10 0x01
Extended
0x10 0x03
Programming
0x10 0x02
Custom
0x10 0x
Reset to Default Session
ECU Reset (0x11):
Hard (01)
Key Off/On (02)
Soft (03)
💓
Tester Present (0x3E)
Start
0x3E 0x80 (suppress)
Stop
Stop keep-alive
Interval (ms):
1s
2s
5s
Send Single Tester Present (with response)
🔒
Security Access (0x27)
Level:
(odd = seed request)
🔓 One-Click Unlock
Request seed → compute key → send key
— or do it manually —
Request Seed
Send Key
Seed (from ECU):
Key (hex, manual entry):
📋 Session Activity
Clear
🧮 Seed → Key Algorithm (Python)
Compute Key & Unlock
Test Only
Example
Define
compute_key(seed: bytes) -> bytes
.
Compute Key & Unlock
= request seed → run algorithm → send key automatically.
def compute_key(seed: bytes) -> bytes: """XOR seed with constant mask.""" MASK = 0xDEADBEEF seed_int = int.from_bytes(seed, 'big') key_int = seed_int ^ MASK return key_int.to_bytes(len(seed), 'big')
Result:
Ready.
Raw UDS
Manual Service Transmission
Send Raw UDS Request
Service ID (hex)
Payload (hex bytes, space-separated)
Timeout (ms)
Send
Clear Log
Presets:
DiagSession Default
DiagSession Extended
Read VIN
Read SW Ver
Read All DTCs
Clear All DTCs
TesterPresent
Raw UDS log will appear here...
Flashing
ECU Reprogramming & Routine Control
💾
Flash Firmware
Firmware File (.bin / .hex / .s19)
—
Memory Address (hex)
Start Flash
Abort
Idle
0%
Waiting...
🔧
Routine Control (0x31) — Advanced
Routine ID (hex)
Option Data (hex, optional)
Start (01)
Stop (02)
Result (03)
📋
Pre-Flash Checklist
✗
CAN Bus Connected
✗
Programming Session (0x02)
✗
Security Unlocked
✗
Firmware File Selected
✗
Tester Present Active
Refresh Checklist
📜
Flash Log
Clear
Flash log ready...
Logger
UDS Transaction Log
Refresh
Clear
Export CSV
Auto-scroll
Filter:
All
Frames
Errors
UDS Frames
0 entries
Time
Type
Arb ID
DLC
Data
No log entries yet.
ECU Config
ECU Definitions & Settings
Load ECU Configuration
Upload ECU Config JSON:
Upload & Load
Refresh Info
ECU Info
Name:
-
TX ID:
-
RX ID:
-
DIDs:
-
DTCs:
-
Security Levels:
-
Configured DIDs
DID
Name
Type
Unit
R/W
No config loaded
Configured DTCs
DTC
Name
Category
No config loaded
EOL Calibration
Profile-driven batch write & verify
1 · Load Profile & Run Config
Calibration profile (.csv) — target values, one row per parameter:
Load Profile
Run config (.json) — session / security / options (optional):
Load Run Config
2 · Run
Run Calibration
Abort
Export Report
Idle
0%
Waiting...
Total:
-
Verified:
0
Failed:
0
Parameters
#
DID
Name
Target
Read-back
Status
No profile loaded
UDS Log
Clear
Hide
Config IDs only
Waiting for UDS traffic...
Modal Title
×
Modal content goes here
Write DID
×