• This space is dedicated to sharing my professional insights, technical guides, and industry resources related to automotive diagnostics, ECU systems, and database management. Here you’ll find a collection of my LinkedIn posts, original articles, and reference materials designed to support technicians, engineers, and anyone interested in modern vehicle technologies.

    Whether you’re exploring best practices for UDS and CAN bus communication, looking for troubleshooting strategies, or interested in process optimization, these resources are here to inform and inspire.

If D&D Were a Modern Vehicle

The road winds endlessly. Fog thickens. Somewhere deep in the system, a rogue sensor awakens. A diagnostic spell is cast. And the party rolls for insight…
Although it may seem like an odd connection, Dungeons & Dragons and modern vehicle networks are more alike than you’d think. Both are built on complex systems, hidden rules, constant negotiation — and chaos barely held at bay by a central controller.


The Dungeon Master: The Serial Gateway
In our campaign, the Game Master is the Central Gateway Module — like GM’s Serial Data Gateway. It decides who gets to speak, who gets ignored, and when the Big Bad (Check Engine Light) makes its dramatic entrance. The Gateway ties the world together — bridging CAN, LIN, Ethernet, and many more realms like a seasoned DM weaving a multiverse.

The Adventuring Party: CAN Bus
The CAN Bus is your party. Bold, loud, full of personality. Every node (module) is trying to take their turn, shout their move, or pass secret notes using multiframe messages. The Gateway enforces initiative order — but sometimes, they still all try to talk at once.

The Quiet NPCs: LIN Nodes
LIN nodes are your silent villagers, tavern workers, and background merchants. They only speak when prompted and only ever say one thing — but they’re essential. Need to roll down the window or adjust the cabin temperature? That’s a LIN Node doing their job.

The Spellbook: UDS
Unified Diagnostic Services (UDS) is your grimoire.
Cast $22 and you’re scrying for ancient data.

Cast $2E and you’re rewriting the world — a literal “Modify Memory” spell.

$10 02? That’s a long rest. Reset the session, regain your power.
The Dice Rolls: Error Codes and Conflict
A $7F Negative Response? That’s a critical failure on your persuasion check — the transmission module isn’t buying it.

A priority ID conflict? Just two modules bickering over who loots the magic sword (or controls the ABS system).

The World Under the Hood
Modern vehicle networks are high fantasy in disguise:
Spells. NPCs. Initiative. Message latency. Inter-module politics.
Just like a good campaign — it only works when the party communicates properly.

Modern Vehicle Networking

I created this infographic to break down the 5 core automotive bus protocols — each powering different systems in today’s vehicles. From low-speed seat controls to high-bandwidth sensor fusion, these protocols define how data moves inside the car.

Here’s a quick glance at:
🔵 LIN – Simple, cost-effective, time-triggered
🟢 CAN – The workhorse for control systems
🟠 CAN-FD – Modern diagnostics & logging
🟣 FlexRay – Precise and fault-tolerant
🔴 Automotive Ethernet – The backbone of autonomy & infotainment

As we enter the era of Software Defined Vehicles, understanding in-vehicle networking is more critical than ever.

Why Automotive Ethernet Is the Backbone of Software‑Defined Vehicles

Today’s cars are more like rolling data centers. They are packed with cameras, sensors, and cloud‑connected services to increase consumer comfort and connectivity. However, to unlock features like real‑time driver‑assist, seamless OTA updates, and powerful centralized ECUs – you need a network that’s fast, scalable, and reliable. Enter Automotive Ethernet.

Major OEMs are already on board:
• GM’s Global B drives next‑gen EVs and trucks.
• Ford’s FNV powers secure, fully networked vehicles.
• Stellantis’ STLA Brain delivers cloud‑connected, software‑first experiences.

As the industry shifts to software‑defined vehicles, Automotive Ethernet is the hidden hero to enable the speed, security, and flexibility that tomorrow’s mobility depends on.

UDS Negative Response Codes (NRC) – Technical Reference

Format:
[NRC] – Name
Meaning: (Explanation)


0x10 – General Reject

Meaning:
The server (ECU) rejects the request without providing any additional diagnostic information.


0x11 – Service Not Supported

Meaning:
The requested service is not supported by the server in any session.


0x12 – Sub-function Not Supported

Meaning:
The requested sub-function is not supported by the server, though the service itself is recognized.


