When I first started in this glorious, noble profession of automotive journalism, I was young and innocent and full of dreams. Big dreams. Dreams of the future bringing wonderful things, like cars universally equipped to display, right there on the dashboard, without any need for plug-in readers or trips to a mechanic, any On Board Diagnostic (OBD) codes that the car may have, along with normal-language descriptions of such codes. These are the codes that cause the dreaded “check engine” light (CEL) to appear. I wrote about this dream way back in 2011, and now, nearly a decade and a half later, there has been effectively zero progress on this front, and I think it’s as important as ever.
I know a large portion of our readers will just think “why is this a big deal? OBD readers are only $20! And they’re stylish!” and sure, moneybags, OBD readers aren’t that expensive, but that’s not really the point. Yes, we’re people who think about cars most of their waking hours and have no issues rolling on the floormats of a car and feeling around under the dash for that chunky OBDII connector, but the vast majority of people who just use their cars as transportation appliances are not comfortable with such things, and in many cases, aren’t even aware there is a port under the dashboard that, when you plug a little doohicky into it, will tell you why that check engine light came on.
The truth is that most people are in positions of terrible knowledge imbalance when it comes to repairing and maintaining their cars. They’re at the mercy of whatever the technician or mechanic says, and while I’d like to believe in the fundamental honesty of humanity, we know that’s sadly not a guarantee. People get taken advantage of all the time, and part of the issue has to do with the relative difficulty of getting diagnostic information about their own cars.
What makes this especially galling is that this denial of information to car owners is completely preventable, and would be trivially easy to do on pretty much any car that had been built in the past decade or so. Once, sure, there were issues with figuring out how to get information like specific codes because cars had very limited alphanumeric display capabilities. Though, even then, carmakers (very) occasionally would come up with clever, convoluted solutions to do this, like on this 1995 Cadillac Seville:
A few other cars had similar sorts of systems:
That was a long time ago, of course. Now, modern cars almost always have a full-color dot-matrix LCD screen that is not just capable of displaying CEL code numbers, but entire blocks of text, and hell, if you wanted, diagrams and illustrations or whatever. There is really nothing stopping all carmakers from showing a code that caused a check engine light, as well as a full description of what it means.
Just picture something like this that could appear on the center stack screen of a car when a check engine light code is thrown:

Why not do this? As it stands now, cars throw a check engine light, and for many people, that just means they look at it nervously as they fret about how much freaking money they’re going to have to dump out for whatever the hell that light means. Why should people be kept in ignorance about the state of their cars? Every car owner has the right to as much information as their car is able to give them. All cars know the codes they throw; why do they keep it a secret from their owners? Not having an OBD reader or the comfort to use one or the resources (time, money, opportunity, whatever) to go to a mechanic is simply not a good enough reason to keep the car owner ignorant of what’s happening under their own hoods.
If cars would just display what the code is and some manner of description on their dashboard screens, easily accessible to the owner, then at least the owner would have some sense of what they were dealing with. A CEL can come on from anything from a loose gas cap to a severe failure condition of some kind; any information about what’s going on is good information, isn’t it?
Plus, trouble codes could be saved to a car’s internal log, and, since so many cars have internet connectivity of some kind already anyway, why not give an option to send those logs, complete with timestamps and all relevant information, to an owner’s email, so they can then send it to mechanics or car-savvy friends to get an estimate or an initial diagnosis?
I get genuinely worked up when I think about this, even after all these years, because I’ve talked to too many people who feel helpless when it comes to getting their cars worked on, and the issue almost always comes down to a lack of reliable information. I’ve bought OBD readers for several friends and showed them how to use them, but I shouldn’t have to do that.

