The Argon Industria PoE+ series is a high-performance Power over Ethernet HAT designed for the Raspberry Pi 5. It enables simultaneous power and data delivery through a single Ethernet cable, conforming to the IEEE 802.3af/at standard. The series comes in two versions: a Standard PoE+ HAT for clean, single-board deployments, and a PoE+ NVMe HAT that adds an M.2 slot for high-speed local storage.
These HATs are built for demanding environments — industrial automation, high-density edge computing clusters, kiosk systems, and anywhere a clean single-cable installation matters. Both variants require the Argon THRML 30mm Active Cooler to operate safely under sustained PoE+ loads.
| View | Image |
|---|---|
| Front | ![]() |
| Isometric | ![]() |
| Back | ![]() |
Figures 1–3: Argon Industria PoE+ Standard — Front, Isometric, and Back views.
| View | Image |
|---|---|
| Front | ![]() |
| Isometric | ![]() |
| Back | ![]() |
Figures 4–6: Argon Industria PoE+ NVMe — Front, Isometric, and Back views.
| Item | Qty |
|---|---|
| Argon Industria PoE+ HAT | 1 |
| Mounting hardware (screws and standoffs) | 1 set |
| Quick-start guide | 1 |
| Item | Qty |
|---|---|
| Argon Industria PoE+ NVMe HAT | 1 |
| PCIe Gen 2 flex cable | 1 |
| M.2 SSD retention screw | 1 |
| Mounting hardware (screws and standoffs) | 1 set |
| Quick-start guide | 1 |
📝 Note: The Argon THRML 30mm Active Cooler is a mandatory accessory but is sold separately. Neither HAT variant will operate safely at sustained PoE+ loads without it. See Section 1 below.
Designed for industrial automation, kiosk deployments, and high-density clusters where clean, single-cable power delivery is the priority.
| Specification | Detail |
|---|---|
| PoE Standard | IEEE 802.3af / 802.3at (PoE+) |
| Input Voltage | 36V – 57V DC (via Ethernet) |
| Output to Pi 5 | Regulated 5V / 5A (25W) via 40-pin GPIO |
| Auxiliary Output — SH 3-Pin | 5V (for Official Raspberry Pi Touch Display 2 — 7-inch and 5-inch; Argon HMI Screens — 8-inch and 10-inch) |
| Auxiliary Output — SH 4-Pin | I²C with 3.3V (for Argon ONE V5 OLED Screen) |
| Form Factor | Standard Raspberry Pi HAT |
All the power delivery of the Standard HAT, with an integrated M.2 slot for high-speed NVMe storage — ideal for edge servers, NAS nodes, and applications requiring fast local read/write.
| Specification | Detail |
|---|---|
| PoE Standard | IEEE 802.3af / 802.3at (PoE+) |
| Input Voltage | 36V – 57V DC (via Ethernet) |
| Output to Pi 5 | Regulated 5V / 5A (25W) via 40-pin GPIO |
| M.2 Slot | NVMe SSDs, sizes 2230 and 2242 |
| PCIe Connection | Raspberry Pi 5 PCIe port via dedicated flex cable |
| Form Factor | Standard Raspberry Pi HAT |
| Device | Compatible? | Notes |
|---|---|---|
| Raspberry Pi 5 | ✅ Yes | Primary supported platform |
| Raspberry Pi 4 | ❌ No | GPIO and PoE header layout differs |
| Argon THRML 30mm Active Cooler | ✅ Required | Must be installed before mounting the HAT |
| Official Raspberry Pi Touch Display 2 (5-inch) | ✅ Yes | Via SH 3-pin auxiliary port (Standard HAT) |
| Official Raspberry Pi Touch Display 2 (7-inch) | ✅ Yes | Via SH 3-pin auxiliary port (Standard HAT) |
| Argon HMI Screen 8-inch | ✅ Yes | Via SH 3-pin auxiliary port (Standard HAT) |
| Argon HMI Screen 10-inch | ✅ Yes | Via SH 3-pin auxiliary port (Standard HAT) |
| Argon ONE V5 OLED Screen | ✅ Yes | Via SH 4-pin I²C port (Standard HAT) |
| M.2 NVMe SSD (2230) | ✅ Yes | NVMe HAT only |
| M.2 NVMe SSD (2242) | ✅ Yes | NVMe HAT only |
| M.2 SATA SSD (any size) | ❌ No | PCIe NVMe protocol only; SATA not supported |
⚠️ Warning: Both HAT variants must be used with the Argon THRML 30mm Active Cooler. Operating the Raspberry Pi 5 under sustained PoE+ loads without this cooler can cause thermal throttling or permanent hardware damage. The cooler must be installed before the HAT is mounted.
The Argon THRML 30-AC is purpose-designed to fit beneath both Argon Industria PoE+ HATs. Its tunnel-type radiator and blower fan are positioned to push airflow efficiently through the HAT's physical footprint rather than simply recirculating warm air.
| Feature | Detail |
|---|---|
| Radiator Type | Tunnel-type — maximizes directed airflow beneath the HAT |
| Fan | 30mm PWM blower, up to 8,000 RPM |
| Fan Control | PWM — speed managed automatically by the Raspberry Pi 5 |
| Mounting | Tool-less quick-snap push pins |
| Fan Connector | 4-pin — plugs directly into the Pi 5 fan header |
| Specification | Value |
|---|---|
| Material | High-grade aluminium (Black or Silver finish) |
| Input Voltage | 5V DC (via Raspberry Pi 5 4-pin fan header) |
| Max Airflow | 1.09 CFM |
| Control Type | PWM |
Read the full assembly sequence before you begin. The order of steps matters — particularly the requirement to install the cooler before the HAT.
⚠️ Warning: Always power off and disconnect your Raspberry Pi 5 completely before beginning assembly.
Step 1 — Install the Argon THRML 30mm Active Cooler

