Skip to main content

Free Shipping on Domestic Orders $75+

5. Canbus

    1. 5. Canbus, 5. Canbus: step 1, image 1 of 1
      • Create the CAN0 interface file

      • sudo nano /etc/network/interfaces.d/can0

      • Enter the following

      • auto can0 iface can0 can static bitrate 500000 up ifconfig $IFACE txqueuelen 256 pre-up ip link set can0 type can bitrate 500000 pre-up ip link set can0 txqueuelen 256

      • You can copy paste into the file but make sure your formatting is correct to include the single space in the beginning of the last 4 lines.

      • Exit and save the file with CTRL + SHIFT X > Yes

      • Sudo Reboot

      Ask FixBot

      Add Comment

    2. 5. Canbus: step 2, image 1 of 2 5. Canbus: step 2, image 2 of 2
      • The CAN board needs a bootloader so we can flash the Klipper firmware. We will use CanBoot. Download the CanBoot repository:

      • git clone https://github.com/Arksine/CanBoot

      • cd CanBoot

      • make clean

      • make menuconfig

      Ask FixBot

      Add Comment

    3. 5. Canbus, EBB36 v1.0: step 3, image 1 of 1
      • Micro-controller Architecture > (STMicroelectronics STM32)

      • Processer model > STM32F072

      • Build CanBoot Deployment Application > (Do not build)

      • Bootloader offset > (8KiB bootloader)

      • Clock Reference > (8 MHz)

      • (500000) CAN bus speed

      • Communication interface > (CAN bus (on PB8/PB9))

      Ask FixBot

      Add Comment

    4. 5. Canbus, EBB36 v1.2: step 4, image 1 of 1
      • Micro-controller Architecture > (STMicroelectronics STM32)

      • Processer model > STM32G0B1

      • Build CanBoot Deployment Application > (Do not build)

      • Clock Reference > (8 MHz)

      • Communication interface > (CAN bus (on PB0/PB1))

      • Application start offset > (8KiB offset)

      • (500000) CAN bus speed

      Ask FixBot

      Add Comment

    5. 5. Canbus: step 5, image 1 of 2 5. Canbus: step 5, image 2 of 2
      • Add the 5v jumper. Connect the USB-C from the Pi to the EBB36 board.

      • Put the EBB36 into DFU mode

      • Press and hold the RESET + BOOT button. Release the RESET button while holding the BOOT button, than release the BOOT button.

      • Get the device ID of the board after it's in DFU mode

      • Before DFU mode

      • In DFU mode

      Ask FixBot

      Add Comment

    6. 5. Canbus: step 6, image 1 of 2 5. Canbus: step 6, image 2 of 2
      • Erase and flash the firmware

      • sudo dfu-util -a 0 -D ~/CanBoot/out/canboot.bin --dfuse-address 0x08000000:force:mass-erase:leave -d DEVICE:ID

      • Power off the system. Plug in the 4 wire CAN cable from the UT0C to the EBB36, and power on the the printer and RPI.

      • After the system is powered up verify the CAN network is up.

      • cd klipper

      • python3 lib/canboot/flash_can.py -q

      • You should see 1 entry for application CanBoot. Note your UUID.

      Ask FixBot

      Add Comment

    7. 5. Canbus: step 7, image 1 of 1
      • Run

      • cd ~/klipper

      • make menuconfig

      • Select the following

      • Enable extra low-level configuration

      • Micro-controller Architecture > (STMicroelectronics STM32)

      • Processer model > STM32F072

      • Bootloader offset > (8KiB bootloader)

      Ask FixBot

      Add Comment

    8. 5. Canbus: step 8, image 1 of 1
      • continued:

      • Clock Reference > (8 MHz)

      • (500000) CAN bus speed

      • Save the configuration pressing ESC > Yes

      • Run

      • make clean

      • make

      Ask FixBot

      Add Comment

    9. 5. Canbus, EBB36 v1.2: step 9, image 1 of 1
      • Micro-controller Architecture > (STMicroelectronics STM32)

      • Processer model > STM32G0B1

      • Bootloader offset > (8KiB bootloader)

      • Clock Reference > (8 MHz)

      • Communication interface > (CAN bus (on PB0/PB1))

      • (500000) CAN bus speed

      Ask FixBot

      Add Comment

    10. 5. Canbus: step 10, image 1 of 3 5. Canbus: step 10, image 2 of 3 5. Canbus: step 10, image 3 of 3
      • flash the EBB36 with the newly compiled firmware

      • python3 ~/CanBoot/scripts/flash_can.py -i can0 -f ~/klipper/out/klipper.bin -u 9fd4db4bdbc0

      • sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D ~/CanBoot/out/canboot.bin

      • If all goes well your CAN board should now be flashed

      • run

      • ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0

      • Load the provided files to the printer and press FIRMWARE_RESTART

      • Checking the Machine tab you should see the 4 systems

      Ask FixBot

      Add Comment

Finish Line

Cancel: I did not complete this guide.

David Husolo

Member since: 06/16/21

9,382 Reputation

33 Guides authored

0 Guide Comments

Add Comment

View Statistics:

Past 24 Hours: 2

Past 7 Days: 3

Past 30 Days: 31

All Time: 1,386