Power over Ethernet lets you run both power and networking to certain devices through one Ethernet cable. It's extremely convenient, especially if you have a managed PoE switch, because you get the following benefits:
- A single cable for power + Ethernet (no need for separate power adapters)
- No need to have electrical service near every device
- Simple remote power on/off capability (assuming you have a managed switch)
- Centralized power management (e.g. one UPS in a rack room covering all powered devices)
I have used the Raspberry Pi PoE and PoE+ HATs for years now, allowing me to have 4 or 5 Raspberry Pi per 1U of rack space, with all wiring on the front side. I also use PoE for cameras around my house, though there are dozens of use cases where PoE makes sense.
The Raspberry Pi, since it only requires 3-10W of power, is an ideal candidate for PoE, assuming you can find a HAT for it.
The Pi 5, however, doesn't have a PoE HAT available, since Raspberry Pi moved the PoE power header down near the moved Ethernet jack (it was right next to the GPIO header for the Pi 3 and 4 generations).
That is, until now—Waveshare introduced the PoE HAT (F), which is their 6th iteration on a Pi PoE HAT.
This HAT comes with a thin but large heatsink (complete with three thermal pads for SoC, PMIC, and memory chip), a built-in always-on fan, and even an auxiliary 12v header supplying up to 2A of power for accessories.
The built-in GPIO 5v connections provide up to 4.5A of power to the Raspberry Pi, which is enough to power the Pi (even overclocked), a PCIe device up to 5W or so, plus one or two USB devices at full current.
To test it, I ran
stress-ng while copying a 10 GB file between an external USB 3.0 NVMe SSD and an internal PCIe NVMe SSD (using the Pimoroni NVMe BASE), and as you can see above, the Waveshare PoE HAT averaged around 5.10V of power to the Pi's 5V power rail throughout.
The lowest I ever saw the 5V rail go was around 5.04V, and there were no voltage warnings from the Pi, nor did it throttle (confirmed using the command
Maximum USB Current
Out of the box, the board did not supply full USB current—it was limited by Pi OS to 600 mA, which is enough for keyboards and other similar low-power peripherals, but not nearly enough to initialize a bus-powered SSD.
I had to edit
/boot/firmware/config.txt and add the following line to override the Pi's USB current limiter:
Doing so allows the Pi to pass through up to 1.6A of current to the USB ports.
For other thoughts on this HAT, please check out this GitHub issue as well as today's video: