Understanding ECU Coding, Flashing and Programming
Posted by Matthew Yu on Wed, Oct 28, 2009 @ 11:10 AM
Many technicians that I have talked to have difficulties understanding the concept of coding and programming or flashing of vehicle Electronic Control Unit (ECU). Not knowing what they are and their differences has caused them serious grief. Not only do they end up forking money over to the dealership but they could have easily repaired the vehicle with the scan tool they have already owned.
Coding consists of 2 different types:
- Introduction of a new ECU to the vehicle network (Handshaking). For example, on most Volkswagen and Audi vehicles, when replacing an ECU with a new one, the new ECU is required to be coded using the scan tool in order for the vehicle to start.
- Version/ National Coding: Setting the ECU to add new equipment or change certain features. ECU coding is often common on European vehicles and typically require OE-level scanners. For example, when a new instrument cluster module on Mercedes-Benz is replaced with a new one, a version coding is needed to define the region where the instrument cluster module will be used (US, Japan or Rest of the World), any accessory items the vehicle is equipped with (such as trailer), etc.
On either types of coding, an OEM scan tool or OEM-level aftermarket scan tool with manufacturer-specific coverage is required. Recently, some vehicle manufacturer like BMW (http://www.bmwtechinfo.com) releases an online diagnostic software which allows technicians to perform ECU coding through a SAE J2534 "pass-thru" interface and an online software subscription.
Programming or often called Flashing, refers to rewriting the software of an ECU to improve the vehicle performance, the way the ECU sees and utilizes the sensors and view the data. This is similar to installing a new operating system on the PC. We are just upgrading the OS to improve its performance. There are 2 possible reasons why you would need ECU programming:
1. When you replace a bad (or defective) ECU or;
2. When you fix a problem with the control module which has been updated (the update does not necessarily tell you what is fixed). For example, resolving emission-related issue is one of the main reasons for ECU programming. There are two ways to perform programming of the ECUs (Each will require OEM service subscription services):
- OEM scanners with software subscriptions (usually additional to diagnostic communication software) or

- SAE J2534 "pass-thru" device with either online/CD OEM subscriptions . Most OE websites offer online access to ECU programming on a daily, monthly or annual subscription basis. For details on the availability and charge, please visit National Automotive Service Task Force website (http://www.nastf.org).
When purchasing the SAE J2534 "pass-thru" interface, make sure they are compatible with the vehicle manufacturer requirements. These requirements are usually listed on their Service Information websites. The price of a SAE J2534 interface device typically ranges from $1,000.00 to $3,000.00, depending on its functionalities. There are currently two "pass-thru" protocols: J2534-01 (for emission-related powertrain reprogramming) and a new standard J2534-02 (for non-emission related powertrain and chassis/body ECU reprogramming). Check with your equipment provider to determine which one is suitable for your needs.
Feel free to comment on the article?