flashing btt octopus pro with klipper using pi
Author: Sanket Sonavane
Publish Date: 2024-03-03
Last Updated: 2024-03-03
Table Of Content
NOTE: 🔴
- article is only for BigTreeTech Octopus Pro F446 v1.0.1 of the board.
- we are going to flash the octopus pro controller board using dfu mode using pi which has klipper, moonraker and mainsail running.
- we are not going to hook up octopus pro controller board to external power supply during this procedure.
CAUTION: 🔴
- DO NOT make any connections or jumper changes to Octopus Pro when its in powered on state (either using power supply or usb-c)
1. wiring and setup
- what you need is octopus pro , connected to pi using a usb-c cable.
- thats it we do not need external power supply or any of the stepper drivers to be populated here or any other wires to be connected yet
- our focus here is to flash the octopus pro board here with klipper.
Power down your octopus pro if connected and connect the following jumpers.
- mcu power jumper
- BOOT0 jumper
importance of mcu power jumper as mentioned in manual.
2. generate klipper firmware
NOTE: assuming you have already got a pi with klipper installed , if not then you can check here
- if you have klipper installed and running on your pi then we are good to go.
- just power on your pi and ssh into it
- make sure you have make installed on your pi
sudo apt install make
change directory to klipper, for me klipper is located at
~/klipper
then runmake clean
andmake menuconfig
running the
make menuconfig
should open the following menu. select the following options for octopus pro , hit q to quit and y to save your selectionnow run
make
commandon success it should have created
klipper.bin
in~/klipper/out
directory.
3. flashing klipper firmware
NOTE:
- you should have completed the wiring and setup as mentioned in section 1 and your octopus pro is in dfu mode.
- power on your pi with usb cable connected to octopus pro.
ssh into pi and run
lsusb
command. check if it displaysSTM device in DFU mode with an ID like 0483:df11
(make a note of the ID). if yes you got it correct and its ready to be flashed with klipper.make sure you are in
~/klipper
directory and run the following command0483:df11
is the ID for the octopus pro in DFU mode, its what you got fromlsusb
command run in step 1 above. run the following command
make flash FLASH_DEVICE=0483:df11
once you run this command the output in red box below is whats important to check, it should show File downloaded successfully
and that means you flashed klipper successfully. just ignore the content of blue box.
- Now, if you got a success message, just power down your board, unplug the BOOT0 jumper and keep the mcu power jumper in place and connect the board back to your pi using usb with no additional power connected to your board.
- run
lsusb
and it should show something like OpenMoko, Inc stm32f446xx (it can be some another company but it should show stm32f446xx) - now run
ls /dev/serial/by-id
and it should showusb-Klipper_stm32f446xx_longserialnumber
- if this is displayed then klipper was flashed successfully and you need to make a note of this number and add it to your
printer.cfg
file which shall be accessible from mainsail os web ui.
- klipper is successfully flashed to your octopus pro now. :)
references
articles
- Voron V1.8/Trident - BTT Octopus (Pro) Wiring | Voron Documentation
- Octopus (Pro) Klipper Firmware | Voron Documentation
youtubers