CAN Bus Explained - A Simple Intro [2026]<br>– CSS Electronics
Skip to content
Just added to your cart
Qty:
View cart ()
Continue shopping
Submit
Close search
Search
Cart
items
CAN Bus Explained - A Simple Intro [2026]
*{padding:0;margin:0;overflow:hidden}body,html{height:100%}img,span{position:absolute;width:100%;top:0;bottom:0;margin:auto}span{height:1.5em;text-align:center;font:65px/1.5 sans-serif;color: white;text-shadow:0 0 .1em #000}span:hover{text-shadow:0 0 .1em red; font-size:75px;}▶" allowfullscreen title="CAN Bus Explained - A Simple Intro">
Need a simple, practical intro to CAN bus?
In this tutorial we explain the Controller Area Network (CAN bus) for beginners, incl. the CAN frame,<br>higher-layer protocols and how to log/decode CAN bus data.
Read on to learn why this has become the #1 guide on CAN bus .
You can also view our CAN bus protocol intro above or get the<br>PDF.
In this article
What is CAN bus?
Top 4 benefits of the CAN protocol
CAN history & future
CAN OSI model
What is a CAN frame?
CAN higher-layer protocols
How to log CAN data
How to decode CAN data
Author: Martin<br>Falch
(updated January 2025)
Download as PDF
What is CAN bus?
CAN bus (Controller Area Network) is a communication system used in vehicles/machines to<br>enable ECUs (Electronic Control Units) to communicate with each other - without a host computer. For example,<br>the CAN bus enables quick and reliable sharing of information between your car's brakes and engine.
Let's imagine your car is like the human body:
The CAN bus is<br>the nervous system , enabling communication.
In turn, ECUs (aka 'CAN nodes') are like parts of the body, interconnected via the CAN<br>bus. Information sensed by one part can be shared with another.
In physical terms, all ECUs are connected on a two-wire bus consisting of a twisted pair: CAN high and<br>CAN low. The wires are often color coded: CAN high is yellow (like the sun), CAN low is<br>green (like the grass).
What is an ECU?
Electronic Control Units (ECUs) are components that control certain functionality -<br>e.g. the engine control unit,<br>transmission, brakes, steering, temperatures etc. A modern<br>car can easily have 70+ ECUs - each sharing information with other<br>ECUs on the bus.
Any ECU on the CAN bus can prepare and broadcast information (e.g. sensor data). The<br>broadcast data is accepted by all other ECUs on the network - and<br>each ECU can then check the data and decide whether to receive or ignore it.
If we zoom in, an ECU consists of three primary elements:
Microcontroller: The MCU is the brain of the ECU - it interprets incoming CAN messages and<br>decides what messages to<br>transmit. For example, a sensor might be programmed to measure and broadcast oil<br>temperature<br>at 5 Hz
CAN controller: The controller is typically integrated in the MCU and ensures all<br>communication adheres to the CAN protocol (message encoding, error detection, arbitration etc.) - removing<br>complexity from the MCU
CAN transceiver: The CAN transceiver connects the CAN controller to the physical CAN<br>wires,<br>converting controller data into differential signals for the CAN bus system and vice versa. It also<br>provides electrical<br>protection
CAN bus DB9 connector
How do you connect to a CAN bus?
There is no standard connector across CAN bus applications. As we show later, this implies<br>that different vehicles/machines may use different connectors.
However, a close candidate is the CAN DB9 (D-sub9) connector (CANopen CiA 303-1), which has become the de facto<br>standard<br>for many applications including CAN bus data loggers/interfaces.
CAN bus variants
Before we proceed, it is useful to know that multiple variants of CAN exist:
Low-speed CAN: Fault-tolerant CAN is a low cost option when fault<br>tolerance is critical - but is increasingly replaced by LIN bus
High-speed CAN: Classical CAN is the most common variant today<br>across automotives/machinery (and the focus of this article)
CAN FD: Offers longer payloads and faster speed, though adoption<br>remains<br>limited - learn more in our CAN FD<br>intro
CAN XL: Offers even longer payloads and faster speed to bridge the gap<br>between<br>CAN<br>and Automotive Ethernet (100BASE-T1)
Other automotive network protocols
In automotives you'll often encounter other non-CAN networks - below are the most relevant:
LIN bus : LIN bus is a lower cost supplement to CANbus networks, with less harness and<br>cheaper nodes. LIN bus clusters typically consist of a LIN master acting as gateway and up to 16 slave nodes.<br>Typical use cases include e.g. non-critical vehicle functions like aircondition, door functionality etc. - for<br>details see our LIN bus intro<br>or LIN bus data logger article
FlexRay : FlexRay offers higher speed than CAN (up to 10 Mbit/s), fault-tolerance through its<br>dual-channel redundancy and high flexibility - but<br>is also more costly. It is standardized as per ISO 17458-1 and ISO 17458-5
Automotive Ethernet : This is increasingly being rolled out in the automotive sector to<br>support the high...