maltepöggel.de

RasPi Fan

Fan controller that plugs onto the GPIO header of a Raspberry Pi single-board computer

In hot environments or for very CPU intensive applications, a case fan is useful for the Raspberry Pi. To reduce the noise level, it can be controlled via a GPIO pin based on the processor temperature. The Raspberry Pi OS already includes the necessary code.

Picture: Circuit board of the fan controller

The board is plugged into the beginning of the GPIO header, where it connects the operating voltage for the fan and the GPIO4 pin. The remaining pins remain free for other applications. The fan is connected via a JST PH connector with 2mm pitch.

Picture: Schematic of the fan controller

Circuit description

Header K1 provides the connection to the GPIO port. Resistor R1 is connected as a base resistor for the transistor. R2 pulls the input to ground if the GPIO pin is in a high-impedance state. Transistor T1 switches the fan connected to K2, with diode D1 serving as a freewheeling diode. The self-resetting fuse F1 protects against overload due to a short circuit.

Configuration

The temperature-dependent control can be activated using raspi-config. To do this, the following command is executed on the console:

sudo raspi-config nonint do_fan 0 4 65

This activates the control on GPIO 4 with a temperature threshold of 65 degrees CPU temperature. More details about the command can be found in the official documentation. Testing was done using a Raspberry Pi 3B+.

Links
Downloads
License

The project may be freely used and modified, but the author's name must be left on it (CC BY-SA).