Ten years after Masuoka invented flash memory it arrived in the all-new, on-board diagnostic (OBD-I) 1994 LT1 F-body powertrain control module (PCM). The spiffy new controller featured 128 kilobytes of flash memory and two 16-bit Motorola 6800 series processors. It actually used two separate computer boards, each with its own processor and flash memory, which many thought were independent for engine and transmission control, but GM referred to them as the Event and Time processors. The controller would remain unchanged through 1995 and was recognized with the service code 16188051. The ’94-’95 LT1 Corvettes used essentially the same PCM, but with one additional microchip to begin OBD-II-like communications. The Vette controller used service code 16181333.
In 1996, the mandated arrival of second-generation on-board diagnostics (OBD-II) was the notable news. The LT1 PCM for ’96 was similar in architecture to its predecessor, but featured a faster 6800 series processor and a doubling of one memory chip’s size-for a total combined flash memory of 192 kilobytes. The service code for ’96 was 16214399. The 1997 module was practically a carryover and is interchangeable with 1996 modules, but it hailed under a new service code of 16242921. The 1996 LT4 Corvettes also featured a relaxed knock module, which enabled more aggressive spark advance. Thanks to its plug-and-play interchange-ability, this removable knock module, identified by GM Part Number 16214681, became a transplant favorite for LT1-based ’96 and ’97 cars. Besides the knock module difference, the difference between LT1 and LT4 controllers was limited to the calibration.
Also making a splash in 1997 was the Corvette’s all-new Gen III LS1 engine. A completely new PCM was developed to control the new engine architecture. The ’97 LS1 module was designed around a much faster Motorola 68000 series processor. The unit’s memory was also cranked up, now with a whopping 512 kilobytes on board. The pumped-up processor and memory allowed for a single integrated computer board, responsible for both time and event related computation. The module remained identical for 1998 as well, and had a service code of 16238212. A clean sheet approach to engine control was applied for the LS1 as well. The General still used familiar algorithms, such as short and long term fuel trims, but the mapping took on new looks and the interaction became more sophisticated, capitalizing on the addition of a crank position sensor and coil-on-plug ignition. However, the LT1 individual cylinder fuel trims were gone.
In 1999, the LS1 PCM was re-designed again. The connectors look practically the same as those on ’97-’98 PCMs, but the small-er body of the new ’99 PCM made it clearly distinguish-able. Even though the connectors ap-pear the same, the PCMs are not inter-changeable and the pin-outs are vastly different. Just plug-ging a ’99 PCM into an older harness can damage the PCM due to the wiring differences. Internally, the redesigned LS1 controller featured tighter packaged electronics, but still utilized the Motorola 68000 chip, albeit with a faster clock speed. The ’99 PCM carried over unchanged for 2000, and the two share a service code of 09354896. From a operating standpoint, the big news for ’99 was the extension of the MAF table range. The ’99 peaked at 12,000 Hz, up from the ’98 peak of 11,250 Hz, which was easily exceeded. The increase in recognized flow potential carried out in load tables as well, expanding the peak from 1.0 gram/cylinder in ’98 to 1.2 gram/cylinder in ’99. The extra range enabled tuning for big engines. The faster processor made chugging through the maps at high rates (aka high rpm) more efficient as well.
In 2001, the LS1 PCM was upgraded again with a faster version of the Motorola 68000 chip. Additionally, some of the internal memory was moved around, making re-flashed, retro-fit interchangeability with ’99-’00 questionable. Externally, the PCM is indistinguishable from ’99-’00 modules. The ’01 architecture remained unchanged across platforms through 2002, and again for 2003 Vettes. The PCM used service code 12200411. From an operating standpoint, this PCM introduced various algorithm improvements and mapping expansions, such as the advanced spark control tables-i.e., modifiers based on ECT, IAT, and AFR.
For 2003, the Gen III PCM for trucks was upgraded with an even faster version of the Motorola 68000 chip. The same upgrade was rolled out on the car side in 2004 Vette and GTO. The flash memory was now doubled from 512 kilobytes to 1024 kilobytes, to help facilitate further expansion of control coding. Externally, the new PCM was identifiable by its ‘green’ connector (replacing the ‘blue’ connector found on ’99-’02 PCMs). This PCM would remain basically unchanged through its remaining usage up to 2007. However, several service codes existed due to internal manufacturing or sourcing changes, such as Intel-brand flash memory or AMD-brand flash memory. This brand-swapping was fairly transparent to the user, but caused tuning and diagnostic tools to be re-designed to ensure compatibility. The service codes for ’03-’07 include 12576106, 12586243, 12586242, 12583560, 12583561, and 12589463. These PCMs are interchangeable, with a complete re-flash of the appropriate operating system. Thanks to its fast processor and large memory, this PCM is considered the optimal choice for LS1 transplants.
By 2008, federal law requires all factory controllers to be controller area network (CAN) based. GM got a jump on the new architecture with the Gen IV LS2 and truck LH6 engines in 2005. The totally new engine control module (ECM), dubbed E40, still used a processor from the Motorola 68000 series, but a newer and faster version. Flash memory size remained 1 megabyte, the same as existing LS1 PCMs, but it was a newer generation of flash. The increases in performance were complemented with a radical reduction in size as well. Following the nature of electronics evolution, the new box was drastically smaller than its predecessor, and also featured highly compacted, smaller connectors. The E40 also only controls the engine. Transmission control was separated out to a new stand-alone controller, the transmission control module (TCM), named T42. Yet both new units combined were still much smaller than one combination LS1 controller. The new TCM is also a flash-based unit, featuring 1 megabyte of memory. This separation of PCM to ECM and TCM allowed for easier powertrain integration between the various platforms utilizing Gen IV powertrains. The E40 would only serve two years as a GM controller between ’05 and ’06.
For 2006, GM introduced two new ECMs, E38 and E67. These controllers look somewhat similar to the E40, but slightly different connectors exist on each of the three, and none interchange. The new ECMs featured a departure from the historied 68000 series chip for a new Motorola PowerPC based 40 MHz, 32-bit RISC processor and a flash memory bumped up to a hefty 2 megabytes, or 2048 kilobytes-twice that of the replaced controllers. They are also the first GM controllers to feature floating-point processing, an improvement to the accuracy in which it makes calculations. The E67 has a slight edge on E38, thanks to its additional input/output lines, thus making it the choice for vehicles with variable valve timing. Also new for 2006 was the T43 transmission controller for six speed automatics. In another radical move, the T43 found a home ‘inside’ the transmission. The T43 is actually tucked in with the valve body, and has yet to receive a service part number from GM.
Clearly, GM’s powertrain controllers have come a long way over the years, and we expect the ongoing evolution to continue on its advancing path. It’s been 23 years since Masuoka’s invention of flash memory, and 13 years since taking duty in GM’s controllers. Now it’s arguably one of the most important advancements that enabled the mainstream popularity of DIY custom tuning.