What Is Controller Area Network and How It Works

A Controller Area Network, commonly called CAN bus, is a communication system that lets electronic devices talk to each other without needing a central computer to manage the conversation. Originally designed for cars in the 1980s, it has become the backbone of vehicle electronics and is now used in everything from factory robots to medical equipment. If your car’s engine, brakes, airbags, and dashboard display all seem to work together seamlessly, CAN bus is the reason.

Where CAN Bus Came From

By the early 1980s, cars were filling up with electronic modules, and each one needed its own dedicated wiring to communicate with the others. The result was heavy, expensive, and increasingly impractical. A team at the German engineering company Bosch, led by researchers Siegfried Dais and Uwe Kiencke, set out to solve this by creating a single shared communication line that every module could use. They filed the initial patent in 1985, and the technology entered production for the first time in 1991 inside the Mercedes-Benz S-Class.

The idea was simple in principle: replace dozens of separate wires with one shared network, then give every device on that network a common language. That concept proved so reliable and cost-effective that CAN quickly spread beyond luxury cars into nearly every vehicle on the road, and then into industries that had nothing to do with automobiles.

How Devices Share a Single Wire

The central challenge of CAN bus is that many devices share the same communication line. If two devices try to send a message at the same instant, you need a way to decide which one goes first without corrupting either message. CAN solves this through a process called bitwise arbitration, and it works because the network recognizes two signal states with an important asymmetry.

The first state is called “recessive.” Think of it as the default, quiet state of the line. The second is called “dominant,” and it overrides the recessive state the way a loud voice drowns out a whisper. When two devices transmit simultaneously, any bit where one device sends a dominant signal and the other sends a recessive signal will read as dominant on the line. The device sending the recessive bit detects this mismatch, realizes another device with higher priority is talking, and backs off to try again later. The higher-priority device never even knows there was a conflict. No data is lost, and no time is wasted resending garbled messages.

Priority is determined by the message’s identifier number. Lower identifier numbers win because they contain more dominant bits early in the sequence. This means engineers can assign the most time-sensitive messages (like brake commands) the lowest identifiers, guaranteeing they always get through first.

The Two-Wire Signal System

CAN bus uses two physical wires, called CAN High and CAN Low. Instead of measuring a single voltage against ground, the system measures the difference between these two wires. This is called differential signaling, and it’s the key to CAN’s noise resistance.

In the recessive (default) state, both wires sit at roughly 2.5 volts, so the voltage difference between them is essentially zero. In the dominant state, CAN High rises to about 3.5 volts while CAN Low drops to about 1.5 volts, creating a difference of around 2 volts. Because the receiver only cares about the gap between the two wires, any electrical interference that hits both wires equally (from a nearby motor or ignition system, for example) gets canceled out. This makes CAN remarkably reliable in the electrically noisy environments found inside vehicles and factories.

At each physical end of the network, a 120-ohm resistor connects the two wires together. These termination resistors prevent signals from bouncing back along the line and causing errors. Every properly built CAN network has exactly two of them, one at each end.

Message Structure and Data Limits

Every CAN message is packaged in a “frame” that contains several pieces of information: an identifier that indicates the message type and priority, a small data payload, and error-checking bits that let receivers verify nothing was corrupted in transit.

The original standard, known as CAN 2.0A, uses an 11-bit identifier. That gives the network 2,048 possible message types, which was plenty for early automotive systems. As vehicles grew more complex, an extended version called CAN 2.0B was introduced with a 29-bit identifier, expanding the number of possible message types into the hundreds of millions.

Both versions carry a maximum of 8 bytes of data per message. That’s a tiny payload by modern standards, roughly enough for a sensor reading, a status flag, or a short command. CAN wasn’t designed for streaming video or transferring large files. It was designed to send small, critical updates very quickly and very reliably. A single CAN frame carrying “the brake pedal is pressed” or “engine coolant temperature is 95°C” doesn’t need more than a few bytes.

Speed and Distance Tradeoffs

CAN bus tops out at 1 megabit per second, but only when the total cable length stays under about 40 meters (130 feet). As you stretch the network longer, you have to slow the data rate down to keep signals reliable. The relationship is roughly:

  • 500 kbit/s at up to 100 meters (330 ft)
  • 250 kbit/s at up to 200 meters (650 ft)
  • 125 kbit/s at up to 500 meters (1,600 ft)
  • 10 kbit/s at up to 6 kilometers (about 3.7 miles)

This tradeoff exists because electrical signals take time to travel along a wire. If the cable is too long relative to the data speed, a device at one end might start sending a new bit before the previous bit has reached the other end, and the arbitration system breaks down. For a typical passenger car, where all the modules sit within a few meters of each other, the full 1 Mbit/s speed works fine. For a long factory floor or a large piece of agricultural equipment, engineers choose a lower speed to match the distance.

The ISO 11898 Standard

CAN is governed by the ISO 11898 family of standards, which splits the technology into layers. ISO 11898-1 covers the data link layer: the rules for how messages are formatted, how arbitration works, and how errors are detected. ISO 11898-2 covers the physical layer: how electrical signals are generated and received on the wire, including the voltage levels and transceiver behavior described above.

This separation matters because it lets different industries customize the physical wiring to suit their environment while keeping the core communication protocol the same. A CAN network in a passenger car and a CAN network in a factory robot follow the same message rules, even if their wiring and connectors look completely different.

Applications Beyond Cars

While automotive use put CAN on the map, the protocol’s reliability and low cost made it attractive to many other industries. Several higher-level protocols have been built on top of the basic CAN framework, each tailored to a specific field.

J1939 is the dominant protocol in heavy-duty vehicles. Trucks, buses, construction equipment, and agricultural machines use it to connect engines, transmissions, and braking systems. It standardizes the meaning of specific messages so that an engine from one manufacturer can communicate with a transmission from another.

CANopen is widely used in industrial automation and medical devices. It adds features like device configuration and network management that go beyond what raw CAN provides, making it easier to build complex systems with components from multiple vendors.

DeviceNet, managed by the ODVA industry group, is built for factory automation. It connects programmable controllers to sensors, switches, motor drives, and operator displays on assembly lines. On its upper communication layers, DeviceNet uses a protocol called the Common Industrial Protocol, which allows it to integrate with other industrial networking technologies.

Why CAN Bus Still Matters

Modern vehicles can contain 70 or more electronic control units, and CAN remains the most common way they communicate. A typical new car runs multiple CAN networks: a high-speed one for the engine and safety systems, and a slower one for comfort features like seat adjustment and climate control.

Newer protocols like CAN FD (Flexible Data-rate) have expanded the original design, allowing up to 64 bytes per message and faster data rates during the payload portion of a frame. Ethernet-based systems are also entering vehicles for bandwidth-hungry features like cameras and infotainment. But for the thousands of small, time-critical messages that keep a vehicle running safely, CAN’s combination of simplicity, low cost, and proven reliability keeps it firmly in place nearly four decades after its invention.