Skip to datasheet
The Engineering ProjectsAI Interactive Datasheet

MCP2515Stand-alone CAN controller with SPI

Add classical CAN messaging to an SPI-equipped controller.

Manufacturer-referenced

Microchip Technology · MCP2515-I/P

PDIP-18DS20001801K · 2021

MCP2515 is a stand-alone classical CAN 2.0B controller accessed through SPI. It handles frame formatting, arbitration, error detection and message buffering, while the host prepares messages and services received data. An external transceiver is required to drive CANH and CANL. Three transmit buffers and two receive buffers separate bus activity from host transfers. Six acceptance filters and two masks can reduce unnecessary host work. Standard 11-bit identifiers and extended 29-bit identifiers are supported, with up to eight data bytes per frame; CAN FD is not supported. The example combines a 5 V controller, a 20 MHz external oscillator and an MCP2562 transceiver. A reviewed timing setup produces 125 kbit/s. Wiring alone does not start communication: firmware must reset and configure the controller, select Normal mode and communicate with another correctly configured node.

Real View

MCP2515-I/P black package with silver leads and readable markings.
MCP2515-I/P · PDIP-18Package illustration

Pinout

MCP2515PDIP-18Top view
Select a pin to see its functionPDIP-18 · 18 pins

PCB Footprint

Loading footprint…
Powered by
Finding PDIP-18 packageTop view · mm

3D View

Preparing 3D preview…
3D packageDrag to rotate · Scroll to zoom
18Physical pins MCP2515-I/PPDIP-18 Manufacturer-referencedMicrochip Technology

Pin diagram

Select a pin to explore its connection

Package map
Highlight
MCP2515PDIP-18Top view

Click a lead or use the arrow keys. Top view

1
PIN 1 · CAN logic interface

TXCAN

Logic transmit output

Function

Sends the CAN protocol engine’s dominant/recessive logic to a transceiver.

How to connect

Connect to MCP2562 TXD pin 1.

Electrical note

This is not CANH or CANL; never connect directly to the cable.

Key specifications

The SPI host configures buffers, filters and timing. The CAN engine performs bus arbitration and error handling through TXCAN and RXCAN. A separate transceiver provides the electrical bus interface.

Classical CANUp to 1 Mbit/s
Operating supply2.7–5.5 V
Message buffers3 TX / 2 RX Six filters · two masks
Selected I-grade−40–85 °C

Operating profile

Supply, signals and operating conditions

MCP2515 operating profile
ParameterValueConditions / notes
Selected packagePDIP-18MCP2515-I/P
Host interfaceSPI 0 / 310 MHz maximum
Example bit rate125 kbit/s20 MHz oscillator · 16 TQ
Use these values with the stated grade and test conditions.

Package details

MCP2515-I/P · PDIP-18

Selected package
Selected MCP2515 physical package
PropertyDetails
ManufacturerMicrochip Technology
Part numberMCP2515-I/P
PackagePDIP-18
Connections18 pins
MountingThrough-hole
Lead pitch2.54 mm
Package codedip
Thermal referenceBoard and package dependent; see manufacturer data

Protocol and storage

Classical CAN 2.0B

Scroll sideways to see all columns.

ParameterValueConditions / notes
Bus rateUp to 1 Mbit/sSubject to oscillator and network timing
Identifiers11-bit standard / 29-bit extendedData and remote frames
Data field0–8 bytesNo CAN FD or bit-rate switching
Transmit storageThree prioritized buffersAbort and one-shot options
Receive storageTwo buffersPriority and optional rollover
AcceptanceSix filters and two masksConfigure before Normal mode
External line interfaceRequired CAN transceiverTXCAN / RXCAN are logic signals

A controller and a transceiver solve different parts of the CAN interface.

Useful SPI instructions

Most significant bit first · separate CS cycle per command

Scroll sideways to see all columns.

ParameterValueConditions / notes
RESET0xC0Initialize and enter Configuration mode
READ0x03, address, dummy clocksConsecutive register bytes may follow
WRITE0x02, address, data…Sequential register write
BIT MODIFY0x05, address, mask, dataOnly supported registers; mask 1 permits change
READ STATUS0xA0Frequently used RX/TX status
RX STATUS0xB0Received-frame type and matching filter
RTS buffer 00x81Request already-loaded TXB0 transmission
SPI timing10 MHz maximum; 50 ns CS setup/holdModes 0 and 3

