Get with the program

June 23, 2016
Smart shops are taking advantage of the opportunities reprogramming offers. Isn’t it time you did the same?

Now more than ever, is the time to “get with the program”, both figuratively and literally. Almost all modules on most OEMs require some sort of configuration, coding, adaption or programming of some sort.  Gone are the days of the removable EPROM and here to stay is the Electronic Erasable Programmable Read Only Memory or EEPROM. The EEPROM is the device or chipset which allows manufacturers and repair facilities to write and rewrite programming instructions to a module. 

Before we can totally appreciate this technology and have a discussion on how to program, we need to discuss some of the definitions and differences between coding, adaption and EEPROM flash programming. Moreover, we need to examine what J2534 is and how it applies to us in the independent auto repair world.

Here is the replacement used PCM information. Note the difference in the coding number (Figure 2).

Figure 2
Figure 3

The Ross-Tech Wiki provides information on coding this module, including the required log-in (Figure 3).

After “logging in” (a scan tool function not a subscription based procedure – Figure 4) one is able to then manually change the coding or to tell the PCM whether the vehicle is a manual or auto transmission for this example (Figure 5).

Selecting “Do it!” after changing the original PCM coding from “00001” to “00000” configured the PCM for a manual transmission rather than the auto transmission vehicle that the donor PCM came out of. No flash files, subscriptions or expensive OE tools were required to perform this procedure.

Figure 4
Figure 5

Adaption refers to something that we are going to learn to or “teach in” to a module. Again the module is already “programmed” with the instructions the vehicle needs. This could be different values such key adaption, where we “teach in” or adapt the number of keys and their associated IDs to a module. Throttle values such as TP and APP are often values that require adaption after a module has been changed. Adaption in many cases can be performed with a scan tool.

In this example, a 2004 VW New Beetle required that the passenger’s seat recognition or passenger presence values to be adapted to the airbag module (address 15). This procedure basically “tares the scale” or sets the zero point for an unoccupied seat in the airbag module (Figure 6). This adaption was done with the very affordable Ross Tech VCDS aftermarket VW/Audi tool.

Figure 6

EEPROM programming is what is general considered “flashing” or “programming” a module. This the process by which we can either write the original programming required for a vehicle to run or rewrite or change the original calibration to update the software for some sort of running change the OE would like changed in the instructions the module runs on. This could be something as simple as changing a parameter to keep a code from setting or enhancing how a system works to reduce wear on parts. Often times a recalibration can be required when installing updated or redesigned parts. If the parameters of the redesigned part changes, the instructions inside the module have to change as well. For example if an old TPS on a vehicle operates between .9 and 4.4 volts and the redesigned TPS now functions at a different range, say .5 to 4.9, we need to tell the PCM about this change so that erroneous TPS high or low DTCs do not set due to the changing to the updated part.

J2534 is the process which allows us in the independent auto repair world to accomplish this. To understand better what J2534 is and how it applies to us we need to examine it a little further.


J2534 and its subsequent revisions are an SAE document, which set forth the “standard” for module programming for the independent auto repair industry. It basically was a covenant or agreement that allowed the OEMs to retain “ownership” and control access to their proprietary software, the Os and 1s, which control how the vehicle performs and allowed for a “universal” programming device to perform the programming in lieu of an OE scan tool or interface. While you may be the owner of a vehicle and the sum of its hardware- you DO NOT own the software or 0s and 1s (binary code) that make their modules function. The OEM is the owner of the software or calibration files. This is why the crash data in a SDM in your vehicle could be extracted and used against you in a court of law. This matter of proprietorship by the OEMs is what actually drove the SAE J2534 document into being. Simply stated, it allowed the OEMs to retain ownership and control access to the calibration files and granted the aftermarket access, usually for a fee and called a common device that could be used on many different makes provided the device was validated for the said makes.

For years the cost of programming modules in the independent repair world was cost prohibitive due to the fact that an often expensive OE scan tool and subscription were required. Even in the early years of J2534 subscriptions were annual and not available for purchase in the short term intervals. GM for example, in the early years was only available at an annual cost of over $1,000.  As time progressed a quarterly option was offered and then a two-day subscription became available.  

While flashing with a universal J2534 device has been around for better than 10 years now and has made great strides of improvements, there are sometimes limitations to it. The SAE J 2534 standard only addressed the programming of the powertrain modules specifically. You may not be able to program modules other than powertrain with a universal J2534 device. Consequently, you may able to successfully program a module with a universal J2534 device and still have issues that require an OE factory scan tool to complete such as adaptions or immobilizer functions that may keep the vehicle from starting or running correctly.

Reprogramming dos and don’ts                                                                               
Regardless of whether you are using a J2534 interface or the OE factory tool some flashing “universals” apply. You should always adhere to these steps to help to insure a successful flash. Make sure to maintain a steady clean source of DC power with a flashing power supply such as a U Maintain (Figure 7) from or a Midtronics PSC 550 (DO NOT using a standard battery charger).

Figure 7

Make sure the connections to the battery are clean and tight. Verify that your laptop connections are secure and the laptop is plugged in using the AC Power cord. Verify that your automatic updates and any screen savers are disabled. Check your computer’s power management settings to safeguard the laptop doesn’t shut down due to inactivity before the flash completes. Keep Java and Adobe up to date. Most importantly READ and follow all the manufacturer’s instructions to the “T”!

