Trading in hammer and crowbar

I used to like to tinker. Unfortunately, the computerized systems have me at disadvantage.

I have no idea how they really function.

That, of course, never stopped me before, as long as I didn’t have too many extra parts left upon reassembly.

So, do any here have know how to begin to approach analyzing the programming internals? What stuff ( languages, interface equipment, books, schematics, etc ) would be required?

Programming internals isn’t a necessary category to care about. A Haynes manual will tell you the names of the parts and at least some description of what they do. MOTOR manuals go into more details. Some auto parts stores have reps who will put on clinics for promotional reasons. Some of the magazines in their waiting rooms are great and you can take the coupons out and order a subscription. You will have to pay for it. Car repair books at libraries and book stores might help.

Google search-how fuel injection works, how what ever you do not understand and you will find what you are looking for.
You can put your car in at auto parts web site and most will show you where parts are at on the car.

Investing in a scan tool that will read the computer codes and other data would be useful too.

What? . . . What Is It You Want To Accomplish? You Are Referring To Cars, Correct?

You used to tinker. What were you doing when you tinkered? Were you tring to maintain/repair your vehicle? Were you trying to wring some extra ponies out of it?

Why are you interested in " . . . analyzing the programming internals . . .?

I find that many (not all) repair/maintenance items on cars with “computerized systems” are either similar to cars without these systems or in some cases easier and I am no rocket scientist.

Please be more specific. Tell us what vehicle(s) with “computerized systems” you want to “tinker” with, include Makes, Models, Model Years, and tell what you want to do to them. Are you looking for a place to start when the “check engine” light illuminates, for instance?

To me, your original question is too vague and I don’t understand it. Please elaborate and please be be more specific. What would you like to do and to what?


"You used to tinker. What were you doing when you tinkered? Were you tring to maintain/repair your vehicle? Were you trying to wring some extra ponies out of it?

Why are you interested in " . . . analyzing the programming internals . . .? "

Most of the time, I was repairing the things. When I was young and more stupid, I used to dump my paychecks into trying to coax more HP out of a B/MP drag car.

At the moment, there is absolutely nothing wrong with the car I drive.

That will probably change.

When it does, I want to be able to determine what the problem is, and how best to correct it.