The controller expects an instruction immediately after CS falls. Raise CS before issuing another instruction.

Operating modes

Request via CANCTRL; confirm via CANSTAT

Scroll sideways to see all columns.

ParameterValueConditions / notes
ConfigurationREQOP 100Required for bit timing, filters, masks and TXRTSCTRL
NormalREQOP 000Transmit, receive and acknowledge CAN frames
SleepREQOP 001Oscillator stopped; wake-up conditions apply
LoopbackREQOP 010Internal communications test without bus transmission
Listen-onlyREQOP 011Observe bus without transmitting or acknowledging
Mode confirmationRead OPMOD bitsA request may wait for pending transmissions

Listen-only nodes do not supply the acknowledgment required for a transmitting node’s normal successful frame.

125 kbit/s configuration example

20 MHz external clock · single sample

Scroll sideways to see all columns.

ParameterValueConditions / notes
Oscillator period50 ns1 / 20 MHz
BRP register field4TQ = 2 × (BRP + 1) / FOSC
Time quantum500 nsPrescaler division by 10
SegmentsSync 1; Prop 2; PS1 7; PS2 616 TQ per bit
Sample point(1 + 2 + 7) / 16 = 62.5%At the end of Phase Segment 1
Synchronization jump width1 TQMust not exceed PS2
CNF1 / CNF2 / CNF30x04 / 0xB1 / 0x05BTLMODE=1, SAM=0; wake filter/SOF disabled
Result16 × 500 ns = 8 µs per bit125000 bits/s

This is the manufacturer’s illustrative timing split, not a universal network prescription. Review propagation, oscillator tolerance and the other nodes.

Supply, clock and logic

MCP2515-I/P and MCP2515-I/SO

Scroll sideways to see all columns.

ParameterValueConditions / notes
Operating supply / temperature2.7–5.5 V / −40 to +85°CI grade
SPI input HIGH≥ 0.7 × VDDSCK, SI and CS
SPI input LOW≤ 0.4 × VDDSCK, SI and CS
RXCAN HIGH / LOW≥ 2.0 V / ≤ 0.15 × VDDDifferent input thresholds from SPI
Reset HIGH / LOW≥ 0.85 × VDD / ≤ 0.15 × VDDSchmitt reset input
External clock range1–25 MHz over 2.7–5.5 VUp to 40 MHz at 4.5–5.5 V
Clock duty cycle45–55%External clock input
Active current10 mA maximum5.5 V, oscillator25 MHz, SPI1 MHz, SO open
Sleep current, I grade5 µA maximumDefined inputs and CS / TXnRTS HIGH
Hardware reset LOW2 µs minimumThen allow 128 oscillator cycles for startup

At 5 V, a 3.3 V HIGH does not meet the SPI 0.7 VDD threshold. Use compatible levels or translation.

Controller-to-CAN connection

5 V logic · 20 MHz · 125 kbit/s

Scroll sideways to see all columns.

ParameterValueConditions / notes
Host SPISCK13, MOSI→SI14, SO15→MISO, CS16Start with mode0 at1 MHz
Host controlINT12→interrupt; RESET17→reset output10 kΩ pull-ups on CS and RESET
External oscillator20 MHz output→OSC1 pin8OSC2 pin7 open; oscillator bypass per its data
CAN controller/transceiverTXCAN1→MCP2562 TXD1; RXD4→RXCAN2Logic connections, not bus pins
MCP2562 suppliesVDD3 and VIO5 to5 V; VSS2 GND100 nF local supply bypass; STBY8 LOW
BusMCP2562 CANH7 and CANL6Twisted pair; two120 Ω end terminators
Unused outputsCLKOUT3, RX1BF10, RX0BF11 openUnused TXnRTS inputs have internal pull-ups
FirmwareReset, configure timing and filters, enter Normal modeAnother matching normal node must acknowledge

All ground references are common in this teaching circuit. Protection, isolation and cable length require a system-specific design.

Packages and stress limits

MCP2515-I/P · PDIP-18

Scroll sideways to see all columns.

ParameterValueConditions / notes
PDIP-18 P2.54 mm pitch; 7.62 mm rowsNarrow through-hole package
SOIC-18 SO1.27 mm pitch; 7.50 mm body widthWide SOIC, not a narrow 3.9 mm body
Other packages20-lead TSSOP / QFNDifferent contact maps; not interchangeable with18-pin views
Supply absolute maximum7.0 VNormal operation ends at5.5 V
I/O absolute range−0.6 to VDD + 1.0 VStress limits, not recommended input levels
Storage temperature−65 to +150°CUnpowered

