{"title":"Adafruit PiCowbell CAN Bus for Pico - MCP2515 CAN Controller","handle":"adafruit-picowbell-can-bus-for-pico-mcp2515-can-controller","url":"/products/adafruit-picowbell-can-bus-for-pico-mcp2515-can-controller","description":"The Adafruit PiCowbell CAN Bus adds CAN bus connectivity to your Raspberry Pi Pico or Pico W, making it easy to interface with automotive, robotics, and industrial sensor networks. Built around the popular MCP2515 CAN controller and TJA1051/3 transceiver, it communicates over SPI and supports both standard and extended frame formats at up to 1 Mbps.\n\nCAN bus is a two-wire differential protocol originally designed for vehicles but now widely used in robotics and sensor networks. It offers better range and noise immunity than I2C, with simple two-wire connections that allow new nodes to join anywhere on the shared bus. Built-in collision detection ensures reliable communication even with multiple devices transmitting simultaneously.\n\nKey Features\n\n\nMCP2515 CAN Controller – Well-supported chipset with drivers for Arduino and CircuitPython, requires only SPI plus two GPIO pins (CS and IRQ)\n\nTJA1051/3 Transceiver – Handles the physical CAN bus signalling with robust noise immunity\n\n5V Charge-Pump Generator – Produces clean 5V for the transceiver from the Pico's 3.3V supply, no external power needed\n\n3.5mm Terminal Block – Pre-soldered for quick access to CAN High, CAN Low, and ground lines\n\n120Ω Termination Resistor – On-board with a cuttable jumper to disable when not at the end of a bus\n\nPre-Connected CS and INT Pins – Default GPIO #20 (CS) and #21 (INT), re-assignable via solder jumpers on the underside\n\nSTEMMA QT / Qwiic Connector – Right-angle JST SH connector for I2C devices on GPIO 4 (SDA) and GPIO 5 (SCL)\n\nReset Button – Conveniently placed for quick program restarts\n\nGold-Plated Pads – Every pad has a duplicate hole for easy solder-jumpering; ground pads marked with white silkscreen\n\n\nHeader Options\nThe PiCowbell ships with an assembled PCB and header that requires soldering. Several configurations are available depending on your setup:\n\n\nStacking Headers – Plug into a breadboard or other accessories with sockets\n\nSocket Headers – Plug the Pico directly in for a solid, compact connection\n\nShort Socket Headers – Ultra-slim pluggable design; pair with Short Plug Headers on the Pico for a skinny sandwich\n\nDirect Soldering – Most compact and inexpensive, but permanent\n\n\nPin Configuration\n\n\nSPI (Arduino Philhower core) – Default SPI on GPIO 16 (MISO), 18 (SCK), and 19 (MOSI)\n\nSPI (CircuitPython / MicroPython) – Configure SCK=18, MOSI=19, MISO=16 in code\n\nI2C – GPIO 4 (SDA) and GPIO 5 (SCL), pre-configured in Arduino Philhower core; set manually in CircuitPython/MicroPython\n\nCAN CS – GPIO 20 (re-assignable via solder jumper)\n\nCAN INT – GPIO 21 (re-assignable via solder jumper)\n\n\nIdeal For\n\nReading OBD-II vehicle diagnostics via CAN bus\nRobotics sensor and actuator networks\nIndustrial automation and monitoring\nCustom CAN bus projects with Raspberry Pi Pico or Pico W\n\n\nPackage Contents\n\n1× Adafruit PiCowbell CAN Bus PCB (assembled with terminal block)\n1× Header (requires soldering)\n\n\n\nNote: Raspberry Pi Pico and headers for the Pico are sold separately. If you want the BOOTSEL button and LED accessible, mount the Pico on top of the PiCowbell.\n\n\nResources\n\nAdafruit MCP2515 CircuitPython Library\n","vendor":"Adafruit","product_type":"physical","in_stock":true,"options":[],"variants":[{"id":1618,"title":"Default Title","sku":"AF-5728","price":24.86,"compare_at_price":0.0,"on_sale":false,"in_stock":true,"available_quantity":40,"option1":"Default Title"}]}