Figure 7: Argon THRML 30-AC installed on Raspberry Pi 5.
Step 2 — Mount the Standard PoE+ HAT

Figure 8: Standard PoE+ HAT mounted on THRML and Raspberry Pi 5.

Figure 9: Completed Standard PoE+ assembly — isometric view.
⚠️ Warning: Always power off and disconnect your Raspberry Pi 5 completely before beginning assembly.
📝 Note: Read all steps before starting. The PCIe flex cable must be connected to the Pi 5 before the HAT is mounted — reversing this order makes the lower connection very difficult to seat properly.
Step 1 — Install the Argon THRML 30mm Active Cooler
Follow the same cooler installation procedure as Steps 1.1–1.4 in the Standard assembly above.

Figure 10: Argon THRML 30-AC installed on Raspberry Pi 5.
Step 2 — Connect the PCIe Flex Cable to the Raspberry Pi 5 (Cable First)
📝 Note: The Pi 5 PCIe connector uses a friction-lock (ZIF) mechanism. Do not force the tab — slide it smoothly. A loose cable here is the most common cause of NVMe drives not being detected.
Step 3 — Mount the NVMe HAT
Step 4 — Connect the PCIe Flex Cable to the NVMe HAT
📝 Note: Connecting the upper end of the cable after the HAT is mounted is significantly easier than trying to connect the lower (Pi 5) end after mounting. This is why the cable-first sequence in Step 2 is important.

Figure 11: NVMe HAT mounted on THRML and Raspberry Pi 5.
Step 5 — Install the NVMe SSD