Review the exact orderable and fabrication allowances before using the downloadable original footprints.

Connections by function

Select a pin for its function, connection guidance and electrical notes.

CAN logic interface2 pins

Oscillator & clock3 pins

Reset & transmit requests4 pins

Ground1 pin

Interrupts & flags3 pins

Host SPI4 pins

Supply1 pin

Read the conditions with every value

Typical values describe stated test conditions. Absolute maximum ratings are stress limits, not operating targets.

Official PDF datasheet

MCP2515 at a glance

Follow the labeled connections and functional stages

MCP2515 working principle: illustrated functional stages, basic circuit and connections
Select the diagram to read it at full resolution.

How it works

3 stages · Explore one step at a time

Step 1 / 3

Configure through SPI

Reset, wait for oscillator startup and confirm Configuration mode before programming timing, masks and filters.

Step 2 / 3

Buffer and arbitrate

Load an identifier and up to eight bytes into a transmit buffer, then request transmission. The engine handles arbitration and protocol errors.

Step 3 / 3

Receive and service

Accepted frames enter receive buffers. Enabled flags assert INT; firmware reads the message and clears or services the cause.

MCP2515 in a circuit

MCP2515 plus the separate MCP2562 bus transceiver.

5VhostSPIconnectsMCP2515with20MHzexternaloscillator,resetandchipselectpullups,bypasses,TXCANRXCANtoMCP2562andterminatedCANbus.
Named nets connect matching labels. Firmware configuration and a second acknowledging node are required.

Connect it, step by step

Follow the component values and pin connections

Power and clock

Use compatible5 V logic, local bypassing and a valid20 MHz clock.

Configure the controller

Reset and program the125 kbit/s timing in Configuration mode before requesting Normal mode.

Connect the physical bus

The external transceiver drives CANH/CANL. Terminate both cable ends and provide a matching active peer.

Inside MCP2515

SPI control, buffers and a CAN engine inside the package.

MCP2515compactcutawaywithSPIregisters,threeTXtworxbuffers,sixfilters,twomasks,CANengineandexternaltransceiverlogicpins.
Functional architecture; the external line transceiver is not inside MCP2515.

Explore the circuit

Select a stage to see its role and connections

Host interface

SPI reads and writes configuration, message buffers and status.

Filter and buffer

Separate storage and acceptance logic reduce host involvement for unwanted traffic.

Time the bus

Oscillator-derived bit timing drives arbitration, framing, error detection and logic TX/RX.

Selected packagePDIP-18MCP2515-I/P
Physical connections18 pinsPackage-specific numbering
Reference collection8 tables53 parameters & pin functions

Pin reference

Signal names, electrical functions and connection guidance

PDIP-18
Physical pin numbers18 pins

Scroll within the table to see all columns and rows.

MCP2515 pin functions and connections
PinSignalTypeFunction & connection
TXCANLogic transmit outputSends the CAN protocol engine’s dominant/recessive logic to a transceiver.
Connection guidance

Connect to MCP2562 TXD pin 1.

This is not CANH or CANL; never connect directly to the cable.

RXCANLogic receive inputReceives the bus state from the external transceiver.
Connection guidance

Connect to MCP2562 RXD pin 4.

CLKOUT/SOFClock or start-of-frame outputOutputs a divided oscillator clock or a selected start-of-frame indication.
Connection guidance

Leave open when unused.

After reset the enabled clock defaults to FOSC / 8.

TX0RTS̅Request-to-send inputActive-LOW request for transmit buffer 0, or a general-purpose input according to TXRTSCTRL.
Connection guidance

Leave unconnected when unused; its internal pull-up holds it HIGH.

Approximately 100 kΩ internal pull-up to VDD.

TX1RTS̅Request-to-send inputActive-LOW request for transmit buffer 1, or a general-purpose input according to TXRTSCTRL.
Connection guidance

Leave unconnected when unused; its internal pull-up holds it HIGH.

Approximately 100 kΩ internal pull-up to VDD.

TX2RTS̅Request-to-send inputActive-LOW request for transmit buffer 2, or a general-purpose input according to TXRTSCTRL.
Connection guidance

