Service Interaction Protocol
Write Data By Identifier
0x2EProtocol Identifier
The WriteDataByIdentifier service allows the client to write data record values to the server (ECU) by specifying specialized Data Identifiers (DIDs).
warning _entry
High Risk: Writing incorrect configuration or calibration data can lead to permanent ECU malfunction (“bricking”).
Overview
ISO 14229-1
“The WriteDataByIdentifier service is used by the client to write a data record value to a server, specified by a data identifier.”

Click to Enlarge
How UDS Write operations move data from the Tester into Permanent ECU Storage.
Interactions & Prerequisites
Required State
Session0x03 (Extended)
SecurityUnlocked Lvl 1+
Verification
Always follow a Write (0x2E) with a Read (0x22) to verify the data was persisted correctly in Non-Volatile Memory (NVM).
Common Writable DIDs
DID | Name | Expected Length | Security Lvl |
|---|---|---|---|
| 0xF190 | VIN | 17 Bytes | Level 1 |
| 0xF18C | Serial Number | Variable | Level 1 |
| 0xFD00 | Calibration | Variable | Level 2 |
| 0xF187 | Part Number | Read-Only | ✗ Locked |
Message Format
Request Format
Byte | Field | Value | Description |
|---|---|---|---|
| 0 | SID | 0x2E | WriteDataByIdentifier |
| 1-2 | DID | 0xXXXX | Target DID |
| 3-N | Data | ... | Data payload to be written |
Response Format
Byte | Field | Value | Description |
|---|---|---|---|
| 0 | Response SID | 0x6E | Positive Response |
| 1-2 | DID | 0xXXXX | Echo of target DID |
TX/RX Examples
Write VIN (Successful Sequence)
tx_packet
Enter Extended
10 03rx_packet
Success
50 03...tx_packet
Unlock Sec
27 01... [etc]tx_packet
Write VIN
2E F1 90 57 42 41...rx_packet
Success
6E F1 90UML Sequence Diagrams
Configuration Write & Verification
4 stepsTester
ECU
Negative Response Codes (NRCs)
Logic_Exceptions
Critical_Error_Paths
NRC_0x13
Incorrect Message Length
Data payload size does not match target DID definition.
SEQ_DIAGRAM_DUMPOFFSET_0x7F
Incorrect Message Length Flow
2 stepsTester
ECU
NRC_0x31
Request Out Of Range
DID is Read-Only or unsupported.
SEQ_DIAGRAM_DUMPOFFSET_0x7F
Request Out Of Range Flow
2 stepsTester
ECU
NRC_0x33
Security Access Denied
Target DID is locked; run 0x27 first.
SEQ_DIAGRAM_DUMPOFFSET_0x7F
Security Access Denied Flow
2 stepsTester
ECU