Setup EBB36 v1.2 connected to Octopus pro

4 posts were split to a new topic: CanBoot with USB to canbus bridge


A question for @mykepredko (and everyone else).

I followed the MKS Monster instructions as linked above and all went as shown until it came to connecting the ebb36 board via the rj11 cable and got no such device exists. So I have a setting wrong somewhere.

So the MKS instructions for the CanBoot config shows communication interface as USB on PA11/PA12 but @NAPCAL’s reply shows this via Canbus on PD0/PD1. I went with the USB interface, is this correct?

I assumed that the MKS instructions referring to PA8/PA9 becomes PD0/PD1 on the Octopus Pro, but the Bigtreetech ebb36 github lists PB0/PB1?

How do you want to connect the EBB36?

  1. USB to your RPi
  2. CAN bus to the Octopus board.

Hi @Julio

For The Octopus Pro,

Could you share:

  1. What is the MCU on your Octopus Pro? It should be printed with something like “STM32F429”.
  2. How you created your CanBoot and Klipper images for both the Octopus and EBB36 boards? Ideally screenshots of your make menuconfig setup.
  3. Provide pictures of your cabling?

As far as I know, all flavors of Octopus have their USB C on PA11/PA12 and CAN on PD0/PD1 and that’s shown on @NAPCAL 's post of four days ago.

Hi @NAPCAL and @mykepredko,

In answer to your questions.

Connect ebb36 to octopus pro via canbus

Octopus pro is stm32f446.

The installation process was copy pasted from the github page klipper_canbus/ at main · maz0r/klipper_canbus · GitHub with modifications as required then followed MELLOW FLY SHT 36/42 | klipper_canbus for the last bit


Then the settings I posted are the settings you need to use for your Octopus.

The BTT EBB36 will need CanBoot loaded via USB-C, a jumper on the 120ohm header, and USB-C power. See “Loading CanBoot” in my Octopus post for DFU loading the CanBoot firmware to your BTT EBB36. See below for CanBoot and Klipper firmware settings.

You will need the following:
• USB-C cable between your RPi and the Octopus.
• RJ12 or RJ11 on the Octopus to the BTT EBB36 black connector.
• 24Volts to the BTT EBB36 to the black connector.

After setting up the Octopus Pro (CanBoot & Klipper) and getting CanBoot on the BTT EBB36.
Disconnect to USB-C cable from the BTT EBB36 and connect the CAN bus (CAN_L & CAN_H to the same) from the Octopus Pro to the BTT EBB36 (black connector). Connect 24Volts and ground to the BTT EBB36 (black connector). Remove the USB-C power jumper, or this may cause problems.
Power up RPi, Octopus Pro, and BTT EBB36.

via ssh terminal, type in the following: sudo nano /etc/network/interfaces.d/can0
copy this from here and paste it into the terminal.

allow-hotplug can0
iface can0 can static
bitrate 500000
up ifconfig $IFACE txqueuelen 1024

then Ctrl X
Y Enter to save the file.

then sudo reboot

ssh back into your RPi.
copy and paste this command: python3 ~/CanBoot/scripts/ -q
Record the two UUIDs, the UUID that states Application: Klipper is your Octopus Pro, and the other is your BTT EBB36.

Ensure you have compiled your Klipper firmware for your BTT EBB36 before the last step.
copy and paste this command: python3 ~/CanBoot/scripts/ -u
Replace the with the UUID of your BTT EBB36.

BTT EBB36 Pins

BTT EBB36 V1 [STM32F072]

BTT EBB36 V1.1 [STM32G0B1]

1 Like

Sorry For the length of the post, but this is all the screen shots of the ebb36 v1.2 / Octopus Pro canbus install. As you can see the final upload failed

CanBoot for your Octopus Pro F466

BTT EBB36 V1.1 CanBoot

BTT EBB36 V1.1 Klipper

klippy.log (606.0 KB)

