Product Overview
The POE FAN HAT C is a Power over Ethernet (PoE) supply and cooling solution designed for the Raspberry Pi 5. This board supports the IEEE 802.3af/at network standards. When used with a PoE router or switch that supports IEEE 802.3af/at network standards, only one Ethernet cable is needed for both networking and power supply to the Raspberry Pi.
The board also provides an adjustable speed fan and metal heat sink, ensuring the Raspberry Pi 5 operates within a reasonable temperature range. The onboard high-speed adjustable active cooling fan seamlessly connects to the Raspberry Pi 5's 4-pin JST connector, while the included metal heat sink enhances heat dissipation.
Designed based on the Raspberry Pi 40-pin expansion interface, the board is user-friendly and can be directly plugged into the Raspberry Pi's 40-pin expansion interface.
Product Specifications
Dimensions | 65mm (Length) x 56mm (Width) |
Input Voltage | PoE power input (37V ~ 57V) |
Output Voltage | 5V |
Maximum Output Power | 22.5W (5V/4.5A), can reach up to 5V/4.9A in extreme conditions |
Network Standard | IEEE 802.3af/at PoE |
Fan Speed (Max) | 9000 RPM |
Weight | 40g(excluding accessories) |
Resource Overview Diagram
① Raspberry Pi 5 POE power input female header
② 0.87-inch OLED display screen
③ 3007 active cooling fan mounting holes
④ 5V power indicator light
⑤ Raspberry Pi 40-pin expansion pin header
Instructions
The product installation wiring diagram is as shown below. The POE switch/router needs to support the IEEE 802.3af/at network standard. Then, proceed to install the heat sink, metal heat sink, fan wiring in order. Finally, correctly insert the product into the Raspberry Pi 5 and connect the 8-core network cable.
Install Python library
Since the example programs use Python 3 environment, installing the smbus library is necessary to run Python example programs:
sudo apt-get install -y python-smbus
Install lgpio library
The C language version of the example program uses the lgpio library. Install the lgpio library on Raspberry Pi 5:
wget https://github.com/joan2937/lg/archive/master.zip
unzip master.zip
cd lg-master
make
sudo make install
Configuring I2C Interface
sudo raspi-config
Enable the I2C interface
Interfacing Options -> I2C -> Yes
Install i2c-tools for confirmation
sudo apt-get install i2c-tools
Check the connected I2C devices
i2cdetect -y 1
You should see the address representing the board's OLED screen connected to the Raspberry Pi. The default address is typically 0x3c.
Running Example Programs:
1)Properly install the POE FAN HAT C onto the Raspberry Pi 5 and boot up the Raspberry Pi.
2)Run the Python program
Navigate to the poe-fan-hat-c/python/ directory.
sudo python3 main.py
After running the program, the IP address of the Raspberry Pi 5 (192.168.2.242) and the real-time CPU temperature (62.8℃) will appear on the OLED screen of the board, as shown below.
3)Running C Program:
Navigate to the poe-fan-hat-c/c/ directory and execute the following commands:
sudo make clean
sudo make
sudo ./main
4)Temperature Control Test
Open a new terminal window and install stress using the following command:
sudo apt install stress
Run the testing command:
stress -c 4
At this point, the CPU temperature will gradually increase. When it exceeds 50℃, the onboard fan will automatically start.
Boot Autostart Test
Using the systemd method:
Create a .service file on the Raspberry Pi, such as poe-fan-hat-c.service. The file content should be as follows (assuming the main.py file is located at /home/pi/poe-fan-hat-c):
[Unit]
Description=poe-fan-hat-c service
After=network.target
[Service]
Restart=always
RestartSec=5
Type=simple
ExecStart=/usr/bin/python3 -u /home/pi/poe-fan-hat-c/python/main.py
User=pi
[Install]
WantedBy=multi-user.target
Save and exit the file, then copy it to the /etc/systemd/system directory:
sudo cp poe-fan-hat-c.service /etc/systemd/system/
Reload all services:
sudo systemctl daemon-reload
Enable the task to run automatically at startup:
sudo systemctl enable poe-fan-hat-c.service
Start the task immediately:
sudo systemctl start poe-fan-hat-c.service
Check the status of the task, the OLED display should continuously show the IP address and CPU temperature in normal conditions. Restart the Raspberry Pi and observe if the OLED screen displays the IP address and CPU temperature correctly.
If you are using a C language example program, change the content from "ExecStart=/usr/bin/python3 -u /home/pi/poe-fan-hat-c/python/main.py"
to
"ExecStart= /home/pi/poe-fan-hat-c/c/main".