So let’s start by examining what is required to do a J2534 module flash. We obviously need a J2534 compliant interface such as a Drew Tech Cardaq Plus II or a Mongoose USB interface. A computer is going to be required, preferably a laptop due to its portability. Be sure you check the OEM’s website for computer requirement such as RAM, OS, HDD size and CPU processor speed. The API or unique manufacturer specific application has to be downloaded from the OEM’s site, which will install the necessary drivers and protocols that will allow us to program their J2534 compliant modules. A reliable high-speed internet connection is a must. Wireless can be used if it is stable and does not drop out. If you have any doubts regarding your wireless connection, use a wired connection direct to your router. Finally, a steady source of clean DC power is a must, I CANNOT stress this enough! Nothing can “brick” a module or render it permanently unusable faster than low voltage once the flash process has begun.

So how do we get to the point of knowing a flash is required? Many times it may be required with a module replacement. For example, say an injector driver has burned up in a GM PCM and is causing a misfire due to an injector that the PCM can no longer pulse caused by an internal module failure. GM PCMs come blank lacking the operational software required. The new module in most cases will require that we program it before it will work. Other times in the case of a recalibration to correct a software issue in a module, we may be directed to do so by a Technical Service Bulletin (TSB).

In the following example the vehicle in question is 2002 Chevrolet Trailblazer that the A/C intermittently is inoperative and that it seems to manifest itself when the A/C is needed the most, at high ambient temperatures. The shop has already replaced the A/C pressure switch per TSB 03-01-39-007. The problem persists when high ambient temps are present. After a little more digging, TSB 02-01-39-005a was discovered, addressing this concern.

Figure 8

A subscription to TIS2Web will be required and GM’s SPS or Service Programming System will be used to update the HVAC module with the latest calibration (Figure 8).

The correction was to recalibrate the HVAC module with the latest calibration via SPS. If TSBs were not checked as part of the diagnostic process a great deal of time and money could have been spent on this vehicle!

OE tooling a benefit

The J2534 flash process has come a long way since its introduction and works well on a lot of vehicles, but there are limitations. The OE factory scan tool is usually my tool of choice just because I know that it is what the dealership uses to perform programming options and it is not an adaption of programming software to suit the independent repair market’s needs. Often times the OE tool is more intuitive, more reliable and simpler to use which is definitely the case for Dodge/Chrysler/Jeep products. The wiTECH scan tool platform makes it very simple to see if there is a flash available for a module and the process of updating it is explained step by step to the user.

Figure 9

The following example is a 2005 Chrysler 300 with an issue with the interior lighting flickering at times that TSB 18-003-05 addresses. The wiTECH session is started and all the modules are shown on the home screen along with the network topology. Note the “lightning bolt” symbol (Figure 9) on some of the modules, this indicates that a flash is available to correct an issue.

Clicking on the PCM icon opens the functions for the PCM. Selecting the “Flash” tab will not only tell me the calibration number that is in the PCM but will give me the most current calibration number and the corresponding TSB that goes along with it (Figure 10). At the top of the list is the TSB 18-003-05 for interior and exterior lamp flickering. Note all the other TSBs and corrections that the updated PCM calibration addresses as well.

Figure 10
Figure 11

The flash process is started. Special instructions are given and are to be reviewed and the box checked before the actual downloading can occur (Figure 11).

The calibration update procedure successfully completes and codes are cleared. Note the status of the modules are now blue indicating no codes are present and the “lightning bolt” is no longer present as the PCM now has the most current calibration installed in it. 

There are countless examples I could give for vehicles that require coding, adaption, configuration or EEPROM flash programming. The question is not should you as a repair professional be performing these procedures; rather why are you not performing this necessary and profitable service. While programming requires a little attention to detail and the following of instructions, so does installing a timing belt or timing chain on an expensive “zero clearance” multi cam overhead valve engine. Our industry has always been evolving and changing with the technology of the times. Programming is no different. Flashing modules is not going to go away and there has never been a better time “to get with the program” of flashing modules.

About the Author

Eric Ziegler

Eric Ziegler is an ASE Certified Master Tech with A9 Light Duty Diesel and MD truck certifications. He also holds ASE Advanced Level Diagnostics Certifications for Cars, Trucks, and Electric/Hybrid Vehicles (L1-L3).   Eric specializes in module programming, driveability, electrical and network systems diagnostics. He has worked in the industry for 30 years.  Eric owns and operates EZ Diagnostic Solutions Inc. 

In addition to operating EZ Diagnostic Solutions, Eric is also an automotive trainer for Automotive Seminars and The Driveability Guys.

Sponsored Recommendations

Best Body Shop and the 360-Degree-Concept

Spanesi ‘360-Degree-Concept’ Enables Kansas Body Shop to Complete High-Quality Repairs

How Fender Bender Operator of the Year, Morrow Collision Center, Achieves Their Spot-On Measurements

Learn how Fender Bender Operator of the Year, Morrison Collision Center, equipped their new collision facility with “sleek and modern” equipment and tools from Spanesi Americas...

ADAS Applications: What They Are & What They Do

Learn how ADAS utilizes sensors such as radar, sonar, lidar and cameras to perceive the world around the vehicle, and either provide critical information to the driver or take...

Banking on Bigger Profits with a Heavy-Duty Truck Paint Booth

The addition of a heavy-duty paint booth for oversized trucks & vehicles can open the door to new or expanded service opportunities.