That amber check engine light comes on, and your stomach drops. Is it a $50 sensor or a $5,000 tow-and-repair? You can find out for yourself, in a truck stop parking lot, in about ten minutes. If I could teach every new owner one skill, it would be this — how to check codes on a semi truck before anyone else touches it. Here's the whole process, step by step, assuming you've never done it before.
Why It Pays to Read Your Own Codes First
Roll into a shop blind and you're negotiating with an empty hand. Read the codes yourself first and the picture changes:
- You walk in informed. "I've got an active fault on the aftertreatment system, here's the code" is a very different conversation than "the light's on, please help."
- You can judge whether to keep rolling. Some faults are a "fix it this weekend" situation. Others will put your engine into reduced power (a "derate") if you ignore them.
- You skip paying a diagnostic fee just to learn what a code reader would have told you for free.
Nobody's saying skip the shop — good technicians earn their money. The point is to show up knowing what the truck already told you.
Step 0: Your Dash Might Already Show Codes
Before you buy anything, check whether your truck can display fault codes on the instrument cluster. Many can — some flash the check engine light in a pattern you count, others show faults on a digital display through a steering wheel or dash menu.
Honest advice: the exact procedure differs by make, model, and dash layout, so look it up in your owner's manual — not a forum post, and not any article (including this one) claiming to know your key sequence.
Two limitations of dash codes: they usually show only engine faults (not transmission, brakes, or aftertreatment), and they often give raw numbers with no description. It's a useful free first look, but for the full picture you'll want to plug in — which brings us to the port.
Step 1: Find Your Diagnostic Port
Every semi truck has a diagnostic connector, usually within arm's reach of the driver's seat — under the dash near the steering column, around the fuse panel, or low on the kick panel by your left knee. You'll find one of three types:
- 9-pin round (Deutsch) — the most common on modern heavy trucks. A chunky round plug with two variants (Type 1 and Type 2) that look nearly identical. Our 9-pin Deutsch connector guide explains the difference, the pinout, and why it matters when you buy a cable.
- 6-pin round (Deutsch) — the older round connector, found on trucks using the earlier data link.
- 16-pin (OBD2-style) — some newer trucks use a connector that looks just like your car's. Don't let it fool you — the truck behind it still speaks truck language. More on that in Step 2.
Grab a flashlight, find your port, and note the type — that determines which cable or adapter you need.
Step 2: Pick a Tool That Actually Speaks Truck
Here's where most beginners waste their first $30: they grab the car code reader from their pickup, see a familiar-looking port, and get nothing — or worse, a misleading partial readout.
Car scanners speak OBD2, the light-vehicle protocol. Semi trucks communicate over J1939 (the modern high-speed network) and often J1708/J1587 (the older, slower network still on many working trucks). A car tool simply doesn't speak those languages — we break down why in why your car OBD2 scanner won't read a semi truck.
What to look for in a heavy-duty scan tool, in plain terms:
- J1939 support — non-negotiable for any modern truck.
- J1708/J1587 support — important if your truck (or the next one you buy) is older.
- Reads all modules, not just the engine — transmission, ABS, and aftertreatment faults matter just as much.
- Shows code descriptions, not just raw numbers, so you're not decoding hieroglyphics at midnight.
You can browse heavy-duty diagnostic tools built around exactly these requirements in our product lineup.
Step 3: Connect and Read the Codes
The actual reading is the easy bit: park safely with the brake set, key on (follow your tool's instructions on engine off vs. running), plug the tool into the port until it seats firmly, let it scan, and open the fault list.
Now, the part that trips up every first-timer: fault codes come with a status, and the status matters as much as the code itself.
- Active — the problem is happening right now. The truck currently sees the fault condition.
- Inactive / previously active — the fault happened at some point in the past but isn't occurring at this moment. Trucks remember these, sometimes for a long time.
Don't panic at a screen full of inactive codes. Almost every working truck carries a history of old faults — a low-voltage blip from a weak battery, a sensor that glitched once in the rain. History is context, not a crisis. Your attention belongs on the active codes first.
Step 4: Figure Out What the Codes Mean
Heavy-duty fault codes come as two numbers working together:
- SPN (Suspect Parameter Number) — what component or system is involved.
- FMI (Failure Mode Identifier) — how it's failing (voltage high, voltage low, data erratic, and so on).
The same SPN with a different FMI can mean a different electrical problem — and a different fix. Never ignore the FMI half.
Two resources to bookmark:
- Our free DTC lookup tool — type in the SPN/FMI, get a plain-English description.
- The full guide to SPN and FMI codes explained — how the numbering works and what the common FMIs actually mean.
Write down every code with its status and occurrence count. That list is gold in the next step.
Step 5: Decide What to Do Next
Codes in hand, here's the decision tree I'd walk a friend through:
Active emissions/aftertreatment code? Don't sit on it. Modern engine software escalates: warning light first, then reduced power, eventually a severe derate that leaves you crawling. An early fix on your schedule beats a forced one on the road's schedule.
Code pointing to a circuit fault, especially one that comes and goes? (Think FMIs about voltage or intermittent signals.) Before condemning an expensive part, check the cheap stuff: inspect the connector at that component for corrosion or bent pins, wiggle the harness, look for chafed wiring. A surprising share of "bad sensor" codes are really "bad connection" codes.
Not sure what you're looking at? That's fine — this is where a shop earns its keep. But now you walk in with a written list of codes, statuses, and counts, you can ask pointed questions, and you'll instantly recognize whether the diagnosis matches what the truck actually reported. Informed customers get better outcomes.
Rookie Mistakes to Avoid
- Clearing codes and calling it fixed. Erasing a code repairs nothing. If the fault is real, it returns — and you've thrown away the history that helps diagnose it. Clear codes after a repair to confirm the fix, not instead of one.
- Scanning only the engine. Your truck has multiple computers. An engine-only scan can miss transmission, ABS, or aftertreatment faults entirely — often the expensive ones.
- Ignoring the FMI. The SPN tells you where; the FMI tells you what kind of problem. Half a code is half a diagnosis.
- Treating old inactive codes as emergencies. History informs; active faults demand action.
FAQ
Can I check semi truck codes without any tool at all? Sometimes. Many trucks can display or flash engine codes on the dash — the method varies by make and model, so check your owner's manual. Dash readouts are limited; a proper J1939/J1708 scan tool sees every module.
Will my car OBD2 scanner work on my semi? No — even if the connector looks the same. Trucks communicate over J1939 and J1708/J1587, which car scanners don't speak. Here's the full explanation.
What's the difference between active and inactive codes? Active means the fault is present right now. Inactive (or "previously active") means it happened in the past and the truck remembered it. Prioritize active codes; treat inactive ones as history and context.
Is it safe to keep driving with a check engine light on? It depends on the code. Some faults are minor; active emissions faults can trigger a power derate if ignored. Read the code, run it through the DTC lookup, and decide from facts — not guesswork.
Does reading codes myself void anything or upset the shop? No — reading codes is completely passive; you're just listening to what the truck broadcasts. Good shops appreciate a customer who arrives with a code list.
The Ten-Minute Habit That Pays for Itself
Checking your own codes isn't about replacing your mechanic. It's about never sitting in the waiting room with no idea what's wrong, whether it's urgent, or whether the estimate makes sense. One avoided tow, one caught-early derate, one fair negotiation — any of them pays for a scan tool many times over.
Ready to get set up? Browse our heavy-duty diagnostic tools — built to speak J1939 and J1708, read all your truck's modules, and give you answers in plain English. Your truck has been trying to talk to you. Time to listen.
Need Help Choosing?
Our product specialists can recommend the right diagnostic tool for your specific needs.
Related Guides
Allison Transmission Fault Codes: Reading TCM Diagnostics over J1939
Allison fault codes don't live in the engine ECM — they live in the TCM. Where the TCM sits on the J1939 backbone, how Allison reports faults, why oil temperature and fluid-level codes dominate, and how to pull codes yourself.
J1939 Protocol Explained: What Every Diesel Technician Should Know
A practical guide to the SAE J1939 diagnostic protocol used in heavy-duty trucks. Covers SPN/FMI codes, data links, and how to use J1939 for diagnosis.