Figure 12: Completed NVMe HAT assembly — isometric view.
These HATs require Raspberry Pi OS (Bookworm, 64-bit) or later. Older OS versions may not support the Pi 5 PCIe stack or the fan PWM header correctly. Use Raspberry Pi Imager to flash a fresh image if your installation is out of date.
Always start with a fully updated system before installing HAT-related software.
sudo apt update && sudo apt full-upgrade -y
sudo reboot
The Raspberry Pi 5 PCIe interface is available but not enabled at full Gen 2 speed by default. Edit the boot configuration to enable it.
sudo nano /boot/firmware/config.txt
Add the following lines at the end of the file:
# Enable PCIe Gen 2 for NVMe HAT
dtparam=pciex1
dtparam=pciex1_gen=2
Save and exit (Ctrl+X, then Y, then Enter), then reboot.
sudo reboot
📝 Note: Gen 2 (5 GT/s) is stable and officially supported on Pi 5. Gen 3 mode is currently experimental and not recommended for production deployments.
After rebooting, confirm the operating system can see your NVMe drive.
lsblk
You should see an entry such as nvme0n1 in the output. If the drive is not listed, check the flex cable connections at both ends before proceeding.
You can also inspect the PCIe device tree directly:
ls /dev/nvme*
And get detailed drive information:
sudo nvme list
The Argon software package configures fan speed curves, OLED display support (if connected), and HAT-specific GPIO behaviour.
curl -L https://download.argon40.com/argon-poe-setup.sh | bash
⚠️ Warning: Always review scripts before piping them to bash. You can download and inspect the script first:
bash curl -L https://download.argon40.com/argon-poe-setup.sh -o argon-poe-setup.sh nano argon-poe-setup.sh bash argon-poe-setup.sh
After installation completes, reboot to apply all settings.
sudo reboot
The Argon PoE+ software installs a configuration utility that lets you adjust the fan speed curve to suit your environment.
argon-config
This opens an interactive menu where you can set temperature thresholds and corresponding fan speeds. The defaults are appropriate for most deployments.
If your NVMe SSD is new or unformatted, partition and format it before use.
⚠️ Warning: The following commands will erase all data on the target drive. Confirm the correct device name with
lsblkbefore proceeding. Replace/dev/nvme0n1with your actual device name if different.
# Create a new GPT partition table and a single Linux partition
sudo parted /dev/nvme0n1 --script mklabel gpt mkpart primary ext4 0% 100%
# Format the partition as ext4
sudo mkfs.ext4 /dev/nvme0n1p1
# Create a mount point and mount the drive
sudo mkdir -p /mnt/nvme
sudo mount /dev/nvme0n1p1 /mnt/nvme
# Confirm the drive is mounted
df -h /mnt/nvme
To mount the drive automatically on boot, add it to /etc/fstab:
# Get the UUID of the new partition
sudo blkid /dev/nvme0n1p1
Copy the UUID value from the output, then open fstab:
sudo nano /etc/fstab
Add a line at the end (replace YOUR-UUID-HERE with the actual UUID):
UUID=YOUR-UUID-HERE /mnt/nvme ext4 defaults,nofail 0 2
Save and exit, then verify the fstab entry works before rebooting:
sudo mount -a
To boot the Raspberry Pi 5 directly from the NVMe SSD rather than from an SD card, use the Raspberry Pi Imager to write your OS image directly to the NVMe drive, then update the boot order in the Raspberry Pi EEPROM.
# Check the current boot order
sudo rpi-eeprom-config
# Open the EEPROM config editor
sudo -E rpi-eeprom-config --edit
Set the boot order to prioritise NVMe. In the editor, locate or add the BOOT_ORDER line and set it to:
BOOT_ORDER=0xf416
This tells the Pi 5 to attempt NVMe boot first, then USB, then SD card. Save, exit, and reboot.
sudo reboot
📝 Note:
BOOT_ORDERis read right-to-left. The value0xf416means: try SD card (1), then USB (4) then NVMe (6), falling back to restart (f) if all fail. Adjust as needed for your deployment.
Likely cause: The connected network switch or injector is not PoE+ capable, or PoE is not enabled on that port.
Fix:
- Confirm your switch or PoE injector supports IEEE 802.3at (PoE+) and that the port has PoE enabled in the switch management interface.
- Verify the Ethernet cable is Cat5e or better. Damaged or very long cable runs (over 100m) can cause insufficient power delivery.
- Try a different PoE port or a standalone PoE+ injector to isolate whether the issue is with the switch.
lsblk shows no nvme0n1 entry).Likely cause: The PCIe flex cable is not fully seated at one or both ends, or PCIe is not enabled in the boot configuration.
Fix:
1. Power off the Pi completely and reseat both ends of the PCIe flex cable. Ensure the locking tab clicks closed at both the Pi 5 PCIe port and the HAT's NVMe PCIe port.
2. Confirm that dtparam=pciex1 is present in /boot/firmware/config.txt.
3. Check the kernel log for PCIe-related errors:
bash
dmesg | grep -i pcie
dmesg | grep -i nvme
4. Try a different NVMe SSD if available, to rule out a faulty drive.
Likely cause: The Argon THRML 30mm Active Cooler is not seated correctly, the thermal pads were omitted or misplaced, or the fan is not receiving power.
Fix:
1. Confirm the fan 4-pin cable is plugged into the fan header on the Raspberry Pi 5, not a GPIO pin.
2. Check that the fan is spinning. If not, test the fan header with pinctrl or check for errors in dmesg.
3. Power off and remove the HAT and cooler. Inspect the thermal pads — they should be fully covering the CPU, RAM, RP1, and PMIC chip with no gaps or folds. Replace if damaged.
4. Re-seat the cooler push pins and confirm each one has clicked fully into place.
5. Monitor temperatures in real time:
bash
watch -n 1 vcgencmd measure_temp
Likely cause: The Argon PoE+ software is not installed or did not complete successfully, leaving the fan without PWM management.
Fix:
1. Re-run the software installer:
bash
curl -L https://download.argon40.com/argon-poe-setup.sh | bash
sudo reboot
2. After rebooting, confirm the fan service is running:
bash
systemctl status argononed.service
3. If the service is not active, start and enable it:
bash
sudo systemctl enable --now argononed.service
Likely cause: The SH 4-pin I²C cable is not connected, or I²C is not enabled on the Raspberry Pi 5.
Fix:
1. Confirm the SH 4-pin cable is firmly connected to the SH 4-pin port on the Standard PoE+ HAT.
2. Enable I²C via raspi-config:
bash
sudo raspi-config
Navigate to Interface Options → I2C → Enable.
3. Reboot and verify the OLED device appears on the I²C bus:
bash
sudo i2cdetect -y 1
You should see an address (typically 0x3c or 0x3d) appear in the grid.
Likely cause: The SH 3-pin cable is loose or connected to the wrong port, or the screen requires more than 5V/current the auxiliary port provides.
Fix:
1. Confirm the SH 3-pin cable is firmly connected to the SH 3-pin port on the Standard PoE+ HAT — not the 4-pin I²C port.
2. Confirm your screen is a supported model: Official Raspberry Pi Touch Display 2 (5-inch or 7-inch), or Argon HMI Screen (8-inch or 10-inch).
3. Inspect the cable for damage. Try a replacement SH 3-pin cable if available.
Likely cause: The EEPROM boot order has not been updated, or the OS image on the NVMe drive is not bootable.
Fix:
1. Verify the boot order setting:
bash
sudo rpi-eeprom-config | grep BOOT_ORDER
2. If the BOOT_ORDER does not include NVMe (value 6), re-run the EEPROM config editor and set BOOT_ORDER=0xf416.
3. Confirm a valid bootable OS image is written to the NVMe drive. Use Raspberry Pi Imager to write directly to the NVMe device if unsure.
4. Check that the NVMe drive is visible during boot:
bash
dmesg | grep nvme
Q: Do I absolutely need the Argon THRML 30mm Active Cooler, or can I use a different cooler?
A: The THRML 30-AC is specifically required because its tunnel-type radiator and 30mm blower are designed to exhaust heat through the HAT's footprint without requiring side clearance. A standard top-mount cooler or heatsink-only solution will not provide adequate airflow once the HAT is seated. Using an unsupported cooler under sustained PoE+ loads risks thermal throttling and may permanently damage your Raspberry Pi 5.
Q: Can I use these HATs with a Raspberry Pi 4?
A: No. The Argon Industria PoE+ HATs are designed specifically for the Raspberry Pi 5. The Pi 5 uses a different PoE header position, GPIO layout, and — on the NVMe variant — a PCIe port that does not exist on the Pi 4.
Q: What is the maximum NVMe SSD size I can use with the NVMe HAT?
A: The M.2 slot supports the 2230 (30mm) and 2242 (42mm) form factors only. 2280 (80mm) drives — the most common desktop/laptop size — are too long and will not fit. Always check your drive's form factor before purchasing.
Q: Can I use an M.2 SATA SSD instead of an NVMe SSD?
A: No. The M.2 slot on the NVMe HAT is wired to the Raspberry Pi 5's PCIe interface and supports NVMe protocol only. M.2 SATA drives use a different signalling protocol and will not be recognised, even if they physically fit the slot.
Q: My PoE switch is 802.3af (not 802.3at). Will the HAT still work?
A: The HAT is rated for IEEE 802.3at (PoE+), which delivers up to 30W at the switch port. IEEE 802.3af (standard PoE) delivers only up to 15.4W at the port, which may be insufficient to power the Raspberry Pi 5 at full load, especially with an NVMe drive attached. The HAT may negotiate a lower power level and operate in a reduced or unstable state. For reliable operation, use a 802.3at (PoE+) capable switch or injector.
Q: Can I run the Raspberry Pi 5 from both PoE and a USB-C power supply at the same time?
A: This is not a recommended configuration. The PoE+ HAT is designed to be the sole power source for the Pi 5 in a PoE deployment. Connecting both simultaneously may cause backfeeding or voltage conflicts. Choose one power source and use it exclusively.
Q: Is the PCIe interface on the NVMe HAT Gen 2 or Gen 3?
A: The Raspberry Pi 5 PCIe interface is electrically capable of Gen 3 speeds, but Gen 3 is currently experimental and not recommended for production use. The standard and supported configuration is PCIe Gen 2 (5 GT/s), which is what the dtparam=pciex1_gen=2 setting enables. Gen 2 delivers excellent NVMe performance for the vast majority of Pi 5 use cases.
Q: After installing the HAT software, how do I adjust the fan speed thresholds?
A: Run argon-config from the terminal to open the interactive configuration menu. From there you can set custom temperature-to-fan-speed mappings to match your environment — for example, running the fan more aggressively in a sealed enclosure or more quietly in an office setting.
argon-config