Note: Backfeeding voltage or leaving the tacho wire unplugged can damage the fan. We highly recommend connecting the fan to a dedicated tacho port when possible. The alternative method, which uses an end stop with a 1n4148 diode, is not beginner-friendly.
If your setup does not require tacho functionality or your tool board lacks a tacho port, we suggest using 2-wire fan variants, especially for older boards like the EBB36/42. Leaving the tacho wire disconnected can cause a short circuit and damage the fan on EBB36/42 boards and some BTT boards.
However, if your tool board supports a tacho header, you won’t encounter these issues as long as the fan is wired correctly to the header. We have tested our Tacho and 4 wire fans on Duet 3D Toolhead Board and Nitehawk.
TABLE OF CONTENTS
Klipper Guide:
Credit: https://ellis3dp.com/Print-Tuning-Guide/articles/useful_macros/hotend_fan_monitoring.html
Credit: https://www.klipper3d.org/Config_Reference.html#heater_fan
Requirements:
- Machine running klipper
- Spare endstop port/pin (data pin, not GND/5v/3.3v), please refer to your toolhead board pinout or wire to tacho specifically for tacho, as these will have built in diode required.
- 1n4148 diode is required general end stop port, otherwise wire to dedicated tacho header which should have 1n4148 wire inline (double check board schematic)
Setup:
Download Ellis Macro: https://github.com/AndrewEllis93/Print-Tuning-Guide/blob/main/macros/fan_tach_monitor.cfg
LDO Tacho Configuration: https://github.com/MotorDynamicsLab/Nitehawk-SB/blob/master/Firmware/Klipper%20Configs/tacho_macros.cfg
- Under your hotend fan, set "
tachometer_pin
" (Remember to set pull up to the pin "^" (example:tachometer_pin: ^P1.29
) - Place
fan_tach_monitor.cfg
in the same directory as yourprinter.cfg
. - Add
[include fan_tach_monitor.cfg]
to yourprinter.cfg
. - Change
min_rpm
andmax_consecutive_stops
in theHOTEND_FAN_CHECK
macro to your desired values. (The default value 3000 works well in our testing, you may want test yourself by stopping/slowing the hotend fan when hotend is heated up to pass your minimal toggle fan speed.) - Place your desired hotend fan failure g-code in
FAN_STOPPAGE_ROUTINE
Marlin Guide:
Requirements:
- Machine running Marlin
- Spare endstop port/pin (data pin, not GND/5v/3.3v), please refer to your toolhead board pinout or wire to tacho specifically for tacho, as these will have built in diode required.
- 1n4148 Diode is required general end stop port, otherwise wire to dedicated tacho header which should have 1n4148 wire inline (double check board schematic)
Within Configuration_adv.h (Find tachometers section)
Find and define E0 fan (in most case, hotend fan setup would be E0 (Extruder 0/1) with endstop/data pin.
Example:
#define E0_FAN_TACHO_PIN PIN19
RepRap Guide:
Requirements:
- Machine running RepRap
- Wire to Tacho Fan Port, most duet toolhead or main board will have suitable header.
More Information: https://docs.duet3d.com/User_manual/Connecting_hardware/Fans_connecting
Example:
M950 F2 C"out4+out4.tach" ; Fan 2 uses out4, and using out4.tach as a tacho inputM950 F2 C"out4+out4.tach" ; Fan 2 uses out4, and using out4.tach as a tacho inputM950 F2 C"out4+out4.tach" ; Fan 2 uses out4, and using out4.tach as a tacho input
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article