Leave unconnected when unused; its internal pull-up holds it HIGH.

Approximately 100 kΩ internal pull-up to VDD.

OSC2Oscillator outputFeedback terminal for crystal/resonator operation.
Connection guidance

Leave open in the external-clock example.

OSC1Oscillator / clock inputAccepts the clock used for CAN bit timing and internal operation.
Connection guidance

Apply a 20 MHz, 0–5 V oscillator output with 45–55% duty cycle.

VSSGround returnGround for logic, clock and I/O.
Connection guidance

Join the controller, oscillator and transceiver reference.

RX1BF̅Receive-buffer 1 flagConfigurable buffer-full indication or general-purpose output.
Connection guidance

Leave open when using INT alone.

RX0BF̅Receive-buffer 0 flagConfigurable buffer-full indication or general-purpose output.
Connection guidance

Leave open when using INT alone.

INT̅Active-LOW interruptSignals enabled interrupt conditions; software must inspect and service their flags.
Connection guidance

Connect to a compatible controller interrupt input.

SCKSPI clock inputClocks commands and register data; SPI modes 0 and 3 are supported.
Connection guidance

Connect controller SCK; use 1 MHz for the example.

SISPI data inputReceives instruction, address and data from the controller.
Connection guidance

Connect MOSI.

SOSPI data outputReturns register and buffer data; high impedance when CS is HIGH.
Connection guidance

Connect MISO.

CS̅Active-LOW chip selectLOW starts an SPI instruction; return HIGH before the next instruction.
Connection guidance

Connect a dedicated controller select and 10 kΩ pull-up to +5 V.

RESET̅Active-LOW resetInitializes registers and enters Configuration mode.
Connection guidance

Use a 10 kΩ pull-up and controller reset output; hold LOW at least 2 µs.

Allow oscillator startup before SPI access.

VDDPositive supplyPowers the CAN controller and its I/O.
Connection guidance

Use +5 V with 100 nF directly to VSS9.

Operating range 2.7–5.5 V; logic thresholds scale with supply.

PDIP-18 · Top view · Select a pin number to open its interactive pinout.

Protocol and storage

Classical CAN 2.0B

Manufacturer-referenced values7 parameters

Scroll within the table to see all columns and rows.

ParameterValueConditions / notes
Bus rateUp to 1 Mbit/sSubject to oscillator and network timing
Identifiers11-bit standard / 29-bit extendedData and remote frames
Data field0–8 bytesNo CAN FD or bit-rate switching
Transmit storageThree prioritized buffersAbort and one-shot options
Receive storageTwo buffersPriority and optional rollover
AcceptanceSix filters and two masksConfigure before Normal mode
External line interfaceRequired CAN transceiverTXCAN / RXCAN are logic signals

A controller and a transceiver solve different parts of the CAN interface.

Useful SPI instructions

Most significant bit first · separate CS cycle per command

Manufacturer-referenced values8 parameters

Scroll within the table to see all columns and rows.

ParameterValueConditions / notes
RESET0xC0Initialize and enter Configuration mode
READ0x03, address, dummy clocksConsecutive register bytes may follow
WRITE0x02, address, data…Sequential register write
BIT MODIFY0x05, address, mask, dataOnly supported registers; mask 1 permits change
READ STATUS0xA0Frequently used RX/TX status
RX STATUS0xB0Received-frame type and matching filter
RTS buffer 00x81Request already-loaded TXB0 transmission
SPI timing10 MHz maximum; 50 ns CS setup/holdModes 0 and 3

The controller expects an instruction immediately after CS falls. Raise CS before issuing another instruction.

Operating modes

Request via CANCTRL; confirm via CANSTAT

Manufacturer-referenced values6 parameters

Scroll within the table to see all columns and rows.

ParameterValueConditions / notes
ConfigurationREQOP 100Required for bit timing, filters, masks and TXRTSCTRL
NormalREQOP 000Transmit, receive and acknowledge CAN frames
SleepREQOP 001Oscillator stopped; wake-up conditions apply
LoopbackREQOP 010Internal communications test without bus transmission
Listen-onlyREQOP 011Observe bus without transmitting or acknowledging
Mode confirmationRead OPMOD bitsA request may wait for pending transmissions

Listen-only nodes do not supply the acknowledgment required for a transmitting node’s normal successful frame.

125 kbit/s configuration example

20 MHz external clock · single sample

Manufacturer-referenced values8 parameters

