Skip to main content
PartAndStock
Blog

What Is the MCP2515? SPI CAN Controller: Specs and Uses

October 22, 2026 5 min read
Quick answer

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

ParameterValue
FunctionCAN 2.0B controller
Interface (to MCU)SPI
Crystal8 MHz or 16 MHz (module-dependent)
ExtraInterrupt (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.

Frequently Asked Questions

What is the MCP2515?+
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.
Can the MCP2515 connect to CAN on its own?+
No; it is only the controller. The physical CAN line also needs a transceiver (TJA1050/MCP2551) — usually present on the module.
The MCP2515 isn't working, why?+
The most common cause is that the module's crystal frequency (8 or 16 MHz) is selected wrongly in the library. Also, the CAN line needs 120 Ω termination at its ends.
What is an equivalent to the MCP2515?+
The companion transceivers MCP2551/TJA1050; the SN65HVD230 for 3.3 V; an MCU with built-in CAN (e.g. the STM32F103) that needs no external controller.