I’d actually like to see this become legally mandated. That’s right, I said it, I want to involve the authorities. When I’m Emperor of America, all cars will be required, under penalty of having the CEO of the offending carmaker placed in a dungeon, to display as much information as the car’s owner wants for every failure code that gets thrown. That includes standardized OBD codes as well as manufacturer-specific codes. If you own the car, this is, by right, your information. If carmakers can be so cavalier about gathering information about us – and they definitely are – then they can at least give us some actually useful information back.
These codes, along with detailed descriptions of what they mean, can all be downloaded to a flash drive or emailed to a specified address, so the car’s owner can do whatever they want with that information.
It’s absurd that this is not how things currently work. All new cars know their codes, all have the means to display them easily, and yet hardly any do. I’m not sure how to convince this industry that this matters, but I feel like it does. This is similar to the right-to-repair laws we’ve discussed before. This is an easy fix; just a bit of interface design and some software coding. Ideally, the way one accesses this data should be standardized across cars, too, so everyone knows how to find the information.
We have a right to know what our cars are telling us, without intermediaries or other equipment. We’ve been in a position to do this for well over a decade, and it’s time to actually make it happen. Carmakers, let people see what their check engine lights mean, right inside their cars. It’s time.






Some vehicles are so proprietary that the service centres such as Omega Auto Clinic (of Car Wizard fame) must subscribe to the software to read the OBD II codes. There was an episode of Hoovies Garage where David mentioned about having to pay for the software individually that would run in thousands of dollars. He wasn’t willing to pay for every vehicle.
“When I’m Emperor of America, all cars will be required, under penalty of having the CEO of the offending carmaker placed in a dungeon, to display as much information as the car’s owner wants for every failure code that gets thrown.”
Don’t forget to make the amber turn signal indicator mandatory for the taillamps! Don’t forget to make the headlamps better! Don’t forget to discard FMVSS for ECE!
Toyota is heinous with diagnostic information mere mortals can get with an OBDII reader. Anything more requires TechStream, which used to be finicky enough that it only ran on an obsolete Windows version. I haven’t looked into it much lately, so things might have changed.
Jeep YJs can tell you the codes. Turn the key from off to acc and back three times. The CEL will start to flash. Count the flashes for the numbers of the code, cross reference and go. Short breaks in between flashes separate the numbers, long flashes separate the codes.
11 – Ignition
12 – Battery disconnected within the last 50 key starts
13 – Manifold Absolute Pressure (MAP) Sensor Vacuum
14 – Manifold Absolute Pressure (MAP) Sensor Electrical
15 – Distance sensor or circuit
17 – Engine running too cool
21 – Oxygen sensor or circuit
22 – Coolant temperature sensor or circuit
23 – MAT sensor or circuit
24 – Throttle Position Sensor (TPS) sensor or circuit
25 – Automatic Idle Speed (AIS) circuit
27 – Fuel injector control
31 – EVAP solenoid or circuit
33 – Air conditioning clutch relay
41 – Alternator field
42 – Automatic shutdown relay
44 – Battery temperature sensor
46 – Battery over voltage
47 – Battery under voltage
51 – Oxygen sensor – lean condition
52 – Oxygen sensor – rich condition
53 – Internal engine controller fault
54 – Distributor sync pickup
55 – End of Code output
62 – Emissions Maintenance Reminder (EMR) mileage vaccumulator
63 – Controller failure EEPROM write denied
This also works:
Up up down down left right left right B A select start
If you give people information, you empower them. Next thing you know, they might be acting on that information.
This is bad for the technocracy.
“These codes, along with detailed descriptions of what they mean, can all be downloaded to a flash drive or emailed to a specified address, so the car’s owner can do whatever they want with that information.”
The file DLed to the card or emailed to the user will, of course, be in a proprietary file format, requiring an app to decode–which will be available by subscription only.
And if you want them to read in the mother tongue you actually speak? That’ll cost ya.
The original excuse for poor software was the cost of memory.
I have cameras that cheerfully explain themselves, yet my mobile software is completely inscrutable.
Same phone has a 500 GB high speed card that wasn’t even a strain to buy, so there’s no excuse.
I would be thrilled if I could find an obd reader that would tell me anything useful about the trouble light on the dash most of the Camry’s life. 2005
Cars are designed to loot customers during the early service period in the dealer.
Two of my vehicles actually can: there’s a Konami code on the C5 that displays OBDII codes, and the “dashboard” in my Prius is a tablet running Torque, so it can retrieve codes too.
This is my pet peeve. There is so much you can’t get from a modern car without having the manufacturer software, which may or may not be easily available to non-shops.
Where do I get my Torchinsky/Tracy 2028 bumper sticker?
This is brilliant! I’ve attempted the ignition key trick with limited success; it really has to be done quickly, and I always feel like I’m going to break something. I have an aftermarket head unit in my ’09 Grand Cherokee that has worked great for showing ‘check engine’ codes, but apparently it can’t show any other codes as I recently learned when the instrument cluster put on a light show in response to what turned out to be a faulty speed sensor. I do think it’s really neat how much engine and sensor information the head unit is able to pull from that port.
So true, there is a nauseating amount of information that could be displayed. My Land Rover Defender has all kinds of pages on the OSD that pertain to 4×4 information, shock position, transmissions locking front wheel position on so on. All coming in via the CAN-BUSS. The other information is there, coming to the screens just need to be decoded and displayed. Of course there are other annoying things, like to change your brake fluid, you need to send a code to open a valve in the master cylinder block. To change the rear brakes, for example, you need to send a code to pull them back to the zero point. Install them and have it re-calibrate to the new pads. Madness.
So, yes, instead of me buying this JLR specific code reader talk back interface for $800, I should be able to do it on the screen. Secret body codes should just be illegal. Even on airplanes, which have a ton more to protect, I can access the information on my MFD (multifunction display). I am just surprised that this kind of collusion is allowed between automakers. When we still had an FTC, it was supposed to be their job. Shall not miss them, since they didn’t do anything anyway. This scam has been going on since the 80-90’s. They have had 35-45 years to notice it. Evidence must be obscured by large banker boxes of money.
My 1988 200SX is (obviously) pre-OBD, but it does have a system with a pair of LED’s (one red, one green) on the side of the ECU that will flash out one of 8 or 9 trouble codes that you can then look up in the manual. Of course this requires maneuvering one’s upper body into the driver’s footwell and removing an access panel then the ECU itself to be able to see the LED’s. Many years ago I stumbled across a wiring diagram on the old Club S12 forum that allowed me to replicate that function with a pair of LED’s mounted to a blank panel right on the dash. It still works 20+ years later.
Sir, I would like to subscribe to your newsletter and you have my vote for emperor. Can I also suggest an addition to your platform? Any company that collects, keeps, or maintains data on someone must 1) Have a license to possess that data 2) Pay the subject of the collected data an annual royalty fee. 3) Companies or individuals in possession of unlicensed data will be severely beaten with reeds (or fined, imprisoned, whatever).
Our Water, Our Energy, Our Data!! Torch for Emperor Twenty Dickety Six
This should be federal law.
Yep an intrinsic part of Right to Repair.
Even though I have a former honor student brain, I have to admit, it took me a while to wrap that brain around the concept of right to repair. First I had to even conceptualize what the hell it meant to not have the right to repair an item that belongs to you. But boy, do I grasp the concept now, after reading of farmers having to hire Eastern European hackers to remotely jailbreak their tractors in the middle of a soybean field, just so they can get those soybeans harvested.
This is one of the first takes on cars by Torch that I 100%, unreservedly agree with!
Amen!
My ’73 Dart had a feature where you could turn the ignition on and off in a particular sequence and a light on the dash would flash. Count the flashes and you get a code, look up the code in the Chilton’s manual. I know I used it once or twice, but I don’t recall anymore what it told me or how I used that information. Pretty good for the time though.
My old Jeep Cherokee had this too. I never knew enough to use it, though.
I wasn’t aware cars that old could do it, but far as I knew any OBD1 (1980-95) vehicle would blink the codes out of the CEL if you just grounded one pin in the connector. It worked on a early 90’s F150 I had.
I don’t even think it’s a money or anti-repair thing, I think this sort of interface design is simply insane and repulsive to the auto industry.
You can’t show normal consumers technical information like that! It’s unsightly!
It would be like allowing a smartphone user to see their filesystem. That should only be for “power users”.
“What’s a computer?”
Consumers don’t want to understand the products they use!
And you should never give them the opportunity to learn something by accident, because that would ruin the seamless User Experience!
Apple’s minimalism and simplicity (read: not being able to do anything with your own phone) and the fact that their popularity has made it expected in other products is the worst thing that’s ever happened to User Interfaces.
This approach is best symbolized early on with what I call the Apple “Idiot mono-button”. The early apple computer mice only had one button. Multiple buttons, and the idea of a right-click (like what the IBM/Microsoft market had) were apparently too confusing for their customers.
Apple user: “Mah Ugh… mash button! Computer do thing!”
It’s been a similar philosophy since then.
It’s pretty easy to look at an Android’s filesystem. Any decent file manager app will do this, and they usually have a “show hidden files” option.
Some of the file system can be viewed through a good file manager.
However, Android versions for the last several years have locked root file system, where most of the app data is stored. Some can be viewed (but not edited), but most can’t even be viewed. A user would have to root (hack/unlock the bootloader) in order to see all the files or to change them.
I was referencing a Steve Jobs quote from ~2006 I saw recently, but the design philosophy (and actual hiding of file-systems) has been well-established since then.
> You can’t show normal consumers technical information like that! It’s unsightly!
For some reason, the first thing that popped into my mind was the “cabinet meeting” scene in “Blazing Saddles,” where Hedley Lamarr (Harvey Korman) presents the governor with a bill to sign that seizes 400,000 acres of land from the natives “that has been deemed unsafe for their use – they’re such children.”
My VW has just started occasionally showing it’s EPC light. That light seems to mean ‘a problem, but not important enough to use the CEL on’.
The real problem is that there’s no way to tell why it’s triggering with a standard OBD reader, you need a VW specific one. Which means taking it to a garage and hoping they don’t charge too much just to plug in their reader for one minute.
Last time it came on it was to warn about a brake light switch (£40 to read the code, £4 for the replacement switch). Hopefully it’s something similarly cheap this time.
The Check Engine Light being a M-alfunction I-ndicator L-ight (per Jason’s original story), when one is F-iring, do you tell the mechanic you have a MILF in the car?
Not if you want to keep her.
Amen, Brother Jason. I had a Scangauge2 on my ’01 TDI Jetta to see the codes and reset the CEL after addressing the issue. It was always a glow plug going bad. I let it go with the car when I sold it. It was a fun device because it could display so much more than just the OBD code. MPG, gallons per hour, percentage of available power, turbo pressure and a bunch of other stuff that wasn’t displayed on the Jetta’s IP. In retrospect, initially it may have been as distracting as texting, but I never rear-ended anybody. And eventually, I just used it to read the code and reset the CEL.
I bought a cheap OBD reader, but I have never had to use it on my ’17 Accord that replaced the Jetta. The annoying thing about it, when I used it on a neighbors’ Cadillac, is that I had to look up what the code meant on the internet. Which I could now do on my phone without having to run across the street to my computer. But it was like $25, so it wasn’t something that was going to be used by some ASE tech.
Now, there’s some gizmo from my insurance company plugged into the OBD port that tracks my inputs on drives in order to save 10-15% on the coverage.
Perhaps that’s fodder for another story. If I look at what it’s logging and sending off and then displays in their app, it is sometimes annoying to see what the algorithm flagged without knowing the context. Hard braking? Yeah! So I didn’t hit someone or animal who ran out in front of me. Likewise hard cornering. Heavy acceleration. Most of the things it flags are something I did in order to not have to make a claim. And I worry that if I’m going with the flow at 10 over the limit in order not to be a mobile impedance, is going to trigger speeding in the algorithm and negate the point of me having it. I’m beginning to think it would be better to get insurance bonds and take the company out of it.
The car our son drove most frequently after getting his license (15 years ago) had a similar device that would actually beep when it sensed something like these triggers going on. Do you brake hard to avoid a collision and get beeped at or not brake so hard as to trigger the beep and then hit something. The Law of Unintended Consequences.
Save 15% on your insurance! Right, context context context. Did I swerve out of my lane? Yes, to avoid a maniac in an Altima. Did I brake hard? Yes, because a kid ran out in front of me. Context. But context isn’t recorded by those little thingies.
Insurance went up? Why? Look at these lines on the graph. See? We have evidence.
Oh, and of course codes should be displayed easily.
Thanks. And I did love my ’88 9000 Turbo. I do wonder what their automotive division would be up to these days. If the Trollhättan folks still had jobs. (And I’m impressed that the spelling checker on this site put the umlaut over the a in Trollhättan!)
I can’t imagine what all it would flag if I did a track day somewhere. That thought makes me laugh.
I wish someone would take the insurance scam plugin thing to a track day. Interesting to see how fast they got dropped by the insurance company.
Yeah… If I ever do some avoidance class or anything like a track day, I will turn my phone off (which State Farm’s stuff uses to transmit what you’re up to).
I am now wondering what data they are selling about my (and others’) drives to who knows who. More fodder for another Mercedes deep dive. And now I’m wondering if Mercedes has a way to scrape the comments and pick up on story ideas for her. Because of all the writers on this site, she dives the deepest. <3
Don’t forget FLOCK
I would say that this is a prime example of what my favorite high school teacher used to describe as a “button-pushing mentality,” but it’s some weird counterpart or opposite end of the spectrum from that. It’s more like someone else pushed a button, and you are required to believe what happened. Data infallibility mentality, perhaps? “Of course this is the case, because that’s what the data says.” Never mind that Mark Twain correctly described the problem with this mindset over a century ago – lies, damn lies, and statistics, statistics being whatever that dongle told your insurance company.
See also: Bill Burr on “no means no” – “She didn’t say it like THAT!”
Insurance companies admit the monitors are used against consumers/victims.
Preach.
Haven’t read the comments, but I wholeheartedly support this. It just happened to me. Ford Fusion hybrid, after sitting for several days, threw a check engine light the day I was taking it in for a smog check. It failed immediately. There was a loose connection at the 12v battery because I had been installing a battery tender, and hadn’t tightened one of the terminals enough, hence the ‘check engine light’.
$450 later (my wife told them to go ahead (I should have been on top of it), the shop tightened the terminal, completed the smog and let me go.
If I had any indication what the issue was, I could of easily solved the issue. Nuts you can’t use what’s there without external equipment.
I feel stupid for not addressing it, but how if I don’t have the code reader.
My sympathies. But… OBD readers are cheap on Amazon. And you can go to AutoZone and have them read it for you. And in your defense, the code might not have told you all you needed to know.
My son had a battery terminal come a little too loose while driving/pounding around Chicago in a ’15 Ford Escape. It temporarily bricked the car, and they ended up buying a new Mazda CX-5 while a technician figured out what was going on with the Escape. They needed a newer second (now primary) car anyway, so it wasn’t a total disaster. And I think they picked a good one.
Dang thing about it is, I own a decent OBD reader. The car threw the code on the way to the shop, literally within a half mile. I had to make an appointment to get the smog done so I went ahead and left it. When they called, the wife answered (I was doing yard work) and told them, fix whatever it is.
Any shop that charges $450 to tighten a battery terminal would never get my business again. Any decent shop would do that for free, knowing that you would be far more likely to be a repeat customer.
Readers I have tried tell me the Check Engine light is on.
100%
I got a check engine light once. So I opened the hood and checked. It was still there.
Clap. Clap. Clap.
Exactly! It’s when that engine goes off that you know you’ve got a real problem
The factory navigation unit in my ’23 Kona N shows codes and pushes them to the app on my phone, as well. So some manufacturers ARE doing this.
The aftermarket head unit in my Mustang also reads CANBUS and will display codes.
What app does the reading? I have a cheap Chinese one that reads canbus, but no idea where to read any codes if they do appear.
You can download the Torque app, it’s the most popular one.
The one I got immediately caused a check engine in the car, went away after I disconnected the battery. I blame the reader, but still, got me wary of trying again
It’s the Hyundai app
I fully support this!
There is something reassuring about my cars. Not one has ever display a “check engine” light.
Maybe the bulb has failed?
Great, now we need a Check Check Engine Light Bulb light.