Power Over Ethernet HAT for Raspberry Pi 5 with OLED Display and Fan

Power Over Ethernet HAT for Raspberry Pi 5 with OLED Display and Fan

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

Dimensions65mm (Length) x 56mm (Width)
Input VoltagePoE power input (37V ~ 57V)
Output Voltage5V
Maximum Output Power22.5W (5V/4.5A), can reach up to 5V/4.9A in extreme conditions
Network StandardIEEE 802.3af/at PoE
Fan Speed (Max)9000 RPM
Weight40g(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".

Resources

Example Programs

Data Sheets

Product

Technical Support

Technical Support and Product Notes