Also referred to as part of the Distributorless Ignition System (DIS). The ICM is the flat plate that the coils plug into and the ICM controls which coil is fired when, it is an independent system from the ECM. Through the CPS that is hooked to it it determins which coil to fire and sends a rpm/reference to the ECM so that the ECM can monitor engine speed. Below 400rpm the ICM controls spark advance by triggering the 3 coils at pre-determined intervals, above 400rpm the ECM will tell the ICM how much to advance the spark. It is a fairly decent and simple piggy back system that works quite well.