From Waveshare Wiki
Jump to: navigation, search







It is a CAN module designed for Raspberry Pi Pico, enabling reliable long-range communication for Raspberry Pi Pico with other devices.


  • Standard Raspberry Pi Pico header, supports Raspberry Pi Pico series boards.
  • Features CAN function, adopts SPI interface CAN controller MCP2515 with transceiver SIT65HVD230DR.
  • Comes with online development resources and manual (Raspberry Pi Pico C/C++ and MicroPython examples).


  • Operating voltage: 3.3V~5V
  • CAN controller: MCP2515
  • Control interface: SPI
  • CAN transceiver: SIT65HVD230DR
  • Baudrate: 5K~1000Kbps
  • Dimensions: 52 x 21mm

Pinout Definition

Pico-can-b Pinout.jpg


Pico-can-b Pinout2.jpg

Pico User Guide

Hardware Connection

Please take care of the direction when you connect Pico, a USB port is printed to indicate. You can also check the pin of Pico and the module when connecting.

Demo Download

1. Directly download it on the Raspberry Pi: Open the Raspberry Pi and execute:

sudo apt-get install p7zip-full
cd ~
sudo wget  https://files.waveshare.com/upload/8/8a/Pico-CAN-B-Code.7z
7z Pico_Pico-CAN-B-Code.7z -o./Pico-CAN-B-Code.7z
cd ~/Pico-CAN-B-Code

2. Also, you can download the demo in the #Resource.

How to Use the Demo


  • 1. Press and hold the BOOTSET button on the Pico board, connect the pico to the USB interface of the computer through the Micro USB cable, and release the button after the computer recognizes a removable hard disk (RPI-RP2).
  • 2. Copy the pico_micropython_xxxxx.uf2 file in the python directory to the recognized removable disk (RPI-RP2).
  • 3. Open Thonny IDE (Note: Please use the latest version of Thonny, otherwise there is no Pico support package, the latest version in Windows is v3.3.3).
  • 4. Click Tools -> Settings -> Interpreter, and select Pico and the corresponding port as shown in the figure.


  • 5. File -> Open -> MCP2512.py file, click to run, as shown in the following figure:

This is a transceiver demo, connect to another CAN device (A-A B-B connection), configure the frame ID 0x123, and then send 1-8 in turn.




Development Software

Pico Quick Start

Download Firmware

  • MicroPython Firmware Download

MicroPython Firmware Download.gif

  • C_Blink Firmware Download

C Blink Download.gif

Video Tutorial

  • Pico Tutorial I - Basic Introduction

  • Pico Tutorial II - GPIO

  • Pico Tutorial III - PWM

  • Pico Tutorial IV - ADC

  • Pico Tutorial V - UART

  • Pico Tutorial VI - To be continued...

Text Tutorial


MicroPython Series

C/C++ Series

Arduino IDE Series

Install Arduino IDE

  1. Download the Arduino IDE installation package from Arduino website.
    RoArm-M1 Tutorial II01.jpg
  2. Just click on "JUST DOWNLOAD".
    Arduino IDE Pico.png
  3. Click to install after downloading.
    RoArm-M1 Tutorial II02.gif
  4. Note: You will be prompted to install the driver during the installation process, we can click Install.

Install Arduino-Pico Core on Arduino IDE

  1. Open Arduino IDE, click the File on the left corner and choose "Preferences".
    RoArm-M1 Tutorial04.jpg
  2. Add the following link in "Additional boards manager URLs", then click OK.

    RoArm-M1 Tutorial II05.jpg
    Note: If you already have the ESP32 board URL, you can separate the URLs with commas like this:

  3. Click on Tools -> Board -> Board Manager -> Search for pico, it shows installed since my computer has already installed it.
    Pico Get Start 05.png
    Pico Get Start 06.png

Upload Demo At the First Time

  1. Press and hold the BOOTSET button on the Pico board, connect the Pico to the USB port of the computer via the Micro USB cable, and release the button when the computer recognizes a removable hard drive (RPI-RP2).
    Pico Get Start.gif
  2. Download the demo, open the D1-LED.ino under arduino\PWM\D1-LED path.
  3. Click Tools -> Port, remember the existing COM, do not need to click this COM (different computers show different COM, remember the existing COM on your computer).
    UGV1 doenload02EN.png
  4. Connect the driver board to the computer with a USB cable, then click Tools -> Ports, select uf2 Board for the first connection, and after the upload is complete, connecting again will result in an additional COM port.
    UGV1 doenload03EN.png
  5. Click Tools -> Board -> Raspberry Pi Pico/RP2040 -> Raspberry Pi Pico.
    Pico Get Start02.png
  6. After setting, click the right arrow to upload.
    Pico Get Start03.png
    • If you encounter problems during the period, you need to reinstall or replace the Arduino IDE version, uninstall the Arduino IDE clean, after uninstalling the software you need to manually delete all the contents of the folder C:\Users\[name]\AppData\Local\Arduino15 (you need to show the hidden files in order to see it) and then reinstall.

Open Source Demo

Open-source Demo


Technical Support

If you need technical support or have any feedback/review, please click the Submit Now button to submit a ticket, Our support team will check and reply to you within 1 to 2 working days. Please be patient as we make every effort to help you to resolve the issue.
Working Time: 9 AM - 6 PM GMT+8 (Monday to Friday)