Fan pins not defined in MCU PDF

@sovol3d What is the pin name? Not shown on the diagram in your github.

In printer.cfg there is a fan NAMED fan3 but it is mapped to pin PE11 which is in the plug LABELED “K_FAN3” on the other side of the board.

Names are to make the configuration human friendly. Klipper uses pin ID to run things.


Sorry but, since I don’t even know where to start with the configuration you mentioned in your post, could you help me understand how to control that port? First, tell me which pin it corresponds to, and then give an example from the config.cfg file. What should I add, for example, to tell it to run at 50% or to turn on when the motherboard temperature is above 40°C?
Thanks for your help.

Without the enclosure 2 of the 3 K_FAN ports are available. If you move the motherboard fan to one of them it could be controlled in the way you want BUT your printer is no longer compatible with the enclosure upgrade.

You could add a stand alone controller similar to

Which would NOT be adjustable via clipper

You could add a “toolhead board” and use it to only run fans.

https://a.co/d/060hMM63

Or you can build a klipper controlled fan controller based on a RPi 2040 board:

With one or more of these

If you want to use K_FAN1 You’ll need to:
Unplug the fan and release the wires from the connector.
Unplug the extension cable from K_FAN1 Note which end has the red wire then release the wires
Put the fan wires into the ends of the 4 pin connector with red same as it was.
Plug it in to the board.
Find this section in printer.cfg

[fan_generic fan2] # auxiliary fan
pin: PB0
max_power: 1.0

And edit it to:

[temperature_fan fan2]
pin: PB0
max_power: 1.0
shutdown_speed: 1 #Full speed when Klipper errors until firmware reset
cycle_time: 0.010
hardware_pwm: False
kick_start_time: 0.200
off_below: .25 #!! check YOUR fan!!
sensor_type: temperature_host #this is the CPU temp not the MCU
#sensor_pin:
control: watermark
max_delta: 40
min_temp: 0
max_temp: 100
target_temp: 35

The reference section for Klipper’s temperature_fan

Isn’t very clear on how to reference off a pin name not a number. You may need to debug the configuration