CAN-BUS Shield V2 adopts MCP2515 and MCP2551 for controller and transceiver, it is compatible with Arduino which means it can switch an Arduino board like Arduino Uno to start your CAN-BUS project.
- High-performance ICs: stand-alone MCP2515 CAN-BUS controller and high-speed MCP2551 CAN transceiver
- Supports industrial standards: provide 9-pin sub-D connector
- Medium communication speed: implements CAN V2.0B at up to 1 Mb/s
- Long travel distance: Standard (11 bit) and extended (29 bit) data and remote frames
- Two receive buffers with prioritized message storage
Hacking vehicles becomes easy with CAN BUS and Arduino! CAN-BUS Shield which adopts MCP2515 CAN-BUS controller with SPI interface and MCP2551 CAN transceiver to give you Arduino/Seeeduino CAN-BUS capability. With the help of CAN-BUS Shield, you can use easily interact with your car by using Arduino boards.
CAN-BUS Shield V2 also provides selectable OBD-II and CAN standard pinout, changeable CS pin for TF card slot, and INT pin. A screw terminal can easily to connect CAN_H and CAN_L.
What is CAN-BUS?
CAN-BUS is a common industrial bus because of its long travel distance, medium communication speed, and high reliability. It is commonly found on modern machine tools and as an automotive diagnostic bus.
CAN stands for Controller Area Network, it is used to allow microcontrollers and devices to communicate with each other within a vehicle without a host computer which allows for control and data acquisition. These devices are also called Electronic Control Units (ECU) and they enable communication between all parts of a vehicle.
Today, you can find up to 70 ECUs in a modern car. CAN is a serial communication bus designed for industrial and automotive applications. For example, they are found in vehicles, farming equipment, industrial environments, etc.
How does CAN-BUS work?
The fuel level, door sensors, odometer, and many more parts of a car have to communicate with each other somehow, and CAN BUS is what they used to do. These CAN-compatible components, which are called “nodes” are connected with a 3-string copper wire, with no central router to govern the flow of data. Every node can hear the messages of every other node.
Every node has an ID, where the ones with the higher priority ID can have the priority to “talk” first while the others “listen”. This is to ensure that there are never two nodes talking at the same time. The biggest benefit of CAN-BUS is to be able to just connect components without having to worry about signal routing.
Learn more about CAN-BUS here.
CAN-BUS Shield Works well with Arduino UNO (ATmega328), Arduino Mega (ATmega1280/2560) as well as Arduino Leonardo (ATmega32U4), and LinkIt One, if you want to use it with the others board, please contact us for more details.
|Seeeduino V4.2||Arduino UNO||Arduino Mega||Arduino Leonardo|
|CAN-Bus Shield V2||Compatible||Compatible||Compatible||Compatible
CAN-BUS Shield Different Versions Comparision
Previously we have made two versions of CAN-BUS Shield, V1.0, and V1.2. They are all awesome shields that are widely liked by our users. In order to make it better, several months ago we conducted a survey about CAN-BUS Shield V1.2 and received much valuable advice (Thanks to all the users who replied to us), so we decided to make an update and here it is - CAN-BUS Shield V2.
The CAN-BUS Shield V2 still uses MCP2515 as CAN-BUS controller and MCP2551 as CAN transceiver. There are really many updates compared with the precisions.
- OBD-II or CAN standard pinout can be selected by switching jumpers on the DB9 interface, the default pinout is OBD-II.
- Added a TF card slot for data storage, and the CS pin can be either set to D4 or D5.
- The INT pin can also be set to D2 or D3 by switching jumpers on the back of the shield.
- We moved the P1 pad from the front to the back of the shield to make it easier to cut and solder in case you want to use more than 2 CAN-BUS Shields, it is needed to cut the P1 pad.
- All in one, there are more options for customization.
|Default OBD Pinout||OBD-II Standard||OBD-II Standard|
|CAN Standard Pinout||Not compatible||Compatible (jumper)|
|INT Pin||Not changeable||D2 or D3 (jumper)|
|CS pin for TF card slot||No TF card slot||D4 or D5 (jumper)|
|P1 pad||Front of the shied||Back of the shield|
Can-BUS Communication Structure
Considering that the D0/D1 pin is usually used for downloading code, we changed the serial Grove connector to pin A0/A1. The I2C Grove connector is also changed to a more reasonable standard SDA/SCL pins instead of the previous A4/A5. The two Grove connectors are both changed to horizontal rather than vertical to the shield so that it would be more convenient when connecting to other grove modules.
|Dimensions||74.8mm x53.4mm x27.1mm|
|CAN-BUS Shield V2||1|
- CAN-BUS Shield V2.0 Schematics
- Schematic & PCB of CAN-BUS Shield V2.0
- Arduino Library for CAN-BUS Shield
- MCP2515 datasheet
- MCP2551 datasheet
- An OBD Demo
- MCP2515 Baud Rate Tool
- USB-CAN Analyzer
- DB9 to OBD2 Cable
- CAN BUS Shield v2.0 Drawing in PDF
- CAN BUS Shield v2.0 Drawing in DXF
In this video, I am connecting to the Renault Megane 3 vehicle with the Arduino Uno + SeeedStudio CAN Bus Shield V2 to analyze the data / messages passing through the vehicle's CAN bus (sniffing). If you use CAN Bus Protocol in your vehicles, you can listen to your vehicle with the same actions.
Introduction to CAN-BUS and How to use it with Arduino
Ever heard of CAN-BUS but don’t exactly know what it does? Fret not! We will be discussing everything about CAN-BUS today.
Ever wanted to play a car/truck simulator with a real dashboard on your PC? Me too! I'm trying to control a VW Polo 6R dashboard via CAN Bus with an Arduino Uno and a Seeed CAN Bus Shield. Inspired by Silas Parker.
This blog post highlights the available resources to safely play and hopefully learn more about CANbus and automobile/car hacking
Wiki of CAN-BUS Shield V2