This article will go into the very basics of how CAN Bus works in the automotive world. Things like transmission arbitration and bits/bytes are beyond the scope of what’s necessary for a basic understanding CAN Bus systems. There’s also a TON of other uses for Controller Area Network (CAN) systems, but this is an automotive blog (among other things).
The Old Way
Older analog technology required a physical wire between every sensor and every recipient. The coolant sensor from the engine went to the ECU and the ECU had a separate output to read the temps to the cluster panel. Splitting a sensor between multiple outputs wasn’t easily possible (EG tapping the stock coolant sensor to run an aftermarket gauge). Every new electronic sensor/gauge/output/input had to have a single wire or more linked from that module to its destination. Each new element added complexity and weight.
Modern CAN Bus
Modern day CAN Bus systems use 2 wires to communicate between modules on a “bus”. A bus is a system of modules all joined together using interconnected wiring. In the example above, there are 2 buses. One for the light modules and another for the engine and stability control system. Modern cars can have several buses for various sub systems. For example, the lighting module doesn’t need to know what the engine’s RPM is so there isn’t a need to run the extra wiring. A simple real world example of a bus system would be a computer’s USB (Universal Serial Bus) hub. Many devices can be connected to a computer through a single cable.
Why Use a Bus?
As cars get more complicated and filled with electronics, a CAN Bus type solution is necessary to keep cost/weight/failure points/etc to a minimum. Less wiring inside of a car can only be a good thing. For example, a car could have CAN Bus modules in each seat to tell if they are buckled, tensioned properly, occupied, reclined, and can be told to turn on the seat heaters/coolers, all with 2 wires.
Why Should I Care?
Because we can hack it! Why buy expensive aftermarket gauges when an android tablet can read out all of the engine’s vitals? CAN Bus information can also be used to diagnose issues beyond normal OBD2 codes that the factory didn’t expose. There are even tools to push commands to CAN Bus modules. Right now this type of hacking seems to be in its infancy, but in the future, it’s very possible to reverse engineer entire CAN Bus systems easily and manipulate any module or even add/remove them. For example, CAN hacking could be used to interface motor swaps with the factory cluster and body buses, eliminating the need to perform major rewiring jobs.
Much like the swap from carbs to EFI, CAN Bus systems are now prevalent in every current generation car. As a tuner or tinkerer of cars, it is quickly becoming a necessity to learn to use these systems and understand how they work. At the very least, they are useful for diagnostics. At its best, it is a new opportunity for tuning and enhancing vehicles far beyond what was possible in the past.