An Engine Control Unit (ECU), also known as Engine Management System (EMS) is an electronic device, fundamentally a computer, that is part of an internal combustion engine, which reads several sensors in the engine and uses the information to control the ignition systems of the engine. This approach allows an engine's operation to be controlled in great detail, allowing greater fuel efficiency, better power and responsiveness, and much lower pollution levels than earlier generations of engines. Because the ECU is dealing with actual measured engine performance from millisecond to millisecond, it can compensate for many variables that traditional systems cannot, such as ambient temperature, humidity, altitude (air density), fuel octane rating, as well as the demands made on it by the driver. In addition, to a large degree it is able to compensate for the gradual wearing of the engine as it ages, which in practice allows it to extend engine life to two or three times that of engines of twenty years ago.
Modern ECUs use a microprocessor which can process the inputs from the engine sensors in real time. An electronic control unit contains the hardware and software (firmware). The hardware consists of electronic components on a printed circuit board (PCB). The main component on this circuit board is a microcontroller chip (CPU). The software is stored in the microcontroller or other chips on the PCB, typically in EPROMs or flash memory so the CPU can be re-programmed by uploading updated code. This is also referred to as an (electronic) Engine Management System (EMS).
Earlier ECU designs were based more on analogue computer circuitry, because analogue circuits are not limited by clock speed. It was not until around 1987 that digital electronics and embedded microprocessor systems became fast enough to process engine parameters in real time. The first such systems were introduced into racing engines such as those used for Formula One, but it was not long before these found their way into everyday cars.
A hybrid digital design was popular in the mid-'80s. This used analogue techniques to measure and process input parameters from the engine, then used a look-up table stored in a digital ROM chip to yield precomputed output values. Later systems compute these outputs dynamically. The ROM type of system is amenable to tuning if one knows the system well. The disadvantage of such systems is that the precomputed values are only optimal for an idealised, new engine. As the engine wears, the system is less able to compensate than a CPU based system.
Sophisticated engine management systems receive inputs from other sources, and control other parts of the engine; for instance, some variable valve timing systems are electronically controlled, and turbocharger wastegates can also be managed. They also may communicate with transmission control units or directly interface electronically-controlled automatic transmissions, traction control systems, and the like. The Controller Area Network or CAN bus automotive network is often used to achieve communication between these devices.
Such systems are used for many internal combustion engines in other applications. In aeronautical applications, the systems are known as "FADECs" (Full Authority Digital Engine Controls). This kind of electronic control is less common in piston-engined aeroplanes than in automobiles, because of the large costs of certifying parts for aviation use, relatively small demand, and the consequent stagnation of technological innovation in this market. Also, a carburated engine with magneto ignition and a gravity feed fuel system does not require any electrical power to run, which is a safety bonus.
Modern CPU-based ECUs have On-Board Diagnostics, with which they can diagnose engine faults, stored as fault codes in their internal memory. When the vehicle is serviced an engineer connects a fault-code reader (or scanner) to the engine and inspects the stored fault codes. These codes fall into two categories: industry-standard codes, common to all vehicles in a class, and manufacturer-specific codes.
In the OBD-II standard for on-board diagnostics, the term powertrain control module (PCM) is used to refer to the main ECU.
A special category of ECUs are those used by automotive racers. These units do not have a predefined fixed behavior, but are programmable, or mappable. Since a race car often has a modified engine, the behavior of the ECU must be modified as well to adapt it to its new working environment. The ECU can often be programmed/mapped while the engine is running by connecting a laptop to it using a serial or USB cable. A map, consisting of a large number of configuration parameters, tells the ECU how it should control the engine given a number of specific sensor inputs.
An example of this is the amount of fuel to be injected into each cylinder, which varies depending on the engine's RPM and the position of the gas pedal (or the manifold air pressure). The engine tuner can adjust this by bringing up a spreadsheet like page on the laptop where each cell represents an intersection between a specific RPM value and a gas pedal position (or the throttle position, as it is called). In this cell the number of milliseconds that each injector should fire fuel is entered.
By modifying these values while monitoring the exhausts using a wide band lambda probe to see if the engine runs rich or lean, the tuner can find the optimal amount of fuel to inject to the engine at every different combination of RPM and throttle position. This process is often carried out at a dyno, giving the tuner a controlled environment to work in.
Other parameters that are often mappable are:
- Ignition : Defines when the spark plug should fire for a cylinder
- Rev limit : Defines the max RPM that the engine is allowed to rev to. After this fuel and/or ignition is cut.
- Water temperature correction : Allows for additional fuel to be added when the engine is cold (choke).
- Transient fueling : Tells the ECU to add a specific amount of fuel when throttle is applied.
- Low fuel pressure modifier : Tells the ECU to increase the injector fire time to compensate for a loss of fuel pressure.
- Closed loop lambda : Lets the ECU monitor a permanently installed lambda probe and modify the fueling to achieve stoichiometric (ideal) combustion.
Some of the more advanced race ECUs include functionality such as launch control, limiting the power of the engine in first gear to avoid burnouts. Other examples of advanced functions are:
- Waste gate control : Sets up the behavior of a turbo waste gate, controlling boost.
- Banked injection : Sets up the behavior of double injectors per cylinder, used to get a finer fuel injection control and atomization over a wide RPM range.
- Variable cam timing : Tells the CPU how to control variable intake and exhaust cams.
- Gear control : Tells the ECU to cut ignition during (sequential gearbox) upshifts or blip the throttle during downshifts.
A race ECU is often equipped with a data logger recording all sensors for later analysis using special software in a PC. This can be useful to track down engine stalls, misfires or other undesired behaviors during a race by downloading the log data and look for anomalies after the event. The data logger usually has a capacity between 0.5 and 16 Mbytes.
In order to communicate with the driver, a race ECU can often be connected to a "data stack", which is a simple dash board presenting the driver with the current RPM, speed and other basic engine data. These race stacks, which are almost always digital, talk to the ECU using one of several proprietary protocols running over RS232, CANbus or ethernet.
Many recent (around 1996 or newer) cars use OBD-II ECUs that are sometimes capable of having their programming changed through the OBD port. Automotive enthusiasts with modern cars take advantage of this technology when tuning their engines. Rather than use an entire new engine management system, one can use the appropriate software to adjust the factory equipped computer. By doing so, it is possible to retain all stock functions and wiring while using a custom tuned program. This should not be confused with "chip tuning", where the owner has ECU ROM physically replaced with a different one -- no hardware modification is (usually) involved with flashing ECUs, although special equipment is required.
Factory engine management systems often have similar controls as aftermarket units intended for racing, such as 3-dimensional timing and fuel control maps. They generally do not have the ability to control extra ancilliary devices, such as variable valve timing if the factory vehicle was a fixed geometry camshaft or boost control if the factory car was not turbocharged.