Believe I found a bug

I posted this in “general” a few weeks ago and got no response. I guess I posted in the wrong area so I’m trying here.

TLDR: I believe one of the pins is reserved wrong in the Klipper code for the SKR Mini E3 v3.0.

I’ve found a bug for the SKR Mini E3 V3.0. The heater fan config is supposed to be:

[heater_fan controller_fan]
pin: PB15
heater: heater_bed
heater_temp: 45.0

However, I get an error when trying to print that says pin PB15 is reserved for spi2

The error reads:
“pin PB15 is reserved for spi2”

The problem is that according to the BTT pinout documentation PB15 pin is supposed to be for the heater fan.

This seems to be a difference between the BTT SKR mini E3 V3.0 and the BTT SKR mini E3 V2.0. Pin PB15 was a pin for the screen on the V2.0 but that pin for the screen has changed to PD6 on V3.0.

Sooooo I’m guessing that the spi2 reservation should be PD6 and not PB15 for the V3.0 board.

What should I do about this?

You should supply your printer.cfg file

The v3 config in the Klipper github repo looks correct
https://raw.githubusercontent.com/Klipper3d/klipper/master/config/generic-bigtreetech-skr-mini-e3-v3.0.cfg

It has PB15 assigned to the heater, and no reference to spi, so the spi reservations shouldn’t come into it (i.e. no cs_pin definitions).

If you have configured in accordance with the v3 config file, and it doesn’t work correctly, then ways forward would be:

  1. Modify the cfg file to be correct for the board
  2. Raise an issue mentioning the problem, and what is required to fix it (in simple terms)
  3. Raise a PR (Pull Request) for the changes to the cfg file required

printer.cfg (2.9 KB)

Here’s my config file. In it you’ll find that PB15 is assigned to the heater. With this config file I’m getting the SPI error.

I don’t know how it would be done but I think the SPI reservation needs to be changed to a different pin. I think that pin would be PD6.

If I were to raise a PR how would I go about doing that?

Please post your klippy.log file.
This is strange behaviour indeed, as typically Klipper does not “invent” any pin assignments.

Please also verify your make menuconfig settings:


I’m using Linux process for some reason. I can’t quite remember why I moved over to Linux… I believe it’s because of Python 3 but I really can’t recall why I switched.

klippy.log (248.6 KB)
And here’s my klippy.log file.

Your issue is that you’ve specified an invalid cs pin for the adxl345, and my guess is Klipper is reserving SPI pins on the MCU as a result. You need to fix the config line below.

[adxl345]
cs_pin = 24

Looking through your log, you originally had this defined correctly, but you’ve made multiple changes over the course of several restarts that have fixed some issues, and created others. Note that you changed your host mcu to be named host instead of rpi, so the normal rpi:None pin will not work unless you also change [mcu host] back to [mcu rpi].

This fixed that issue! Thank you!!

However, now I have a problem with my z endstop switch not being triggered AND my BLtouch isn’t verifying correctly. I’ve checked the hardware and everything is where it should be. Any thoughts on this? I’ve included my Klippy.log.
klippy.log (210.4 KB)

Edit: figured it out. Apparently I found an actual bug this time (maybe). There needs to be a ^ next to the sensor pin in the printer config. So it should be ^PC14 as opposed to just PC14.

But it looks like things are working just fine now. Thanks for the help!! I’ve added my new config file here:

klippy.log (210.4 KB)

I think you need to distinguish between a ‘bug’ i.e. something not working in accordance with the documentation around how it should work. And you misconfiguring things.

The config for the SKR Mini E3 V3.0 does NOT include any BLtouch configuration, and doesn’t reference PC14 at all. So when you added it to your config, you didn’t add it correctly. This is not a Klipper bug.
If you had of referenced the Klipper documentation the requirement for the pullup configuration would have been apparent: BL-Touch - Klipper documentation

If I’m new or completely unexprienced in a topic, my personal approach is:

  1. RTFM
  2. Google
  3. Ask for support

In 9.9 out of 10 cases, I have messed up something and it was not a bug, so at least my experience.
In doubt, it can be taken very badly to cluelessly ramble about bugs.

The documentation I was referring to is from the BTT klipper section on their github page:

The documentation is still wrong.

The config you’ve linked to is not from Klipper. It’s from Big Tree Tech, a commercial company. You should take your issue up with them.

The documentation is still wrong.

Which documentation from the Klipper project (GitHub - Klipper3d/klipper: Klipper is a 3d-printer firmware)