Adafruit
Adafruit CAN Bus FeatherWing - MCP2515
The Adafruit CAN Bus FeatherWing adds CAN bus networking to any Feather board. It uses the MCP2515 CAN controller and TJA1051/3 transceiver to send and recei...
Get notified when back in stock
The Adafruit CAN Bus FeatherWing adds CAN bus networking to any Feather board. It uses the MCP2515 CAN controller and TJA1051/3 transceiver to send and receive messages in standard or extended format at up to 1 Mbps over a two-wire differential bus. Only an SPI port and two pins (chip-select and IRQ) are required, with drivers available for Arduino and CircuitPython.
CAN bus is a networking standard originally designed for automotive use, now widely adopted in robotics and sensor networks. It offers better range and addressing than I2C, works well in noisy environments, and allows nodes to be added or removed from the shared bus easily.
Key Features
- MCP2515 CAN Controller – SPI interface with Arduino and CircuitPython support
- TJA1051/3 Transceiver – Converts 3.3V logic to CAN differential signalling
- 5V Charge Pump – Generates clean 5V for the transceiver from 3.3V Feather power
- 3.5 mm Terminal Block – Quick access to CAN High, CAN Low, and ground
- 120 Ohm Termination – Onboard resistor with cuttable jumper (TERM) for removal
- Optional DE-9 Connector – Footprint for an edge-launch DE-9 (not included) for OBD-II connections
- Pre-Connected CS and INT Pins – Default to the two pins left of the I2C Feather port; cuttable jumpers allow remapping
- Up to 1 Mbps – Standard and extended CAN frame support
Also Available
- Adafruit CAN Bus BFF – CAN bus add-on for QT Py / Xiao boards
- Adafruit CAN Pal – Transceiver-only breakout for boards with native CAN peripherals
Ideal For
- Robotics communication networks
- Automotive CAN bus projects and OBD-II interfacing
- Sensor networks requiring better range than I2C
- Industrial and noisy environment applications
Package Contents
- 1× Adafruit CAN Bus FeatherWing (assembled)
- 1× 3.5 mm terminal block
- 1× Header strip
Jargon buster
Plain-language definitions for the technical terms used above.
- breakout
- A breakout board carries a small or fine-pitched component and brings its connections out to standard, breadboard- and header-friendly pins. Describing a part as a breakout means it can be wired into a project without soldering directly to the component's tiny contacts.
- CAN bus
- CAN bus is a reliable two-wire communication network originally designed for vehicles and now common in machinery and robotics. It matters when you need multiple controllers or devices to share status and control messages in a noisy electrical environment.
- CircuitPython
- A beginner-friendly version of Python designed to run directly on microcontroller boards. If a product supports CircuitPython, you can often program it by copying code files onto the board rather than setting up a more complex toolchain.
- CS
- CS stands for chip select, a control pin used by SPI devices to tell which connected device should listen. It matters when you connect more than one SPI module to the same microcontroller, because each device usually needs its own CS pin.
- FeatherWing
- A FeatherWing is an add-on board made to plug into the Feather microcontroller board layout. Knowing a product is a FeatherWing helps you check whether it will physically and electrically fit your Feather-style mainboard.
- I2C
- I2C is a two-wire communication bus used by many sensors and small modules. It matters because several I2C devices can share the same two wires, but each device needs a compatible address and your controller must support I2C.
- IRQ
- IRQ (interrupt request) is a signal line a device uses to alert a microcontroller that something needs attention, so the microcontroller does not have to poll continuously. Wiring an IRQ pin to a free input lets code respond promptly to events such as new data being ready.
- SPI
- A fast serial communication bus often used for displays, memory cards, and sensors. It matters because SPI devices need specific pins for clock and data, plus a separate chip-select line for each device.
- Terminal block
- A terminal block is a connector that joins wires together in a neat, removable, or serviceable way, usually clamping each wire under a screw or spring instead of soldering. It makes it easier to connect, change, or service wiring without permanent joints.
Find this product in
Brands
Related Tutorials
Free guides on learn.littlebird.com.au