Skip to content

Latest commit

 

History

History
30 lines (24 loc) · 1.52 KB

README.md

File metadata and controls

30 lines (24 loc) · 1.52 KB

rpi-pwm-fan-control

Motivation

This Python script was created for the purpose to control a PWM FAN Noctua NF-A4x20 5V, using Raspberry Pi 4B hardware features. The script uses WiringPi-Python as a dependecy, it is used to set Hardware PWM value clock as 25Khz that was specified by Intel (c.f. “4-Wire Pulse Width Modulation (PWM) Controlled Fans”, Intel Corporation September 2005, revision 1.3), to read the FAN speed using the tachometer, it is read by using Hardware provided interruption pin. Using Hardware feature use less CPU to execute the work, avoiding to use Raspberry Pi CPU resource only to control the FAN speed.

Feature

  • Use PWM pin to control the FAN
  • Use Interruption pin to read FAN speed
  • Connect all the FAN 4pin directly to the Raspberry Pi pins (it is possible, because I'm using internal pull-up resistor)
  • CPU usage stay between 1% and 2%, because it needs to process the tachometer interruption routine

Dependencies

Documentations

How to use

Get repository

$ git clone [email protected]:alexfukahori/rpi-pwm-fan-control.git
$ cd rpi-pwm-fan-control
$ pip3 install -r requirements.txt
$ python3 ./rpi-pwmfan.py

TODO List

  • Accept suggestion! ;-)