The service programming system (SPS) allows technicians to program control modules through the data link connector (DLC) by utilizing the same serial data circuit that scan tools use for diagnostic trouble code (DTC) retrieval along with data reading. Control modules incorporate electrically erasable programmable read only memory (EEPROM) that saves information like vehicle identification number (VIN) along with crankshaft variation learned position and control module security information and software/calibrations identification numbers yet flash read only memory possesses higher storage capacity since programming blanks it entirely to insert new content. The programming procedures consist of remote and pass thru options with (Tech 2) devices alongside off-board remote and off-board pass thru capabilities and (OBPA). Before programming a control module must start only during cases where module replacement or new software release is necessary and when checking that system voltage falls between 12 to 16 volts and charging systems function properly and no battery charger is attached. First disable battery-loading systems then put the Ignition Switch correctly and double-check all tool connections remain secure. Tool harness disturbance should be avoided throughout programming steps to prevent both failures and equipment damage. After programming, the powertrain may operate differently, requiring the control module to re-learn values such as fuel trim correction, idle air control (IAC) learned position, and automatic transmission shift adapts, while additional service procedures may be necessary if a control module is replaced, including the crankshaft variation learn procedure, engine oil life reset procedure, idle learn procedure, inspection/maintenance complete system set procedure, vehicle theft deterrent password learn procedure, and throttle position (TP) sensor learn procedure.