The reason for looking at the programming internals is that I suspect that some functions ( like the fuel injection ) are controlled by data sets ( “tables” or “maps’”. I would like to able to modify these data sets, consequently, I would have to know how to access these.

Just tinkering.

Tinkering with the program does have a cousin that existed with vehicles with carbs. When you could not find a vacuum leak (or other issue) you adjusted the carb or modified it. They are both “covering up” type fixes that do not address the real concern.

You are right your car probably will have a blip now and then but you modifying the program is not the way to fix.

When there are issues that a software revision is the fix these are supplied by the manufacture.

If you want to know this stuff reasearch the different types of data transmission protocols or research what computer people know as “firewire” the same IEEE standard is used on automobiles. There are pages and volumes written on this stuff,you do some reading and come back and tell us what you have discovered.

I worked for many years on military and commercial equipments, and they were called embedded systems. They always have a self-test function built in. To my surprise, I learned OBD-II car computer systems work on the same principles.

What these self-test systems do is measure sensor outputs, and determine if the results are correct. If not, they report per look-up tables (tables in the computer stored memory which report what the acceptable values should be. If they are out of range, they report the sensor by name, and give an idea of the problem.)

The only difference is, some embedded systems actually take over control of a circuit briefly for the test, sometimes – sometimes not.

On a computerized car, they obviously can’t let too many things be taken over by the computer while the car is being operated. So, mostly it looks at sensors, does complex calculations based on the a/f or oxygen sensors in the exhaust then adjust the amount of fuel fed to the cylinder by the fuel injectors.

It also looks at speed (from a speed sensor), load, etc., and tells the transmission when to shift, at least on some cars. (I have not had many).

It looks at the ignition so it can detect if a plug fails to fire properly.

Of course, I am only taking a poor stab at what it does.

The point is, you do not need to know HOW the engine computer works, In spite of years on microprocessors and embedded systems, I don’t know exactly how an engine computer works, nor do I care.

I only care to know what it is checking when it indicates a failure.

If you want to know how the computer works, sign up for a college course in computer science, but to fix cars, you don’t need to know that at all.

Let me give some examples from Toyota Sienna shop manual.

The type of code you would get from a code scanner, such as the cheap Acton scanner I carry with me everywhere.


The book says MASS AIR FLOW CIRCUIT MALFUNCTION, and it refers me to page DI-22

Which tells you how to troubleshoot the symptom. Figure out where the mass air flow meter is, it is pretty obvious it is in the air intake system, right? On page DI-18 is a picture showing where the parts are.

If you get one of the more expensive scanners, it lets you read the data for the test, instead of just knowing it is bad. The engine computer needs to know how much air is being pulled into the motor to know how much fuel to shoot into a cylinder via the fuel injectors. More air, more fuel, normally.


Thermostat malfunction.

Note we already have two codes which actually tell you which test has failed, and gives you an idea where to start. Do not assume P0128 means a bad thermostat, though that may well be the case. A broken wire on that circuit can give the same failure code.


Heated Oxygen Sensor Circuit malfunction (Bank 1 Sensor 2)

This is one of the so-called oxygen sensors which is in the exhaust path, and measures the chemical composition of the exhaust so the amount of fuel to the cylinders via the fuel injectors can be adjusted for proper running.

They go bad, and this is not good for the catalytic convertor if its ability to consume excess unburned fuel is exceeded.

Not all failures are that easy. I had a couple years ago an intermittent failure, varying from time to time, between P0440, P0442, P0446. Evaporative Emission Control System Malfunction. This has something to do with the fact that modern cars have a system of recapturing the gasoline fumes in the gas tank, and putting them into a charcoal canister, instead of letting them out into the atmosphere. (This system gets messed up if you insist on filling the tank after the fuel hose shuts off, click; click; click.)

It was tricky, because it was very intermittent, and I knew taking it to a mechanic would result only in a large troubleshooting bill, with strong possibility that it wouldn’t fail when he had it.

This particular test, I found by googling, the computer shuts off the fuel tank vent (corrections to detail here welcome from our sharper mechanics) sucks down the pressure, then measures it over a period of time. It the vacuum disappears too fast, it reports a failure. This is an environmental failure, because the tank is supposed to keep fumes from entering the atmosphere and this rapid loss of vacuum indicates a leak.

A bad gas tank cap can cause this problem. Some people on the Sienna Club, when it was still in business, reported that non-Toyota caps produced this failure.

I kept observing over many months. Finally, a man with the same failure but who owned two Siennas discovered by changing parts between the two, that the entire charcoal canister assembly was the problem. There are low pressure valves on there, and he assumed one was sticky. I took it to the mechanic, and instructed replacing the canister assembly WITHOUT TROUBLESHOOTING IT, since I already had.

Problem solved.

In my opinion the computer system along with OBD-II makes cars easier to fix, once you understand you don’t need to know how the computer works, just how it reads the sensors and what the code tells you when a sensor indicates an out-of-spec condition.

At one time, I saw a book for sale in AutoZone, which covers computer codes, That might be a good place to start.

I cannot overemphasize you do not really need to know how the computer works, just that it is connected to many sensors, and reports any that are out of range for what it tests.

And, of course, you need a scanner.

The cheaper ones are good for basic stuff. I bought one, and some day will spend the money for one which lets me read the actual data.

Nice Job, IR Landes. I Think You Hit The Right Spot With Your Answer. I’d Like ArloJT To Respond To You.

You did a better job explaining where I was going with my brief comment, “I find that many (not all) repair/maintenance items on cars with “computerized systems” are either similar to cars without these systems or in some cases easier and I am no rocket scientist.

I also hope that ArloJT comes aboard as a regular here.


Make mine another applause for a post well done.

The only thing I’d like to add is that the new engines do pretty much the same thing fundamentally that the old ones did. They spray gas into air, draw it into the cylinders through intake ports, compress it, blow it up, and blow the spent exhaust fumes out the tailpipe. Fuel injection simply creates a finer mist for more complete combustion. Multiport inject simply creates that mist right at the intake port for better control, less coalescence, and thus a more misty mist in the cylinder itself for more complete combustion.

Spark in the old days was simply controlled by energizing a coil winding, opening the circuit via “points” allowing the coil field to collapse into a “core”, and directing the resulting voltage spike to a specific sparkplug via a distributor.

The difference between that and modern systems is that the carb simply metered fuel based on vacuum, as modified by the throttle position and the temperature. Computer based systems meter the fuel by running sensor readings through a computer program…using the output of the program to control which injector opens and how long it’s opened.

The spark timing is also controlled by the computer based on some of the sensor readings.

The primary sensors used to control the fuel and spark are:
manifold vacuum (absolute pressure)
amount of air flowing on (mass airflow)
throttle position
the speed of the crank (or cam)
the position of the crank (or cam)
the engine temperature
and a final “feedback” measurement of the oxygen levels in the exhaust.

The only real added stuff is:
the evaporative emissions system (EVAP) which prevents gas fumes from venting to atmosphere
and a few sensors to monitor the operation of the engine and of the catalytic converter, like the knock sensor and the downstream O2 sensor.

But the engines do basically the same thing. They spray fuel into incoming air, draw it into the cylinders, blow it up, and blow it out. Keep that in mind and everything else will fall into place.

Since you mentioned it twice and we do like to keep upon “new stuff” I will mention direct injection. The spraying into the air technique had drawbacks.Good article on direct injection in this months Motor magazine.

The new valve train technology that FIAT is bringing to Chrysler also will give a new breath of life to the IC engine. You can find details in Motor magazine.

Yeah, I’ll be interested in watching how much of a difference the direct injection makes over spraying the fuel into the intake ports.

I left out variable valve timing technology, cooling systems, lubrication systems, brake systems and the like because they weren’t relevant to the engine’s control unit, but there is cool new stuff coming out. I’ll have to read up on the Fiat valve train stuff.

It is a electro-hydraulic system and each cylinder is fed its fuel/air charge and timed individually. The big gain comes in reducing pumping losses as in where the car is coasting and fuel is wasted. The engines are called MultiAir.

I’ll reserve judgement for a few years.

Sounds cool but how reliable will it be when the engine has 150,000 miles on it?? Since direct injection by definition shoots directly into the cylinder, past the valve, what problems will it create if an injector leaks? Will the cylinder run as rich as Bill Gates?

I’m not much of a risk taker. I like the tried and true.