# Introduction to CAN bus
###### tags: `tutorial` `electrical_system` `NTURT` `firmware_hardware`
##### Author: @solarLiterature
## What is CAN bus?
<!---
According to the well known Cambridge Dictionary, a can is a closed metal container, especially cylinder-shaped, in which some types of drink and food are sold. CAN, on the other hand, is a kind of communication network commonly found in cars that is analogous to nerves in a human body and ethernet in the PC world. To integrate every electrical part of the vehicle together, CAN bus is chosen to be used in the racing car of NTUR, and part of the job of CAN bus group is to, as the name implies, use this medium to chain different portions of the car together.
-->
As per the renowned Cambridge Dictionary, a can refers to a sealed metal container, often cylinder-shaped, used for selling certain beverages and food items. However, in the automotive context, CAN stands for Controller Area Network, which is a widely used communication network in cars. It functions similarly to the nerves in the human body or the ethernet in the PC world. To seamlessly integrate all the electrical components of the racing car at NTUR, the CAN bus has been chosen as the communication medium. The primary responsibility of the CAN bus group is to utilize this technology to interconnect various sections of the car effectively, just as the name implies.
<!---
Since CAN is very versatile, there are many configurations in the protocol that the user has to choose. This can be bad for people who need a rigorous and universal rule for communications such as component manufacturers who want their products to just work with other parts made by other manufacturers. Therefore, other higher layor protocols exist to define those CAN configuratons and J1939 is one of the most common one.
-->
CAN is an incredibly versatile protocol with numerous configurations for users to choose from. However, this flexibility can pose challenges for individuals seeking a standardized and universally applicable rule for communications. For instance, component manufacturers may desire their products to seamlessly work with other parts from different manufacturers without compatibility issues. To address this, higher-layer protocols come into play, defining standardized CAN configurations. Among these protocols, J1939 stands out as one of the most prevalent and widely used options. It serves to establish a common ground and enable seamless integration between various CAN-based components, alleviating concerns over compatibility and fostering a more efficient and unified communication system.
<!---
CAN bus and J1939 define a lot of standards for communications, so it is probably best to spend some time understanding the protocol before working or experimenting with them if you are not familiar with it. Below are two articles to start from for anyone who wants to find out more.
-->
CAN bus and the J1939 standard encompass a multitude of communication standards, making it crucial to invest time in understanding the protocols before engaging in any work or experimentation. For those unfamiliar with these technologies, it is highly recommended to begin with comprehensive research. Below are two informative articles that serve as excellent starting points for anyone seeking to delve deeper into the subject and gain a better grasp of the intricacies involved. By immersing oneself in these resources, a solid foundation can be established, paving the way for successful and meaningful exploration of CAN bus and J1939.
[CAN bus - How it Works? - Electronoobs](https://www.youtube.com/watch?v=JZSCzRT9TTo)
[CSS Electronics, CAN Bus Explained - A Simple Intro](https://www.csselectronics.com/pages/can-bus-simple-intro-tutorial)
[CSS Electronics, J1939 Explained - A Simpl Intro](https://www.csselectronics.com/pages/j1939-explained-simple-intro-tutorial)
The topic for this part will be together with STM32 experiments. :racing_car: