Would you believe flash reprogrammable ECUs (Engine Control Unit) have been in vehicles for over a decade? The first such application was the 1990 Geo Storm.
Cars dealers knew OBD II was coming and that it would require a new generation of ECUs that were faster, more capable and able to be programmed electronically.
Up to this point, Program Read Only Memory (PROM) chips held all of the ECUs vital calibration information and operating instructions.
Car dealers pioneered the replaceable PROM chip as a way of programming a limited number of basic ECUs to fit a wide range of car makes and models.
A replaceable PROM chip also meant the ECU could be "retuned" if necessary to correct certain kinds of emission or driveability problems.
It also meant that if a bug was later discovered in the original factory programming, it could be corrected in the field by simply replacing the original PROM with an updated corrected PROM
(a tactic car dealers has successfully used over the years to fix many factory flaws).
Performance enthusiasts also liked replaceable PROMs because the chip could be replaced with one that provided more spark advance, fuel enrichment, a higher rev limit, etc., to squeeze more power out of the engine.
But replaceable PROMS had a serious drawback: there were too many of them! Every model year and every running change meant another PROM had to be created.
Every field fix or recall for an emissions or driveability problem created more part numbers to keep track of.
Enter the flash reprogrammable EEPROM (Electronically Erasable Program Read Only Memory) chip. ECUs built with EEPROM chips can be reprogrammed in a matter of minutes without having to remove the ECU
or replace a single chip. It's all done digitally with the proper access codes and input data.
By 1995, most car models had the flash reprogrammable ECUs. Ford and Chrysler were also doing the same thing as OBD II arrived on all cars and light trucks in model year 1996.
Today, almost all ECUs have reprogramming capabilities so changes and upgrades can be made if needed.
That's over 100 million vehicles that have been built since 1996.

As we said earlier, ECUs may need to be reprogrammed for several reasons. One is to fix factory bugs.
Every time Windows OS or a new phone for example, comes to market, it they always turns out to have bugs and security holes that were somehow missed but must be fixed by
downloading and installing the latest patch. It's a never ending cycle of upgrades and patches.
Fortunately, it isn't that bad yet with automotive ECUs, but it has become a crutch for automakers who rush products to market that aren't quite ready.
This philosophy of "build it now and fix it later" creates a lot of unnecessary recalls, but at least it gives technicians a way to fix factory mistakes without having to
replace any parts.
A reflash may also be required if the factory settings for the OBD II self-diagnostics turns out to be overly sensitive -- especially after a few years of operation.
The same goes for driveability. What works fine in a brand new car many not work so great after 50,000 or 100,000 miles or real world driving.
Changing the fuel enrichment curve, spark timing or some emission control function slightly may be necessary to eliminate a hesitation, spark knock or other condition that d
evelops over time.
For example, on certain vehicles the Check Engine light comes on and sets a code P1406 that indicates a a fault in the position of the exhaust gas recirculation (EGR) valve.
Cleaning or replacing the EGR valve and clearing the code does not fix the vehicle because the code usually returns. The real problem is the OBD II programming in the ECU.
When the ECU commands the EGR valve to open to check its operation, it isn't allowing enough time for the valve to respond.
A brand new valve takes only about 50 milliseconds to open but an older valve may take up to 350 milliseconds or longer -- which isn't long enough to cause a real NOX emissions failure but is long enough to trip a fault code.
The fix in this instance is to reflash the ECU with new instructions that allow more time for the EGR valve to respond.
Another example are rich codes that may appear on some late model vehicles. The problem here is that the original OBD II self-diagnostic programming doesn't allow enough leeway for changes in intake vacuum that occur as the engine ages.
After 60,000 miles, intake vacuum isn't as high as in a new engine which can create a rich fuel condition. The cure is to flash reprogram the PCM to compensate for the drop in vacuum.
When vehicle manufacturers calibrate the onboard diagnostics to meet federal emission standards, they have to draw the line somewhere as to what operating conditions might cause emissions to exceed federal limits 1.5 times.
That's the threshold where a fault code must be set and the Check Engine light must come on. It doesn't mean emissions really are over the limit, but it is possible based on laboratory dyno testing and field experience.
Depending on the application, the vehicle manufacturer may even set the limit a little lower just to be safe because the last thing any OEM wants is an expensive emissions recall.
Unfortunately, vehicle manufacturers don't always tell us their diagnostic strategies or even their operating strategies for their computerized engine control systems.
Some service manuals include a fair amount of system background information but others provide almost nothing beyond a basic diagnostic flow chart.
Maybe the engineers who design this stuff think technicians only need flow charts and assembly instructions to fix vehicles today.
But it often takes a much deeper understanding of the system operating logic to figure out what's setting a particular code -- especially when the cause isn't obvious.
The best advice when confronted with a troublesome code that keeps coming back or seems to set for no apparent reason is to check for any Technical Service Bulletins (TSBs) that may have been published. Changes are it might be a programming issue that requires a reflash to fix.
Something else to keep in mind with respect to all late model flash reprogrammable ECUs: if you replace the PCM for any reason, the replacement unit must be reflashed before it will start the engine! If the PCM is not programmed, it's just a dumb box like a PC without an operating system.
Some remanufacturers who supply reconditioned ECUs now flash program ECUs for specific vehicle applications.
But to do this, they need three critical pieces of information: the vehicle identification number (VIN), the type of transmission (manual or automatic) and the emissions type (federal certification or California). Your other option is to flash reprogram the PCM yourself.
Until recently, car dealers were the only ones who had access to the tools and software needed to reflash PCMs. Thanks to the passing of Senate Bill 1146 in September 2000, vehicles manufacturers must now make this technology available to independent repair shops at reasonable cost.
Starting in 2004, flash reprogramming procedures must also conform to SAE J2534 standards which allow the use of aftermarket scan tools or similar pass-through devices.
Reflashing ECUs requires three things: a scan tool or J2534 pass-through device that is flash capable, a Windows 98 or higher PC with a modem and internet access for downloading the flash software from the vehicle manufacturer's website, and a subscription to the manufacturer's database so you can access the software.
Other items that are needed include a cable to connect the PC to the scan tool or J2534 pass-through device, and a cable to connect the scan tool or J2534 pass-through device to the OBD II connector on the vehicle.
For import applications, you need whatever factory scan tool the dealer uses, an aftermarket scan tool with reflash capabilities for that vehicle, or a J2534 pass-through device that will work on the vehicle.
The flash procedure usually takes only a few minutes and is similar to installing new software into a computer. The only difference is that you're downloading the new software through a modem and scan tool into the vehicle's ECU through the OBD II diagnostic connector.

So what happens if something goes wrong during a reflash procedure? Anyone who has ever experienced a crash while installing new software on a PC knows it can really screw things up.
Common causes of flash errors include poor cable connections between the PC, scan tool and vehicle, loss of power to the diagnostic equipment while the flash procedure is underway,
turning off the vehicle ignition switch before the flash procedure is complete, unfamiliarity with the procedure (pushing the wrong buttons), or low vehicle battery voltage.
If the process crashes, recheck all the cable connections to assure good communications and reinitialize the flash procedure. In other words, if at first you don't succeed, try, try again.
Doing your own flash reprogramming is not without risk. But for some shops it may be a more practical and profitable alternative to sending vehicles back to the dealer every time a ECU needs to be updated or replaced.