Scroll within the table to see all columns and rows.

ParameterValueConditions / notes
Oscillator period50 ns1 / 20 MHz
BRP register field4TQ = 2 × (BRP + 1) / FOSC
Time quantum500 nsPrescaler division by 10
SegmentsSync 1; Prop 2; PS1 7; PS2 616 TQ per bit
Sample point(1 + 2 + 7) / 16 = 62.5%At the end of Phase Segment 1
Synchronization jump width1 TQMust not exceed PS2
CNF1 / CNF2 / CNF30x04 / 0xB1 / 0x05BTLMODE=1, SAM=0; wake filter/SOF disabled
Result16 × 500 ns = 8 µs per bit125000 bits/s

This is the manufacturer’s illustrative timing split, not a universal network prescription. Review propagation, oscillator tolerance and the other nodes.

Supply, clock and logic

MCP2515-I/P and MCP2515-I/SO

Manufacturer-referenced values10 parameters

Scroll within the table to see all columns and rows.

ParameterValueConditions / notes
Operating supply / temperature2.7–5.5 V / −40 to +85°CI grade
SPI input HIGH≥ 0.7 × VDDSCK, SI and CS
SPI input LOW≤ 0.4 × VDDSCK, SI and CS
RXCAN HIGH / LOW≥ 2.0 V / ≤ 0.15 × VDDDifferent input thresholds from SPI
Reset HIGH / LOW≥ 0.85 × VDD / ≤ 0.15 × VDDSchmitt reset input
External clock range1–25 MHz over 2.7–5.5 VUp to 40 MHz at 4.5–5.5 V
Clock duty cycle45–55%External clock input
Active current10 mA maximum5.5 V, oscillator25 MHz, SPI1 MHz, SO open
Sleep current, I grade5 µA maximumDefined inputs and CS / TXnRTS HIGH
Hardware reset LOW2 µs minimumThen allow 128 oscillator cycles for startup

At 5 V, a 3.3 V HIGH does not meet the SPI 0.7 VDD threshold. Use compatible levels or translation.

Controller-to-CAN connection

5 V logic · 20 MHz · 125 kbit/s

Manufacturer-referenced values8 parameters

Scroll within the table to see all columns and rows.

ParameterValueConditions / notes
Host SPISCK13, MOSI→SI14, SO15→MISO, CS16Start with mode0 at1 MHz
Host controlINT12→interrupt; RESET17→reset output10 kΩ pull-ups on CS and RESET
External oscillator20 MHz output→OSC1 pin8OSC2 pin7 open; oscillator bypass per its data
CAN controller/transceiverTXCAN1→MCP2562 TXD1; RXD4→RXCAN2Logic connections, not bus pins
MCP2562 suppliesVDD3 and VIO5 to5 V; VSS2 GND100 nF local supply bypass; STBY8 LOW
BusMCP2562 CANH7 and CANL6Twisted pair; two120 Ω end terminators
Unused outputsCLKOUT3, RX1BF10, RX0BF11 openUnused TXnRTS inputs have internal pull-ups
FirmwareReset, configure timing and filters, enter Normal modeAnother matching normal node must acknowledge

All ground references are common in this teaching circuit. Protection, isolation and cable length require a system-specific design.

Packages and stress limits

MCP2515-I/P · PDIP-18

Manufacturer-referenced values6 parameters

Scroll within the table to see all columns and rows.

ParameterValueConditions / notes
PDIP-18 P2.54 mm pitch; 7.62 mm rowsNarrow through-hole package
SOIC-18 SO1.27 mm pitch; 7.50 mm body widthWide SOIC, not a narrow 3.9 mm body
Other packages20-lead TSSOP / QFNDifferent contact maps; not interchangeable with18-pin views
Supply absolute maximum7.0 VNormal operation ends at5.5 V
I/O absolute range−0.6 to VDD + 1.0 VStress limits, not recommended input levels
Storage temperature−65 to +150°CUnpowered

Review the exact orderable and fabrication allowances before using the downloadable original footprints.

Read each value with its conditions

Typical values describe the stated test conditions. Absolute maximum ratings are stress limits, not operating targets.

Microchip Technology · DS20001801K · 2021
Official PDF datasheet

Take it into ProTech

Find MCP2515 in the Components Library to place its schematic symbol and connect its pins.

Reference page · circuit simulation model not yet availableOpen ProTech

Component view