Engine control unit

Engine control units, or ECUs, control engines by determining the amount of fuel, ignition timing and other parameters, by monitoring an engine through sensors, and reading values from multidimensional maps. Before ECUs, fuel injection, ignition timing, and idle speed were directly controlled by mechanical and pneumatic sensors and actuators.

Control of fuel injection
For an engine with fuel injection, an ECU or engine control unit, will determine the quantity of fuel to inject based on a number of parameters. If the throttle pedal is pressed further down, this will open the throttle body and allow more air to be pulled into the engine. The ECU will inject more fuel according to how much air is passing into the engine. If the engine has not warmed up yet, more fuel will be injected (causing the engine to run slightly 'rich' until the engine warms up).

Control of ignition timing
A spark ignition engine requires a spark to initiate combustion in the combustion chamber. An ECU can adjust the exact timing of the spark (called ignition timing) to provide better power and economy. If the ECU detects knock, a condition which is potentially destructive to engines, and "judges" it to be the result of the ignition timing being too early in the compression stroke, it will delay (retard) the timing of the spark to prevent this.

A second, more common source, cause, of knock/ping is operating the engine in too low of an RPM range for the "work" requirement of the moment. In this case the knock/ping results from the piston not being able to move downward as fast as the flame front is expanding.

But this latter mostly applies only to manual transmission equipped vehicles. The ECU controlling an automatic transmission would simply downshift the transmission were this the cause of knock/ping.

Control of idle speed
Most engine systems have idle speed control built into the ECU. The engine RPM is monitored by the crankshaft position sensor which plays a primary role in the engine timing functions for fuel injection, spark events, and valve timing. Idle speed is controlled by a programmable throttle stop or an idle air bypass control stepper motor. Early carburetor based systems used a programmable throttle stop using a bidirectional DC motor. Early TBI systems used an idle air control stepper motor. Effective idle speed control must anticipate the engine load at idle. Changes in this idle load may come from  HVAC systems, power steering systems, power brake systems, and electrical charging and supply systems. Engine temperature and transmission status, and lift and duration of camshaft also may change the engine load and/or the idle speed value desired.

A full authority throttle control system may be used to control idle speed, provide cruise control functions and top speed limitation.

Control of variable valve timing
Some engines have Variable Valve Timing. In such an engine, the ECU controls the time in the engine cycle at which the valves open. The valves are usually opened sooner at higher speed than at lower speed. This can optimize the flow of air into the cylinder, increasing power and economy.

Electronic valve control
Experimental engines have been made and tested that have no camshaft, but has full electronic control of the intake and exhaust valve opening, valve closing and area of the valve opening. Such engines can be started and run without a starter motor for certain multi-cylinder engines equipped with precision  timed electronic ignition and fuel injection. Such a static-start engine would provide the efficiency and pollution-reduction improvements of a mild hybrid-electric drive, but without the expense and complexity of an oversized starter motor.

Programmable ECUs
A special category of ECUs are those which are programmable. These units do not have a fixed behavior, but can be reprogrammed by the user.

Programmable ECUs are required where significant aftermarket modifications have been made to a vehicle's engine. Examples include adding or changing of a turbocharger, adding or changing of an intercooler, changing of the exhaust system, and conversion to run on alternative fuel. As a consequence of these changes, the old ECU may not provide appropriate control for the new configuration. In these situations, a programmable ECU can be wired in. These can be programmed/mapped with a laptop connected using a serial or USB cable, while the engine is running.

The programmable ECU may control the amount of fuel to be injected into each cylinder. This 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 a number corresponding to the amount of fuel to be injected is entered. This spreadsheet is often referred to as a fuel table or fuel map.

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 dynamometer, giving the tuner a controlled environment to work in. An engine dynamometer gives a more precise calibration for racing applications. Tuners often utilize a chassis dynamometer for street and other high performance applications.

Other parameters that are often mappable are:
 * Ignition: Defines when the spark plug should fire for a cylinder.
 * Rev. limit: Defines the maximum RPM that the engine is allowed to reach. After this fuel and/or ignition is cut. Some vehicle have a "soft" cut-off before the "hard" cut-off.
 * Water temperature correction: Allows for additional fuel to be added when the engine is cold (choke) or dangerously hot.
 * Transient fueling: Tells the ECU to add a specific amount of fuel when throttle is applied. The term is "acceleration enrichment"
 * 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. On traditional gas powered vehicles in the USA stoich is 14.7:1.

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 ECU 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 looking for anomalies after the event. The data logger usually has a capacity between 0.5 and 16 megabytes.

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 or CANbus, connecting to the DLC connector (Data Link Connector) usually located on the underside of the dash, inline with the steering wheel

ECU flashing
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 ancillary 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.

Hybrid digital designs
Hybrid digital/analog designs were popular in the mid 1980s. This used analog 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.

Modern ECUs
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), ceramic substrate or a thin laminate substrate. 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 or replacing chips. This is also referred to as an (electronic) Engine Management System (EMS).

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.

Modern ECUs sometimes include features such as cruise control, transmission control, anti-skid brake control, and anti-theft control, etc.

General Motors' first ECUs had a small application of hybrid digital ECUs as a pilot program in 1979, but by 1980, all active programs were using microprocessor based systems. Due to the large ramp up of volume of ECUs that were produced to meet the US Clean Air Act requirements for 1981, only one ECU model could be built for the 1981 model year. The high volume ECU that was installed in GM vehicles from the first high volume year, 1981, onward was a modern microprocessor based system. GM moved rapidly to replace carburetor based systems to fuel injection type systems starting in 1980/1981 Cadillac engines, following in 1982 with the Pontiac 2.5L "GM Iron Duke engine" and the Corvette Chevrolet L83 "Cross-Fire" engine. In just a few years all GM carburetor based engines had been replaced by throttle body injection (TBI) or intake manifold injection systems of various types. In 1988 Delco Electronics, Subsidiary of GM Hughes Electronics, produced more than 28,000 ECUs per day, the world's largest producer of on-board digital control computers at the time.

Open source engine management systems

 * FreeEMS
 * CarDAQ-plus J2534 pass-thru hardware device

Modifiable but restricted engine management systems

 * MegaSquirt
 * M-tech automotive

DIY engine management systems

 * VEMS group