LEMON Manuals: Even more car manuals for everyone: 1960-2025
Home >> Saturn >> 2003 >> L300 >> Repair and Diagnosis >> Engine Performance >> System >> Engine Controls - Self-Diagnostics >> Programming >> Engine Control Module >> Service Programming System
April 5, 2026: LEMON Manuals is launched! Read the announcement.

Service Programming System

NOTE: Do not program an existing control module with the identical software/calibration package. This procedure is not a short cut to correct a driveability condition. This is an ineffective repair. A control module should only be programmed when the following occurs:
  • When a service procedure instructs you to replace the control module. The service part control module does not contain operating software or calibrations.
  • General Motors Corporation releases an updated software/calibration package.

The Service Programming System (SPS) allows a technician to program a control module through the Data Link Connector (DLC). The information transfer circuit that is used at the DLC is the same serial data circuit used by the scan tool for retrieving Diagnostic Trouble Codes (DTCs), displaying data, clearing DTCs, etc. This procedure offers the ability to install software/calibrations matched to a particular vehicle.

Most control modules have 2 types of memory. The software/calibrations reside in the flash memory. The 2 types of memory are listed below:

  1. Electrically Erasable Programmable Read Only Memory (EEPROM). This type of memory allows selected portions of memory to be programmed while other portions remain unchanged. Certain learned values reside in the EEPROM, such as:
    • The Vehicle Identification Number (VIN).
    • The crankshaft variation learned position.
    • The software/calibrations identification numbers.
    • The control module security information.
  2. Flash Read Only Memory - Flash Memory Flash memory has increased memory storage capacity. During programming, all information within this type of memory is erased, and then replaced with entirely new information.

Ensure that the following conditions are met before programming a control module:

Before Programming A Control Module

  1. Vehicle system voltage:
    • Ensure there are no charging system concerns. All charging system concerns must be repaired before programming a control module.
    • Ensure the battery voltage is greater than 12 volts but less than 16 volts. The battery must be fully charged before programming the control module.
    • Ensure a battery charger is NOT connected to the vehicle's battery. Incorrect system voltage or voltage fluctuations from a battery charger may cause programming failure or control module damage.
    • Turn OFF or disable any system that may put a load on the vehicles battery. Turn OFF or disable systems such as, Heating, Ventilation, and Air Conditioning (HVAC) systems, engine cooling fans, Daytime running lights (DRL) etc. Applying the parking brake, on most vehicles, disables the DRL system.
  2. Ensure the ignition switch is in the proper position. The scan tool prompts you to turn ON the ignition, with the engine OFF. DO NOT change the position of the ignition switch during the programming procedure unless instructed to do so.
  3. Ensure the RS-232 cable, connection at the DLC, voltage supply circuits and the Off-Board Programming Adapter (OBPA) connections are secure:
  4. DO NOT disturb the tool harnesses while programming. If an interruption occurs during the programming procedure, programming failure or control module damage may occur.

After Programming a Control Module

  1. The powertrain may operate slightly different after a control module software/calibration update. Operating the powertrain through various driving conditions allows the control module to re-learn certain values. The control module must re-learn the following after a software/calibration update:
    • Fuel trim correction.
    • Idle Air Control (IAC) learned position.
    • Automatic transmission shift adapts.
  2. Other learned values only re-learn by performing a service procedure.
  3. If a control module is replaced, the following service procedures may need to be performed: