UDS Diagnostic Protocol: A Complete Guide for Automotive Engineers

Dhananjayan K S
31 August 2026
Categories:Automotive
UDS diagnostic protocol CAN bus interface showing unified diagnostic services session

The UDS diagnostic protocol — Unified Diagnostic Services, standardised in ISO 14229 — is the universal language between automotive diagnostic tools and vehicle ECUs, enabling fault code reading, ECU programming, configuration, and functional testing across the entire range of vehicle electronic systems. Unified diagnostic services replaced the fragmented, manufacturer-specific diagnostic protocols (KWP2000, ISO 9141) that complicated multi-brand workshop and development tooling, providing a single, consistent automotive diagnostics protocol applicable from the engine ECU through the body controller, ABS, airbag system, HVAC, and infotainment. Each UDS service identifier (SID) defines a specific diagnostic function — reading data, reading DTCs, flashing software, unlocking security access — and an ECU responds to each SID with either a positive response (data or acknowledgement) or a negative response code (NRC) explaining why the request was rejected. Understanding ISO 14229 diagnostics is essential for automotive engineers working in ECU development, validation, end-of-line testing, or aftermarket diagnostics tool development.


UDS Session Types: Default, Extended, and Programming

The UDS diagnostic protocol operates in sessions — modes that determine which services and UDS service identifiers are accessible. Session control is managed by SID 0x10 (DiagnosticSessionControl). The three primary sessions in unified diagnostic services:

  • Default Session (0x01): The ECU's normal operating state — available without any special request. In the default session, UDS diagnostic protocol provides access to standard DTC reading (SID 0x19), read data by identifier (SID 0x22) for non-sensitive parameters, and basic ECU reset. Most automotive diagnostics protocol workshop functions operate in default or extended session.
  • Extended Diagnostic Session (0x03): Unlocks additional UDS service identifiers — actuator tests, ECU configuration writes (SID 0x2E), and access to proprietary data identifiers not available in default session. Security access (SID 0x27) seed-key authentication is required for sensitive operations in extended session.
  • Programming Session (0x02): The UDS diagnostic protocol mode for ECU software flashing — required before the 0x34/0x36/0x37 download sequence can execute. Programming session typically requires the vehicle to be in a specific state (ignition on, engine off) and security access authentication before ISO 14229 diagnostics allows software transfer to begin.

Key UDS Service Identifiers Reference

SID (Hex) UDS Service Name Automotive Diagnostics Protocol Use
0x10 DiagnosticSessionControl Switch between default, extended, programming sessions
0x11 ECUReset Hard reset, soft reset, or key-off reset of target ECU
0x14 ClearDiagnosticInformation Clear all or group-specific DTCs from ECU fault memory
0x19 ReadDTCInformation Read active, confirmed, pending, and historic fault codes
0x22 ReadDataByIdentifier Read ECU data — software version, VIN, calibration ID, live data
0x27 SecurityAccess Seed-key authentication to unlock restricted UDS service identifiers
0x34/0x36/0x37 Download sequence ECU software flashing — request, transfer, exit
0x3E TesterPresent Keep diagnostic session alive during long operations

ISO 14229 Diagnostics on CAN Bus: Transport Layer

UDS diagnostic protocol messages are transported over CAN bus using ISO 15765-2 (ISO-TP) — a transport protocol that segments unified diagnostic services messages longer than 8 bytes into multiple CAN frames. Single-frame UDS messages (≤7 bytes payload) fit in one CAN frame; multi-frame messages (common for ECU programming data transfers and long DTC lists) use a first frame, consecutive frames, and flow control frames defined by ISO-TP. The automotive diagnostics protocol addresses ECUs using CAN IDs — typically a request ID (e.g., 0x7DF broadcast or 0x7E0–0x7E7 for specific ECUs) and a response ID (0x7E8–0x7EF). On modern vehicles with Automotive Ethernet, ISO 14229 diagnostics uses DoIP (Diagnostics over IP, ISO 13400) as the transport layer instead of CAN ISO-TP.


UDS Diagnostic Protocol Tools with Precisol Automation

Precisol Automation's CAN to USB Adapter provides the physical CAN bus interface for UDS diagnostic protocol communication — connecting a test PC to the vehicle CAN bus via OBD-II or direct harness connector, supporting all standard automotive diagnostics protocol session types and UDS service identifiers at full CAN bus speed. The CAN Data Logger captures complete ISO 14229 diagnostics sessions for offline analysis and traceability in ECU validation and end-of-line testing applications.

See UDS diagnostic protocol tools in action in our automotive ECU software validation case study, or explore how Precisol enables ECU simulator applications with full unified diagnostic services support.


Frequently Asked Questions

What is the UDS diagnostic protocol and what is it used for?

The UDS diagnostic protocol (ISO 14229) is the standard automotive diagnostics protocol for ECU communication — covering fault code reading, software flashing, configuration, and functional testing. Unified diagnostic services define a set of service identifiers that diagnostic tools use over CAN bus or Ethernet to access all vehicle ECU functions in development, EOL testing, and workshop diagnostics.

What are the most important UDS service identifiers?

The most used UDS service identifiers are: 0x10 (session control), 0x19 (read DTCs), 0x22 (read data by identifier), 0x14 (clear DTCs), 0x27 (security access), 0x2E (write data by identifier), and the 0x34/0x36/0x37 ECU software flashing sequence. These cover the majority of automotive diagnostics protocol functions used in development, validation, and production testing under ISO 14229 diagnostics.

What is the difference between UDS and OBD-II diagnostics?

OBD-II provides standardised, publicly accessible emissions diagnostics only. The UDS diagnostic protocol provides full ECU access — proprietary data identifiers, security-locked programming, actuator tests, and all non-emissions systems. Workshop and development diagnostics use unified diagnostic services; roadside emissions compliance uses OBD-II. ISO 14229 diagnostics is significantly more capable but requires authentication for advanced functions.

Subscribe to our Blog