So i got to the end of the ebb36 install, with all of the steps as shown in the github mks monster guide (linked above) modified to suit pinout of ebb36 and octopus pro.

SSH shows:

pi@VCore3:~ $ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 1d50:606f OpenMoko, Inc. Geschwister Schneider CAN adapter
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

pi@VCore3:~ $ ~/klippy-env/bin/python ~/klipper/scripts/ can0
Found canbus_uuid=1b69030e2982, Application: Klipper
Total 1 uuids found

but now
pi@VCore3:~ $ ls /dev/serial/by-id/*
ls: cannot access ‘/dev/serial/by-id/*’: No such file or directory

Is this correct with the canbus bridge in operation?

I have abandoned the ratos install of printer.cfg and include files as not correct for use with the ebb36, but as a noob have never tried to create this from scratch and get mcu unable to connect.

Can anyone help?

Yes, this is correct. This is explained in the Klipper documentation.


Why are you following a guide from competitor to BigTreeTech?

MKS is not apart of BTT or BIQU


You can try to help Julio from now on, I am out.

There isn’t a BTT Octopus guide available that has the correct information - the maz0r GitHub page is the most accurate/correct that I’ve been able to find. There is the “How to Use CAN Toolhead Boards Connected Directly to Octopus” pdf that I can share if you don’t have a copy but I found it overly complex and forces anybody using to work with PuTTy under Windows when it is much easier to use Unix/Linix commands on the Raspberry Pi (or whatever host system you’re using).

If there is a BTT document for the Octopus that explains how to correctly set it up, I haven’t found it.

Now, the EBB Page setup (GitHub - bigtreetech/EBB) is quite good but the Octopus pages (GitHub - bigtreetech/BIGTREETECH-OCTOPUS-V1.0: This is Octopus open source material and GitHub - bigtreetech/BIGTREETECH-OCTOPUS-Pro: This is OCTOPUS Pro open source material) have nothing on CAN.

If you know of something better please share; what you posted above is accurate but requires the reader to be already familiar with the process.

This is just a thankyou to the members who contributed in this thread.

My tool head board is running on canbus, with canboot via the btt octopus pro.

I won’t say i enjoyed the experience and definitely need the help of this group.

A special shout out to @mykepredko & @NAPCAL, who explained the issues from opposite ends and in doing so got this noob to s fully operational V Core 3.1.

Thank you


I have flashed Canboot and Klipper according to the descriptions above.

ls USB shows:

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 008: ID 1d50:606f OpenMoko, Inc. Geschwister Schneider CAN adapter
Bus 001 Device 003: ID 0edc:2050 YJXU502S USB Camera
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

running ~/CanBoot/scripts/ -i can0 -q
the first time shows the canbus-id of the octopus:

Resetting all bootloader node IDs...
Checking for canboot nodes...
Detected UUID: de0481df9aa3, Application: Klipper
Query Complete

I have configured the printer.cfg using this id and the console shows everything as usual.

when I issue another command to query the canbus I get an empty result:

Resetting all bootloader node IDs...
Checking for canboot nodes...
Query Complete

and the connection to the mcu gets lost:

ifconfig show can0 up and running :slight_smile:

can0: flags=193<UP,RUNNING,NOARP>  mtu 16
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 256  (UNSPEC)
        RX packets 33466  bytes 250084 (244.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3531  bytes 22763 (22.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

any idea what the cause could be?

I have to repower octopus in order to get the mcu connected

As soon as it connects to Klipper, the basic query will not show anything because it will not try to gain exclusive access to nodes under Klipper’s control.

sudo services klipper stop
Should be issued before a query or updating Klipper firmware.

Complete the CAN bus wiring because one device on the bus has no benefit.

One big difference is:

for octopus PD0/PD1 needs to be set.

now I can repeatedly call can bus query and always get some result.

drove me crazy!

I worked with Michael from Teaching Tech to produce this video guide, it may be of assistance.

PS, I found I needed to use 1Mbit for my comms speeds due to using every single option on my EBB36. :grin: