I’m not familiar with the BTT Octopus line, but looking at the board docs and spec’s, I see that there are no jumpers for the drivers to for CONFIG or SPI. BTT stats that you just config SPI in firmware.
Can you start by disabling all of your stepper configs except for: [stepper_x]
and [tmc5160 stepper_x]
? With 10 stepper locations, let’s zoom in and get one working.
Following: GitHub - bigtreetech/Octopus-Max-EZ, stepper_x = Motor 1, your config looks good for step_pin, dir_pin, and enable_pin.
under [tmc5160 stepper_x]
, the cs_pin is also good, but let’s configure under hardware SPI using these settings:
[tmc5160 stepper_x]]
cs_pin: PG14
spi_bus: spi4
##diag1_pin: PF0
run_current: 0.800
stealthchop_threshold: 999999
If this doesn’t work, add in, under the [tmc5160 stepper_x]
section the following:
spi_speed: 4000000
This will force the SPI bus to 4Mhz clock speed, which is the maximum TMC 5160 internal clock speed. Reference Page 25:
5160: https://www.trinamic.com/fileadmin/assets/Products/ICs_Documents/TMC5160A_Datasheet_Rev1.14.pdf
I have some more testing to perform in the post @hcet14 posted above as I’m seeing some similar issues with multiple devices configured on the SPI bus.
You might also have to add in the following to your Klipper printer.cfg:
#Might prevent communication issues with SPI.
#PE11 = EXP2_4 for SPI Display
#PB12 = SD-CS
#PF14 = SPI4-CS (expansion header)
[static_digital_output disable_display_sdcard_expdhdr]
pins: PE11, PB12, PF14
spi4 on this board is shared between the following devices: TMC Drivers, onboard SD, LCD-FPC (EXP1/EXP2) and SPI Expansion Header.
spi3 is dedicated for WiFi.
Comment from BTT GitHub:
LCD-FPC SPI, Onboard SD card, expansion SPI pin header and TMC driver SPI, 4 features multiplexing the same hardware SPI4, and is converted to 5V to TMC driver
Hope this helps, but keep an eye on my issue as there may be some some changes in Klipper SPI and/or documentation in the near future.
-James