Skip to content

From Carburetor to Code: The Computer in the Car

Abstract

The automobile was mechanical engineering’s masterpiece, and it computerized almost by stealth. The first electronic fuel injection reached production in 1958 and failed; Bosch’s D-Jetronic (1967) made it work; a microprocessor first timed spark in a production car in 1977; and emissions law then did what innovation alone could not, forcing a computer into every engine bay. Today a car is a rolling distributed system (dozens of networked controllers running a hundred million-plus lines of code) and the industry’s frontier product is the “software-defined vehicle.” This is the story of how mechanical engineers learned, reluctantly and under regulatory duress, to ship software, and of what happened to the companies that learned it late.

False Start: The Electrojector

Electronics entered the engine bay before the transistor was ready for it. In the late 1950s the American supplier Bendix developed the Electrojector, the first electronic fuel injection system offered on production cars (announced for the 1957 Rambler Rebel, sold briefly on 1958 Chrysler products). Its transistorized “brain” (a modulator box computing injection timing from sensor inputs) was conceptually decades ahead. It was also hopeless in the field: components of the era failed in heat and vibration, cars stalled, and virtually all delivered units were quietly retrofitted with carburetors. A textbook dead end of the too early kind, but Bendix patented everything, and the patents found their buyer.

D-Jetronic: The Idea, Industrialized

Bosch licensed the Bendix approach and industrialized it. D-Jetronic (1967), an analog electronic control unit computing fuel delivery from manifold pressure and engine speed, with no microprocessor and no digital logic, launched in the Volkswagen 1600 (Type 3), driven in part by an external forcing function that would define the field: California’s tightening emissions rules. The device under the seat was, in substance, an analog computer for a combustion process, and German buyers met the future with appropriate suspicion, workshops blamed every fault on the mysterious box. But it worked, some 1.8 million were built, and its successors (L-Jetronic, 1974) spread electronic injection across the industry.

The decisive convergence came in 1979–1980. GM had put a microprocessor into a production car first (the 1977 Oldsmobile Toronado’s MISAR spark-timing system) and Bosch’s Motronic (1979, debuting on the BMW 7 series) combined injection and ignition control in one digital, microprocessor-based engine management system. In 1980–81, facing federal emissions deadlines, GM rolled microprocessor engine control across essentially its whole US fleet. The battle was over before most drivers knew it had begun: by the mid-1980s the carburetor was dying and every new engine shipped with a computer (the ECU) as its sole competent operator. Notably, the chips came along for the ride on regulation, not customer demand: no buyer asked for software; they asked to pass smog checks.

From One Computer to a Network

Once one controller existed, functions multiplied, anti-lock brakes (Bosch ABS, 1978), transmission control, airbags, cruise control, and with them a wiring-harness crisis: point-to-point copper between boxes grew heavier than the electronics it served. Bosch’s answer became one of the quiet foundational standards of the embedded world: the CAN bus (presented 1986; first in production in the 1991 Mercedes S-Class), a robust broadcast network over which controllers exchange short prioritized messages (see The Embedded Systems Story). Regulation again played co-author: OBD-II (mandatory in the US from 1996) standardized the diagnostic port and forced every car to expose its software’s self-knowledge to any repair shop.

Under the hood, automotive computing became a distinct engineering culture: hard real-time operating systems (the OSEK standard in Europe, ITRON-family kernels in Japanese electronics, later the AUTOSAR architecture, founded 2003), the MISRA C coding rules, and functional-safety certification, a discipline where a null pointer can be a fatality. By the 2010s a premium car carried on the order of 70–150 ECUs and software stacks commonly estimated at over 100 million lines of code, routinely, and correctly, described as more code than an airliner’s avionics.

The Software-Defined Vehicle

The smartphone era inverted the industry’s self-image. Tesla shipped over-the-air updates from 2012, changing braking distance and adding features by download, treating the car as a software product with a hardware substrate (see Elon Musk and Software-Defined Industry). Incumbents discovered that a hundred ECUs from forty suppliers, each a sealed contract deliverable, is precisely the architecture that cannot be updated coherently, and began consolidating toward a few high-performance central computers running Linux, QNX, and Android Automotive alongside the safety cores. The struggles were public and expensive; Volkswagen’s Cariad software division became the industry’s cautionary tale, its delays reshuffling model launches and executive careers. Meanwhile driver assistance pushed the computational ceiling from microcontrollers to neural-network accelerators (see The Autonomous Vehicle Race).

Dead End: The Supplier Model Meets Software

The instructive failure here is not a product but an organizational architecture. The 20th-century car industry perfected distributed mechanical engineering: specify components, source them from tiered suppliers, integrate at the plant. Applied to software, the same model produced the unmaintainable vehicle, dozens of incompatible black boxes, no common platform, integration by wiring harness. The companies that treated software as another purchased part spent the 2020s paying down that decision, while the value in the vehicle migrated to exactly the layers (silicon, operating systems, autonomy stacks, app ecosystems) owned by computing companies. The engine control unit had been in the car for forty years; the lesson that the car is a computer still arrived as a shock.

📚 Sources