What Is the MCP2515? SPI CAN Controller: Specs and Uses
The MCP2515 is a CAN 2.0B bus controller controlled over SPI. It adds CAN communication to an MCU; it is used in automotive (OBD-II) and industrial networks. It is only the controller; the physical CAN bus also needs a transceiver (TJA1050/MCP2551). The crystal frequency must be selected correctly and 120 Ω termination placed at the line ends.
The MCP2515 is a CAN bus controller controlled over SPI. It adds CAN 2.0B communication to a microcontroller; it is used in automotive and industrial networks. For the concept, see what is SPI.
What is the MCP2515 used for?
Accessing the CAN bus: OBD-II/automotive projects, multi-node industrial sensor networks and robotics. It is only the controller; to connect to the physical CAN line you also need a CAN transceiver — usually a TJA1050 or MCP2551 on the module.
Specifications
| Parameter | Value |
|---|---|
| Function | CAN 2.0B controller |
| Interface (to MCU) | SPI |
| Crystal | 8 MHz or 16 MHz (module-dependent) |
| Extra | Interrupt (INT) output, message filters |
Watch out
If the module's crystal frequency (8 or 16 MHz) is not selected correctly in the library, communication fails. The CAN line needs a 120 Ω termination resistor at each end. Without a transceiver the MCP2515 alone cannot connect to a physical CAN bus.
Equivalents
- MCP2551 / TJA1050: companion CAN transceivers.
- SN65HVD230: a 3.3 V CAN transceiver.
- An MCU with built-in CAN: e.g. the STM32F103 (no external controller needed).
Find it in our catalog
Use the MCP2515 search.