0x13 – Incorrect Message Length or Invalid Format

Meaning:
The request message does not conform to expected length or structure (e.g., missing parameters).


0x14 – Response Too Long

Meaning:
The positive response exceeds the maximum allowed message size.


0x21 – Busy Repeat Request

Meaning:
The server is temporarily busy processing another task. The client should resend the request after a delay.


0x22 – Conditions Not Correct

Meaning:
Preconditions for processing the request are not met. Examples:

  • Vehicle state (e.g., ignition off)
  • Required prior sequence incomplete
  • Environmental parameters invalid

0x24 – Request Sequence Error

Meaning:
The order of requests is invalid or incomplete. For example, a request was received before a required initiation.


0x25 – No Response From Sub-net Component

Meaning:
The server attempted to forward the request to a sub-component or downstream node, but received no response.


0x26 – Failure Prevents Execution of Requested Action

Meaning:
An internal error or malfunction prevents executing the requested action.


0x31 – Request Out of Range

Meaning:
Request parameters are outside the permissible range or are invalid in the current context.


0x33 – Security Access Denied

Meaning:
Security access is denied. This may occur due to:

  • An unauthorized attempt
  • Incorrect sequence of steps
  • General access restrictions

0x35 – Invalid Key

Meaning:
The security key provided in the request is incorrect.


0x36 – Exceeded Number of Attempts

Meaning:
The maximum number of allowed attempts to access security functions has been exceeded. A lockout is active.


0x37 – Required Time Delay Not Expired

Meaning:
The server requires a delay period before accepting additional security-related requests.


0x70 – Upload Download Not Accepted

Meaning:
The server has refused the request to initiate upload/download (programming) mode.


0x71 – Transfer Data Suspended

Meaning:
An ongoing data transfer session is temporarily suspended by the server.


0x72 – General Programming Failure

Meaning:
A general error occurred during programming or data transfer, preventing completion.


0x73 – Wrong Block Sequence Counter

Meaning:
The sequence counter in the transfer data block does not match the expected value.


0x78 – Request Correctly Received – Response Pending

Meaning:
The server has received the request and is processing it, but requires additional time before responding definitively.


0x7E – Sub-function Not Supported in Active Session

Meaning:
The sub-function requested is not supported in the current diagnostic session (e.g., Default Session).


0x7F – Service Not Supported in Active Session

Meaning:
The service requested is not supported in the current diagnostic session.


0x81 – RPM Too High

Meaning:
Engine speed exceeds the allowed threshold for executing the requested function.


0x82 – RPM Too Low

Meaning:
Engine speed is below the minimum threshold required for this function.


0x83 – Engine Is Running

Meaning:
The engine must be stopped to proceed.


0x84 – Engine Not Running

Meaning:
The engine must be running to proceed.


0x85 – Engine Run Time Too Low

Meaning:
Engine run time since start is insufficient for executing the function.


0x86 – Temperature Too High

Meaning:
The measured temperature exceeds the upper limit permitted for the request.


0x87 – Temperature Too Low

Meaning:
The measured temperature is below the lower limit required for the request.


0x88 – Vehicle Speed Too High

Meaning:
Vehicle speed exceeds the allowed maximum for the function.


0x89 – Vehicle Speed Too Low

Meaning:
Vehicle speed is below the minimum threshold required.


0x8A – Throttle/Pedal Too High

Meaning:
The throttle or accelerator pedal position exceeds the permitted value.


0x8B – Throttle/Pedal Too Low

Meaning:
The throttle or accelerator pedal position is below the required minimum.


0x8C – Transmission Range Not in Neutral

Meaning:
The transmission must be shifted to Neutral to perform the operation.


0x8D – Transmission Range Not in Gear

Meaning:
The transmission must be in a drive gear (not Neutral/Park).


0x8F – Brake Switch(es) Not Closed

Meaning:
The brake pedal must be pressed (brake switch closed) to proceed.


0x90 – Shifter Lever Not in Park

Meaning:
The shifter must be in Park position to execute the request.


0x91 – Torque Converter Clutch Locked

Meaning:
The torque converter clutch must be disengaged.


0x92 – Voltage Too High

Meaning:
System voltage exceeds the allowable limit for safe operation.


0x93 – Voltage Too Low

Meaning:
System voltage is below the required minimum threshold.