• sales

    +86-0755-88291180

Raspberry Pi Fan HAT User Guide

Introduction

This is a PWM controlled Fan HAT, which is designed for Raspberry Pi, I2C Bus, PCA9685 driver, it can be used as a temperature monitor as well.

Features

  • PCA9685 PWM driver as the fan controller, powerful driving capability, auto PWM adjustment
  • 0.91" OLED, 128x32 pixels, displays board temperature or other user-defined content in real-time
  • Adopts 3007 size PWM controlled fan, up to 8000rpm speed, brings strong airflow
  • Supports retrieving temperature data in real-time, and then adjusting the speed automatically, programmable configuration
  • I2C pins, for connecting other host control boards
  • 16-ch PWM outputs, for driving other external PWM devices
  • Comes with heat sinks, better cooling effect

Specifications

  • Operating voltage: 5V
  • Logic level: 3.3V
  • Driver: PCA9685
  • Interface: I2C
  • Fan PWM driver duty cycle: ≥25%
  • Fan RPM (max): 8000 RPM
  • OLED driver: SSD1306
  • OLED resolution: 128×32
  • OLED display color: White
  • OLED FOV: > 160°
  • Mounting holes: 3.0mm

About board


  1. Standard Raspberry Pi 40PIN GPIO header
  2. PCA9685 PWM driver
  3. 3007 size PWM controlled adjustable fan
  4. PCA9685 I2C address configuration
  5. Reserved I2C control pins
  6. Reserved PCA9685 output channels
  7. 0.91inch OLED display

Pinout


Relationiship of temperature and Fan speed


Example

Hardware connection

First at all, please connect the Fan HAT to Raspberry Pi by attaching it on the 40PIN GPIO
The standoffs and screws can be sued to hold the Fan HAT in another side.

Libraries installation

Open the terminal of Raspberry Pi and install libraries as guides below

Install WiringPi Library

cd
sudo apt-get install wiringpi
wget https://project-downloads.drogon.net/wiringpi-latest.deb
sudo dpkg -i wiringpi-latest.deb
gpio -v

Install C Library bcm2835

cd
wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.60.tar.gz
tar zxvf bcm2835-1.60.tar.gz 
cd bcm2835-1.60/
sudo ./configure
sudo make && sudo make check && sudo make install

For more information and the newest libraries please refer to website:http://www.airspayce.com/mikem/bcm2835/

Install Python Library

For python2
cd
sudo apt-get update
sudo apt-get install python-pip
sudo pip install RPi.GPIO
For python3
cd
sudo apt-get update
sudo apt-get install python3-pip
sudo pip install RPi.GPIO

Download example

Open the terminal and run the following commands to download example

cd
sudo apt-get install p7zip-full
wget https://www.waveshare.com/w/upload/0/06/Fan_HAT.7z
7z x Fan_HAT.7z  -r -o./Fan_HAT

Run the example

C
cd
cd Fan_HAT/c/
make clean 
make
sudo ./main
Python
cd
cd Fan_HAT/python/
sudo python main.py

Run when booting

Modify rc.local script

sudo nano /etc/rc.local

Add the lines below to the script, you need to set them in the front of exit 0

fi
sudo /home/pi/Fan_HAT/c/main &
#exit 0
TAG: Raspberry Pi 9inch DSI MIPI LCD TouchScreen Display 9inch 720x1280 For Luckfox Lyra RK3506/ESP32-P4/Luckfox Omni3576 Lidar Jetson Nano 1.54inch OLED Lichee-Tang-Primer-20K-FPGA-Unboxing luckfox-pico-ultra-w-WIFI-Bluetooth 0.99inch ESP32 S3 LCD Development Board 1.3 inch Display 1.3inch Screen ST7789 240x240 Mini TV SD-Port QST QMI8658 Gyro Sensor LVGL For Arduino Raspberry Pi 5 ESP32 1.9inch LCD Raspberry Pi 7inch DSI ESP32 C6 AI 0.85inch Development Board 0.85 inch DeepSeek RGB surround light Dual mike ESP32 MPW7 Raspberry Pi 5 PCIe to WIFI7 Adapter Board HAT Pi5 For Google TPU BE200 AX210 AI Raspberry Pi Pico 2 Pro RP2350A Linux PSRAM-8MB Development Board Display TouchScreen Camera Industrial 4-ch PWM RS485 pulse output module Modbus RTU rail ESP32-C6 LCD Development Board 1.3 inch Display 1.3inch Screen ST7789 240x240 Mini TV SD-Port QST LVGL For Arduino Raspberry Pi RTC WatchDog HAT (B) Real time clock Onboard DS3231SN High Precision RTC Chip MK20 Computer AI Deepseek Mechanical Voice Keyboard Linux 20x0.85inch LCD Screen Customize keys + 2.8 inch Secondary Display Raspberry Pi Pico 2 RP2350B 2.41 inch AMOLED Development Board QSPI Display TouchScreen 450x600 RM690BO FT6336 QMI8658 Raspberry Pi Pico 2 RP2350 bit board Size & Port high Compatible With BBC Micro:bit