Skip to content

(Archive) CAN bus (Raspberry Pi)

Darko Lukić edited this page Jan 8, 2025 · 1 revision

Important

This configuration is only relevant for the Raspberry Pi shield.

Kernel Module Configuration

  1. Append the following configuration at the end of the /boot/firmware/config.txt file:
    # CAN bus
    dtparam=spi=on
    dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=25
  2. and restart the Raspberry Pi to apply the configuration.

Getting the can0 Interface

At the boot, the CAN bus interface is not active. The hardware_launch.py will make sure the CAN interface is up (see here).

To get the interface manually you can run:

sudo ip link set can0 up type can bitrate 500000 restart-ms 100 sjw 3
sudo ip link set can0 txqueuelen 100

Debugging

There is a very useful tool can-utils for debugging a CAN communication:

sudo apt install can-utils

Use candump can0 to receive CAN messages and for example cansend can0 00006C00#01 to send a CAN message.