
If you drive a car, you may by chance come up with the terms CAN bus. So, what is CAN bus and how does it work? How can we make the most use of it in communicating with our cars?
Let’s dive in!
Contents
Introduction
Have you ever wondered how all your car’s sensors, warning lights, and control modules communicate with each other? You’re probably thinking that it must be a very sophisticated system.
After all, your car is loaded with the complexity that only a very well-trained technician can decipher. But it wasn’t always like this.
In the early days, any type of warning light or gauge was simply connected directly to the sensor. Due to the addition of more and more of sensors and control modules to cars, the wiring to interconnect everything got equally more complex. They even started to add considerable weight to the car, so the car technicians had to find a different solution.
In 1985 the solution was created by Bosch to provide a simple way to enable sensors and control modules to communicate. The system is called the Controller Area Network (CAN) and it is used by every modern car on the road today.
What is CAN bus
Definition
The CAN bus was developed by Bosch Electronics for the automotive and aerospace industries. The automotive application consists of a central controller that monitors all of the car’s systems and sensors. This configuration simplifies the monitoring and diagnosis of detected faults.
There is a single wire connecting all of the communications between modules. This reduces the points of failure that were common in the older wiring looms. Additionally, the CAN bus also enables the system to continue operating even if a module fails.
CAN bus vs OBD2
The On-Board Diagnostics protocols (OBD2) would never have been possible without the CAN bus. The problem codes supported by the OBD2 protocol are interpreted by technicians to diagnose and fix problems.
Moreover, the data port where the OBD2 codes are accessed also serves as the port for software updates to modules connected to the CAN bus. This process alone has greatly simplified the ability of car manufacturers to keep your car operating at peak efficiency.
How does a CAN bus work?
CAN bus protocol
The CAN bus is a message-based protocol that is based on a set of rules. These rules define how messages are sent and received on the network.
In general, all of the devices connected to the CAN Bus are designed to follow the rules. This ensures that data is transferred correctly from one device to the other.
CAN bus connector
The CAN bus is accessed via the OBD port. This is the same port that is used for troubleshooting error codes and for software updates.
How to get CAN bus data
Acquiring CAN bus data is really no different than troubleshooting OBD error codes. When a CAN bus communication problem occurs, it will set the “U” trouble code and will illuminate the check engine light.
How to decode CAN bus data
To diagnose a CAN bus problem, the same OBD port is used but the scanning tool is a bit different.
The first difference is that the tool must be compliant with the latest high-speed CAN network. The second difference is that the tool must be capable of sending commands to individual modules to run specific system self-tests.
How a CAN bus scanner works
A CAN-compliant code reader or scan tool is plugged into the OBD port to identify the specific error code.

Like the OBD scanning tool, it will not tell you exactly what module has failed. It will only tell you that a fault has been detected in the system.
Based on this information you or a technician will need to isolate the problem. Here are a few examples of generic CAN bus error codes:
U0001 CAN bus communications error (high speed bus)
U0002 CAN bus communications performance error (high speed bus)
U0003 CAN bus communications error (open + wire)
U0004 CAN bus communications error (open – wire)
U0009 CAN bus communications error (short +/- wires)
This is only a partial list of over a hundred codes that will assist you in identifying the problem with the CAN bus network.
FAQ?
The CAN bus is used by every car manufactured after 1998 in the US and early 2000’s in Japan and Europe. The speed and sophistication of the bus may be different but all cars utilize this bus technology.
The CAN bus is not usually visible but you may see it connected to components on or around the engine compartment. It is identified as a 2-wire twisted pair connected to the modules.
The CAN bus cable is required if you are going to perform any diagnostics to pinpoint CAN related problems. It is used specifically with CAN compliant scanning tools.
There are several CAN bus analyzers available for DIYers. These simple to use low-cost tools can easily debug your CAN network. They will also provide all of the hardware and software you need to connect your CAN network to your PC. The graphical user interface will enable you to observe and interpret traffic on the bus network.
Bottom line
The CAN bus was a major breakthrough in the development of sophisticated systems for controlling, monitoring and identifying problems with car systems. It makes it possible for all CAN compliant modules and sensors to communicate with each other in real time. This makes it easier to monitor and control car systems to ensure that cars run smoothly and efficiently. The advantages that the CAN bus delivers to the automotive industry include:
- Low cost – Modules and sensors communicate via a single CAN bus to eliminate the direct connections and wiring harness nightmare. This reduces error/faults, weight, and cost.
- Centralized – The CAN bus provides a way to centralize the detection of errors/faults across all sensors and modules making diagnosis easier.
- Robust – The CAN bus provides protection from electromagnetic interference that is commonly found in vehicles which utilize many sophisticated electronic devices.
- Efficient – The design of the CAN bus is such that all messages traveling across the bus are prioritized via IDs so that the highest priority IDs are not interrupted.
- Flexible – Each device on the CAN bus contains a chip that receives and transmits messages as well as makes decisions on what action to take. This design also supports ease of updating and adding new devices if required.