You are on page 1of 22

These Instructions are for BigTreeTech OCTOPUS boards (V1 & Pro) with the U2C CAN bus

adaptor. These instructions also provide setup and connections for one EBB
device connected to the U2C.

Make sure before starting these instructions, that your RPi Klipper software is up-to-date and that you have installed CanBoot on your RPi
[https://github.com/Arksine/CanBoot].

OCTOPUS Boards (click one to jump to that section)


• STM32F407
• STM32F429
• STM32F446
• STM32H723

EBB Boards (click one to jump to that section)


• EBB36/42 V1.0
• EBB36/42 V1.1 & V1.2
• EBB SB2209/2240

FINSHING UP (click one to jump to that section)


• WIRING CAN bus and power for EBB
• RPi CHANGES

REFERANCE
• Octopus V1
• Octopus Pro
• EBB36
• EBB42
• EBB SB2209/2240
• U2C
OCTOPUS F407
1.  Make sure you have CanBoot & Klipper on your RPi, into your RPi
2.
 sudo apt update sudo apt dist-upgrade -y
3.
 cd CanBoot git pull make menuconfig
4. Match the settings shown in this image.

5.
 press Q then press Y
6.
 make
7.
 if no errors then continue next step.
8.
 cd ~/klipper make menuconfig
9. Match the settings shown in this image.

10.
 press Q then press Y
11.
 make
12.
 if no errors then continue next step.
13.
 cd ~
14.
 With no power on the Octopus board, place a jumper on the boot0 header. (see diagrams for V1 & Pro boards at the end of this document.)
15.
 Connect a USB-C to USB-A cable between the RPi & Octopus board.
16.
 Power up the Octopus board, click the reset button once.
17.
 lsusb
18.
 In the output text look for STM and DFU if found then proceed to the next step.
19.
 sudo dfu-util -a 0 -D ~/CanBoot/out/canboot.bin --dfuse-address 0x08000000:force:mass-erase -d 0483:df11
20.
 if no errors then proceed to the next step. If you see an error then try this revised command: sudo dfu-util -a 0 -D ~/CanBoot/out/canboot.bin --dfuse-address 0x08000000 -d 0483:df11
21.
 sudo dfu-util -a 0 -D ~/klipper/out/klipper.bin --dfuse-address 0x08008000:leave -d 0483:df11 COMMAND ONLY FOR THE F407
22.
 if no errors then proceed to the next step.
23.
 Power down the Octopus board.
24.
 Remove the jumper on boot0 and USB-C power if used. This board is now ready. (CanBoot [CAN], Klipper CAN bridge, Klipper control via CAN bridge)

Jump to:
EBB36/42 V1.0
EBB36/42 V1.1 & V1.2
EBB SB2209/2240

WIRING CAN bus and power for EBB


RPi CHANGES
Return to main table of contents
OCTOPUS F429
1.  Make sure you have CanBoot & Klipper on your RPi, into your RPi
2.
 sudo apt update sudo apt dist-upgrade -y
3.
 cd CanBoot git pull make menuconfig
4. Match the settings shown in this image.

5.
 press Q then press Y
6.
 make
7.
 if no errors then continue next step.
8.
 cd ~/klipper make menuconfig
9. Match the settings shown in this image.

10.
 press Q then press Y
11.
 make
12.
 if no errors then continue next step.
13.
 cd ~
14.
 With no power on the Octopus board, place a jumper on the boot0 header. (see diagrams for V1 & Pro boards at the end of this document.)
15.
 Connect a USB-C to USB-A cable between the RPi & Octopus board.
16.
 Power up the Octopus board, click the reset button once.
17.
 lsusb
18.
 In the output text look for STM and DFU if found then proceed to the next step.
19.
 sudo dfu-util -a 0 -D ~/CanBoot/out/canboot.bin --dfuse-address 0x08000000:force:mass-erase -d 0483:df11
20.
 if no errors then proceed to the next step. If you see an error then try this revised command: sudo dfu-util -a 0 -D ~/CanBoot/out/canboot.bin --dfuse-address 0x08000000 -d 0483:df11
21.
 sudo dfu-util -a 0 -D ~/klipper/out/klipper.bin --dfuse-address 0x08008000:leave -d 0483:df11 COMMAND ONLY FOR THE F429
22.
 if no errors then proceed to the next step.
23.
 Power down the Octopus board.
24.
 Remove the jumper on boot0 and USB-C power if used. This board is now ready. (CanBoot [CAN], Klipper CAN bridge, Klipper control via CAN bridge)

Jump to:
EBB36/42 V1.0
EBB36/42 V1.1 & V1.2
EBB SB2209/2240

WIRING CAN bus and power for EBB


RPi CHANGES
Return to main table of contents
OCTOPUS F446
1.  Make sure you have CanBoot & Klipper on your RPi, into your RPi
2.
 sudo apt update sudo apt dist-upgrade -y
3.
 cd CanBoot git pull make menuconfig
4.
 Match the settings shown in this image.

5.
 press Q then press Y
6.
 make
7.
 if no errors then continue next step.
8.
 cd ~/klipper make menuconfig
9. Match the settings shown in this image.

10.
 press Q then press Y
11.
 make
12.
 if no errors then continue next step.
13.
 cd ~
14.
 With no power on the Octopus board, place a jumper on the boot0 header. (see diagrams for V1 & Pro boards at the end of this document.)
15.
 Connect a USB-C to USB-A cable between the RPi & Octopus board.
16.
 Power up the Octopus board, click the reset button once.
17.
 lsusb
18.
 In the output text look for STM and DFU if found then proceed to the next step.
19.
 sudo dfu-util -a 0 -D ~/CanBoot/out/canboot.bin --dfuse-address 0x08000000:force:mass-erase -d 0483:df11
20.
 if no errors then proceed to the next step. If you see an error then try this revised command: sudo dfu-util -a 0 -D ~/CanBoot/out/canboot.bin --dfuse-address 0x08000000 -d 0483:df11
21.
 sudo dfu-util -a 0 -D ~/klipper/out/klipper.bin --dfuse-address 0x08008000:leave -d 0483:df11 COMMAND ONLY FOR THE F446
22.
 if no errors then proceed to the next step.
23.
 Power down the Octopus board.
24.
 Remove the jumper on boot0 and USB-C power if used. This board is now ready. (CanBoot [CAN], Klipper CAN bridge, Klipper control via CAN bridge)

Jump to:
EBB36/42 V1.0
EBB36/42 V1.1 & V1.2
EBB SB2209/2240

WIRING CAN bus and power for EBB


RPi CHANGES
Return to main table of contents
OCTOPUS H723
1.  Make sure you have CanBoot & Klipper on your RPi, into your RPi
2.
 sudo apt update sudo apt dist-upgrade -y
3.
 cd CanBoot git pull make menuconfig
4.
 Match the settings shown in this image.

5.
 press Q then press Y
6.
 make
7.
 if no errors then continue next step.
8.
 cd ~/klipper make menuconfig
9. Match the settings shown in this image.

10.
 press Q then press Y
11.
 make
12.
 if no errors then continue next step.
13.
 cd ~
14.
 With no power on the Octopus board, place a jumper on the boot0 header. (see diagrams for V1 & Pro boards at the end of this document.)
15.
 Connect a USB-C to USB-A cable between the RPi & Octopus board.
16.
 Power up the Octopus board, click the reset button once.
17.
 lsusb
18.
 In the output text look for STM and DFU if found then proceed to the next step.
19.
 sudo dfu-util -a 0 -D ~/CanBoot/out/canboot.bin --dfuse-address 0x08000000:force:mass-erase -d 0483:df11
20.
 if no errors then proceed to the next step. If you see an error then try this revised command: sudo dfu-util -a 0 -D ~/CanBoot/out/canboot.bin --dfuse-address 0x08000000 -d 0483:df11
21.
 sudo dfu-util -a 0 -D ~/klipper/out/klipper.bin --dfuse-address 0x08020000:leave -d 0483:df11 COMMAND ONLY FOR THE H723
22.
 if no errors then proceed to the next step.
23.
 Power down the Octopus board.
24.
 Remove the jumper on boot0 and USB-C power if used. This board is now ready. (CanBoot [CAN], Klipper CAN bridge, Klipper control via CAN bridge)

Jump to:
EBB36/42 V1.0
EBB36/42 V1.1 & V1.2
EBB SB2209/2240

WIRING CAN bus and power for EBB


RPi CHANGES
Return to main table of contents
EBB36/42 V1.0
Make sure you RPi is booted up and you have an ssh terminal window open.
1.
 If you don’t have 24V power connected to the EBB then, place a jumper on the USB-C power on the EBB.
2.
 Plug in the USB-C cable between the RPi and the EBB, power led should come on if using the USB-C power, else provide 24V power to the EBB.
3.
 EBB; Hold down the boot button while doing that click the reset button then release the boot button.
4.
 lsusb
5.
 In the output text look for STM and DFU if found then proceed to the next step.
6.
 cd CanBoot make menuconfig
7. match the settings shown in this image.

8.
 press Q then press Y
9.
 make
10.
 If no errors then continue next step.
11.
 cd ~/klipper make menuconfig
12. match the settings shown in this image.

13.
 press Q then press Y
14.
 make
15.
 If no errors then continue next step.
16.
 sudo dfu-util -a 0 -D ~/CanBoot/out/canboot.bin --dfuse-address 0x08000000:force:mass-erase -d 0483:df11
17.
 If no errors then proceed to the next step.
18.
 Disconnect the USB-C cable from the EBB and remove power from the EBB.

Jump to:
WIRING CAN bus and power for EBB
RPi CHANGES
Return to main table of contents
EBB36/42 V1.1, V1.2, EBB SB2209/2240 V1.0
Make sure you RPi is booted up and you have an ssh terminal window open.
1.
 If you don’t have 24V power connected to the EBB then, place a jumper on the USB-C power on the EBB.
2.
 Plug in the USB-C cable between the RPi and the EBB, power led should come on if using the USB-C power, else provide 24V power to the EBB.
3.
 EBB; Hold down the boot button while doing that click the reset button then release the boot button.
4.
 lsusb
5.
 In the output text look for STM and DFU if found then proceed to the next step.
6.
 cd CanBoot make menuconfig
7. match the settings shown in this image.

8.
 press Q then press Y
9.
 make
10.
 If no errors then continue next step.
11.
 cd ~/klipper make menuconfig
12. match the settings shown in this image.

13.
 press Q then press Y
14.
 make
15.
 If no errors then continue next step.
16.
 sudo dfu-util -a 0 -D ~/CanBoot/out/canboot.bin --dfuse-address 0x08000000:force:mass-erase -d 0483:df11
17.
 If no errors then proceed to the next step.
18.
 Disconnect the USB-C cable from the EBB and remove power from the EBB.

Jump to:
WIRING CAN bus and power for EBB
RPi CHANGES
Return to main table of contents
 No power to Octopus or EBB during wiring up, everything wired up like shown. CAN-L goes to CAN-L and CAN-H goes to CAN-H. Vin needs to be +24V.

 EBB; Remove the USB-C power jumper


and place it on the 120-ohm header.

EBB boards; a jumper is needed on the 120ohm


header, so the CAN bus is terminated correctly.
RPi CHANGES
1.
 sudo nano /etc/network/interfaces.d/can0
2. Copy and paste the following text into the ssh terminal.
 allow-hotplug can0
iface can0 can static
bitrate 500000
up ifconfig $IFACE txqueuelen 1024
3.
 press <Ctrl> X then press Y
4.
 sudo reboot

5.
 python3 ~/CanBoot/scripts/flash_can.py -q
6. In the output you should see something like this.

A CAN bus UUID (Universal Unique Identifier) is a
128-bit value used to uniquely identify a device
on the CAN bus.

The one showing Application: Klipper will be your Octopus UUID on the CAN bus.
The one showing Application: CanBoot will be your EBB UUID on the CAN bus.
7.
 Now we are going to flash Klipper on to your EBB via the CAN bus.
8.
 python3 ~/CanBoot/scripts/flash_can.py -u <your EBB UUID>
Example of mine would be:
python3 ~/CanBoot/scripts/flash_can.py -u 2b64a708ec7a

BOARD UUID BOARD UUID


9. The output you should see something like this.

10.
 python3 ~/CanBoot/scripts/flash_can.py -q
11. Your output should now look like this. Note: your UUIDs will be different.

12.
 In your printer.cfg for your [mcu] you need to comment out serial: by adding a # in front like this: #serial:
13. Add this just under that line:
 #serial:
canbus_uuid: <Your Octopus boards UUID>

Example of mine:
[mcu]
# serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_0E002B00135053424E363620-if00
canbus_uuid: aeaf2605a153
14.
 Save your printer.cfg
15. Download the example cfg for your EBB. Transfer that file to your RPi klipper configurations folder.
 Make the same kind of change to that file (but the UUID for your EBB) and save.
16. Edit you printer.cfg and add this line to the top
 [include
Paste the file name for the EBB cfg file then type ]
Example of mine would be: [include sample-bigtreetech-ebb-sb-canbus-v1.0.cfg]
17.
 Save the file and restart Klipper.

END OF GUIDE
Octopus V1.0/V1.1

Boot0
Install Jumper

USB-C Power
Jumper
Octopus Pro

Boot0
Install Jumper

USB-C Power
Jumper
BigTreeTech EBB36 V1.0 connections information.
sample-bigtreetech-ebb-canbus-v1.0.cfg

BOOT & RESET

CAN_L

CAN_H
buttons on the
back of the PCB. CA
CA N
N_ _L
H
R
TO

U
PA
O

SB2/PA
M

-C 11
E-

G
Vi ND

VB
n

U
S
RGB
SCL SDA 120 Ohm
GND

+5V
PB6
PB7
+5V

Bus Termination
PA3 Resistor Jumper
I2C
GND
PC13
PC14
PC15
GND
+5V

ENDSTOP
PA0
PROBE PA1 PA2
GND
+5V
GND
GND
PA5

PA4

VIN VIN

FORCE_N
RTDIN_N
RTDIN_P
FORCE_P
PB1
TH0 VIN
FAN0 FAN1

CAN_TX PB9 The PT1000 jumper allows a


PT1000 on TH0 but with less
CAN_RX PB8 accurte readings than MAX31865.

ADXL345 SPI2 MAX31865 SPI1a TMC2209 Driver


CS SCLK MISO MOSI CS SCLK MISO MOSI EN STEP DIR UART
PB12 PB13 PB14 PB15 PA15 PB3 PB4 PB5 PA10 PA9 PA8 PA13

BigTreeTech EBB36 V1.1/1.2 connections information.


sample-bigtreetech-ebb-canbus-v1.1.cfg
sample-bigtreetech-ebb-canbus-v1.2.cfg

CA
CAN_L

CAN_H

CA N
R N_ _L
TO H
O
U

-M
PA
SB2/PA

E
1

-C 11

G
Vi ND
BOOT n

RGB
SCL SDA 120 Ohm VBUS
GND

+5V
PB3
PB4
+5V

Bus Termination
PD3 Resistor Jumper
I2C RESET
GND
GND
PB6
PB5
PB7
+5V

ENDSTOP
PA3
PROBE PA1
GND PA0
+5V
GND
GND
PB8

PB9

VIN
V1.2 V1.1
PB13 PA2

VIN
FORCE_N
RTDIN_N
RTDIN_P
FORCE_P

TH0
VIN

FAN1
FAN0

The PT1000 jumper allows a


CAN_TX PB1
PT1000 on TH0 but with less
CAN_RX PB0 accurte readings than MAX31865.

ADXL345 SPI2 MAX31865 SPI1a TMC2209 Driver


CS SCLK MISO MOSI CS SCLK MISO MOSI EN STEP DIR UART
PB12 PB10 PB2 PB11 PA4 PA5 PA6 PA7 PD2 PD0 PD1 PA15
BigTreeTech EBB42 V1.0 connections information.
sample-bigtreetech-ebb-canbus-v1.0.cfg

BOOT & RESET H


N_ L
buttons on the
VBUS CA N_

CAN_H
USB-C

CAN_L
back of the PCB.
PA12/PA11 CA

PROBE
n
Vi
GND
I2C
ND
+5V +5V
RGB 120 Ohm G
PA4 GND Bus Termination
+5V
SCL Resistor Jumper
GND PB6 PA3
The PT1000 jumper
allows a PT1000 on TH0
SDA

PA5 PB7 GND


but with less accurte CAN_TX PB9
ENDSTOP

readings than MAX31865.


PC15
CAN_RX PB8

E-MOTOR
PC14
PC13 PA0
TH0
GND
GND ADXL345 SPI2
+5V
FORCE_P
CS SCLK MISO MOSI
RTDIN_P
PA2
RTDIN_N
PA1 PB12 PB13 PB14 PB15
VIN VIN
FORCE_N
MAX31865 SPI1a
FAN0 FAN1
CS SCLK MISO MOSI
PB1

VIN

PA15 PB3 PB4 PB5

TMC2209 Driver
EN STEP DIR UART
PA10 PA9 PA8 PA13

BigTreeTech EBB42 V1.1/1.2 connections information.


sample-bigtreetech-ebb-canbus-v1.1.cfg
sample-bigtreetech-ebb-canbus-v1.2.cfg
VBUS H
N_ L
USB-C
CA N_
CAN_H
CAN_L

PA12/PA11
CA
PROBE

GND BOOT
I2C
n
Vi
ND
+5V +5V
RGB
PB9 GND +5V
G
SCL

GND PB3 PD3


SDA

PB8 PB4 GND 120 Ohm


Bus Termination
PB7
Resistor Jumper CAN_TX PB1
E-MOTOR

PB5
RESET
CAN_RX PB0
PB6 The PT1000 jumper
PA3 allows a PT1000 on
ENDSTOP

TH0

GND TH0 but with less


accurte readings
+5V
FORCE_P
GND than MAX31865. ADXL345 SPI2
RTDIN_P
PA0 PA1 CS SCLK MISO MOSI
RTDIN_N

FORCE_N VIN VIN


PB12 PB10 PB2 PB11

MAX31865 SPI1a
V1.2 V1.1
PB13 PA2

FAN1 FAN2
VIN

CS SCLK MISO MOSI


PA4 PA5 PA6 PA7

TMC2209 Driver
EN STEP DIR UART
PD2 PD0 PD1 PA15
BigTreeTech U2C (USB to CAN bus) connections information.

12/24
L
N_ _H N_L H

V
GND
A
C AN CA

CAN_
C N_
CA

CAN_

H
ND s

L
G olt
V
/ 24 ND ts
G l
12 Vo
4
/2
12

All CAN_L are connected together.


All CAN_H are connected together. CAN_H

CAN_H
CAN_L

CAN_L
GND

VBUS1 12/24 Volts


Tool Board Power

VBUS2 GND
Tool Board Ground

CAN_H
VBUS1 VBUS2
CAN_H
CAN_L
CAN_H
CAN_L

CAN_L

Termination Jumper(s) needs 120 Ohm


only to be installed depending Bus Termination
on your CAN bus layout. Resistor Jumpers
2
USB
1
USB

VBUS Jumper needs only to be


USB 1 has the following connections:
+5V (VBUS1) installed if the board connected
CAN_RX 1 [U2 pin 4] CAN bus transceiver (USB logic levels) to the corresponding USB cannot
CAN_TX 1 [U2 pin 1] CAN bus transceiver (USB logic levels) reverse power +5V back out to
GND
the transceiver on this board.
USB 2 has the following connections:
+5V (VBUS2) Note: the Octopus boards cannot
CAN_RX 1 [U4 pin 4] CAN bus transceiver (USB logic levels)
CAN_TX 1 [U4 pin 1] CAN bus transceiver (USB logic levels) do this, not even with that boards
GND vbus jumper in place.

You might also like