The Klipper firmware does not need to be upgraded often on the Octopus Pro MCU and LDO Nitehawk-36 toolboard. The only time it was upgraded was when there were deprecation warnings since Klipper is kept up to date.

Here are some notes on upgrading the firmware since I did not use the correct settings when building and flashing the firmware which meant I had to perform additional lower level loading of the correct firmware.

Octopus Pro settings

Start Klipper firmware configuration:

cd ~/klipper
make clean
make menuconfig

Select:

  • Select Enable extra low-level configuration options
  • Set the micro-controller architecture to STMicroelectronics STM32
  • Set the Processor model to STM32F446
  • Set the Bootloader offset to 32KiB bootloader
  • Set the Clock Reference to 12 MHz crystal
  • Set the Communication interface to USB (on PA11/PA12)

Build and flash the firmware:

make
sudo service klipper stop
make flash FLASH_DEVICE=/dev/serial/by-id/usb-Klipper_stm32f446xx_19003A000951313133353932-if00
sudo service klipper start

Modified from: https://docs.vorondesign.com/build/software/octopus_klipper.html

Nitehawk36 settings

Start Klipper firmware configuration:

cd ~/klipper
make clean
make menuconfig

Select:

  • Select Enable extra low-level configuration options
  • Set the micro-controller architecture to Raspberry Pi RP2040/RP235x
  • Set the Processor model to rp3040
  • Set the Bootloader offset to 16KiB bootloader. Not setting this will erase the Katapult bootloader!
  • Set the Communication interface to USBSERIAL

Build and flash the firmware:

make
sudo service klipper stop
make flash FLASH_DEVICE=/dev/serial/by-id/usb-Klipper_rp2040_313631313202C86C-if00
sudo service klipper start

Modified from: https://docs.ldomotors.com/en/Toolboard/nitehawk-36