Quick Start
1. Confirm the hardware: Raspberry Pi 5, an M-Key NVMe SSD, a known-good Cat5e or better cable, and a suitable PoE+ source.
2. Prepare a current 64-bit Raspberry Pi OS microSD card with Raspberry Pi Imager. Create a username and password, then choose either monitor-and-keyboard login or enable SSH for headless setup.
3. Disconnect every power source. Install the cooler and four standoffs, connect the FPC cable, then lower the HAT while aligning the 40-pin GPIO and four-pin PoE headers together.
4. Boot from microSD, update Raspberry Pi OS, add dtparam=pciex1 when required, and reboot at the default PCIe Gen 2 speed.
5. Confirm the SSD with lspci and lsblk. Then choose either additional storage or NVMe boot in Software Setup.
Package Contents
Compatibility
| Item | Requirement |
|---|---|
| Raspberry Pi | Raspberry Pi 5 only. Raspberry Pi 4, Raspberry Pi 3, and other 40-pin computers are not supported. |
| SSD type | M-Key M.2 NVMe only. M.2 SATA, AHCI, B-Key, Wi-Fi, cellular, and other non-NVMe devices are not supported. |
| SSD sizes | 2230, 2242, 2260, and 2280. Use the mounting hole that matches the drive length. |
| PoE source | Use an IEEE 802.3at PoE+ switch or injector with a 30 W port for the supported Raspberry Pi 5 and NVMe configuration. See PoE Power & Safety below. |
| Operating system | Use a current 64-bit Raspberry Pi OS release and keep Raspberry Pi firmware up to date. |
| Cooling and case | Raspberry Pi 5 Active Cooler is supported with adequate clearance. Test outside the final case first and insulate conductive enclosures. |
| Board dimensions | Approximately 88 mm x 56.6 mm, excluding the Raspberry Pi, standoffs, SSD, Ethernet plug, and cooler. |
PoE Power & Safety
What You Need
| Item | What to Check |
|---|---|
| PoE equipment | Use a standards-compliant IEEE 802.3at PoE+ switch or injector. The connected port must be labeled PoE+ or IEEE 802.3at. |
| Port power | Use a 30 W port. On a shared-power switch, confirm that enough total PoE budget remains for Raspberry Pi 5, NVMe, cooling, USB, and GPIO loads. |
| Ethernet cable | Use a known-good Cat5e or better cable with intact connectors. |
| Ordinary Ethernet | A non-PoE Ethernet port provides network data only and will not power Raspberry Pi 5. |
| 802.3af source | Do not rely on it for this guide. Its lower power budget is not the supported source for the Raspberry Pi 5 and NVMe configuration documented here. |
How to Connect
Use one of the two standard arrangements below. With a PoE+ switch, connect a PoE+ port directly to Raspberry Pi 5. With a PoE+ injector, connect the router or switch to Data In, connect PoE Out to Raspberry Pi 5, and power the injector from AC. Read the labels on the injector because port order varies by model.
Option A: PoE+ Switch
Option B: PoE+ Injector
Connect the injector to its own AC power adapter. Check the labels because DATA IN and PoE OUT are not interchangeable.
Safety Rules
Quick Check
| Check | Expected Result |
|---|---|
| Switch or injector | The connected port reports a powered device and does not show a power-budget error. |
| Raspberry Pi | The PWR indicator turns on after the PoE Ethernet cable is connected. |
| First test | USB-C is disconnected and high-power USB or GPIO peripherals are removed until the base system is stable. |
Installation Video
Installation Video
Video guide coming soon
Hardware Setup
Prepare a Raspberry Pi OS microSD
A working microSD card gives you a known-good operating system for the first hardware test. Prepare it before assembling the HAT so you can confirm PCIe and NVMe detection before changing the boot drive.
1. Download and install the official Raspberry Pi Imager from https://www.raspberrypi.com/software/
2. Insert a microSD card into your computer. In Imager, choose Raspberry Pi 5, select a current 64-bit Raspberry Pi OS release, and select the microSD card as the storage target.
3. Open OS Customisation and create a username and password. Set a memorable hostname if you plan to connect without a monitor.
Choose Your First Login Method
| Method | Configure in Raspberry Pi Imager | How to connect after boot |
|---|---|---|
| Monitor and keyboard | A username and password are required. SSH can remain disabled. | Connect a display and keyboard, wait for the login or desktop screen, then sign in with the account created in Imager. |
| Headless SSH | In OS Customisation > Remote Access, enable SSH and select password authentication or add your public key. | Connect Raspberry Pi 5 to your trusted local network, wait for it to boot, then use ssh username@hostname.local or the IP address from your router. |
Wired Ethernet normally connects automatically. If hostname.local does not resolve, find the Raspberry Pi IP address in your router client list. Do not expose SSH directly to the public Internet.
ssh username@hostname.local4. Confirm the selected storage name and capacity, write and verify the card, then install it in Raspberry Pi 5. Warning: Imager erases the selected storage device.
First Boot Check
Do this test before installing the HAT. It proves that the microSD card, Raspberry Pi 5, login method, and network work without the PoE or NVMe hardware attached.
1. Leave the PNV001 HAT uninstalled. Insert the verified microSD card, connect a monitor and keyboard or a trusted local Ethernet connection, and power Raspberry Pi 5 from USB-C for this standalone test.
2. Wait for Raspberry Pi OS to start, sign in with the account created in Imager, and confirm the expected network connection works. For headless setup, confirm that ssh username@hostname.local or the Raspberry Pi IP address opens a login prompt.
3. Shut down cleanly:
sudo poweroff4. Wait for activity to stop, disconnect USB-C power, and confirm that PoE is also disconnected. Only then begin installing the cooler, HAT, FPC cable, and NVMe SSD.
Before Installation
Work on a stable, dry, non-conductive surface. Handle the Raspberry Pi, HAT, FPC cable, and SSD by their edges.
Hardware Interface
1. Raised 40-pin GPIO header. 2. M.2 M-Key socket. 3-6. SSD mounting positions for 2230, 2242, 2260, and 2280. 7. ACT indicator. 8. PWR indicator. 9. Reserved labeled power pins; do not connect loads. 10. Four-pin PoE header. 11. Raspberry Pi 5 PCIe FPC socket.
FPC Cable Direction
The included cable is directional. At the HAT connector, insert the cable end marked SSD toward the HAT as shown. At the Raspberry Pi 5 end, follow the RPI5 marking. Open each latch gently, insert the cable fully and evenly, then close the latch. Never force the cable.
FPC Cable Connection Check
Use the same latch method shown in the iUniker NVMe HAT V2 guide: open the latch gently, insert the cable straight until the conductive end is fully seated, then press the latch closed evenly. If a latch is open, the cable is crooked, or the cable is not fully inserted, the SSD may not be detected or the system may fail to boot.
Assembly Checklist
1. Shut down Raspberry Pi OS and disconnect PoE and USB-C. Install the Raspberry Pi 5 cooler before the HAT blocks access to its mounting points.
2. Place one M2.5 x 4 mm screw through each Raspberry Pi 5 mounting hole from below and secure the four M2.5 x 16 mm brass standoffs above the board.
3. Open both FPC connector latches. Insert the RPI5 end at Raspberry Pi 5 and the SSD end at the HAT fully and squarely, then close both latches evenly.
4. Position the HAT directly above Raspberry Pi 5. Align the 40-pin GPIO header and four-pin PoE header at the same time, then lower the board straight down. Important: Stop immediately if either connector resists or any pins are offset.
5. Start one M2.5 x 4 mm screw in the top of each standoff. Tighten the four screws evenly until secure; do not overtighten.
6. Insert the M-Key NVMe SSD at an angle, press it down gently, and secure it at the matching 2230, 2242, 2260, or 2280 mounting position with an M2 x 4 mm SSD screw.
7. Confirm both FPC latches are closed, both headers are straight, the SSD is flat, the cooler has clearance, and no conductive part can touch the enclosure.
Before Power-On Checklist
| Check | Required Result |
|---|---|
| Headers | The 40-pin GPIO header and four-pin PoE header are aligned with no bent or offset pins. |
| FPC cable | Both ends are correctly oriented, fully inserted, and locked. |
| NVMe SSD | The drive is M-Key NVMe, sits flat, and is secured at the matching 2230, 2242, 2260, or 2280 position. |
| Enclosure | No exposed pad, solder joint, standoff, SSD contact, or expansion pin can touch metal. |
| Power | Choose exactly one input. PoE and USB-C are never connected together. Test outside the final case first. |
Product Image Gallery+
Software Setup
Driver Requirement
Update Raspberry Pi OS
Keep the known-good microSD card installed, connect to the network, open Terminal, and run:
sudo apt update
sudo apt full-upgrade -y
sudo rebootEnable PCIe
Open the Raspberry Pi boot configuration:
sudo nano /boot/firmware/config.txtAdd this line at the end of the file:
dtparam=pciex1In nano, press Ctrl+O, press Enter to save, then press Ctrl+X. Reboot:
sudo rebootCheck Detection
Install the PCI utility once, then inspect both the PCIe controller and block device:
sudo apt install -y pciutils
lspci
ls -l /dev/nvme*
lsblk -o NAME,SIZE,MODEL,FSTYPE,MOUNTPOINTSSuccessful Detection Example
The exact controller name, capacity, and partition list depend on your SSD. Output similar to the following means the PCIe link and NVMe drive are being detected:
$ lspci
0000:01:00.0 Non-Volatile memory controller: Example NVMe SSD Controller
$ lsblk -o NAME,SIZE,MODEL,FSTYPE,MOUNTPOINTS
NAME SIZE MODEL FSTYPE MOUNTPOINTS
mmcblk0 59.5G
nvme0n1 238.5G Example NVMe SSDDo not format anything until the correct NVMe model and capacity are visible.
Choose Your Setup Goal
| Goal | Continue With |
|---|---|
| Additional storage | Open Option 1 below. The selected NVMe will be erased only when you run the format command. |
| Boot Raspberry Pi OS from NVMe | Open Option 2 below. Raspberry Pi Imager will erase the selected NVMe and write a bootable operating system. |
| Hardware check only | Stop after successful lspci and lsblk output. No formatting is required. |
Choose one path only. If you plan to boot from NVMe, do not follow the data-drive partition, formatting, mounting, or /etc/fstab steps. If you are not sure yet, stop after the detection checks and do not erase the SSD.
Option 1Use NVMe as Additional Storage+
Step 1: Find the NVMe Device
lsblk -o NAME,SIZE,MODEL,FSTYPE,MOUNTPOINTSThe examples below use /dev/nvme0n1. Replace it only if your verified NVMe device has a different name.
Step 2: Create a Partition
sudo fdisk /dev/nvme0n1Inside fdisk, enter g to create a GPT partition table, n to create a partition, accept the default first and last sectors, then enter w to write changes. Enter q instead of w to leave without saving.
Step 3: Format as ext4
Check lsblk again and confirm the new partition is nvme0n1p1 before formatting:
lsblk -o NAME,SIZE,MODEL,FSTYPE,MOUNTPOINTS
sudo mkfs.ext4 -L nvme-data /dev/nvme0n1p1Step 4: Mount the Drive
sudo mkdir -p /mnt/nvme
sudo mount /dev/nvme0n1p1 /mnt/nvme
sudo chown "$USER":"$USER" /mnt/nvme
df -h /mnt/nvmeStep 5: Allow User Writes
touch /mnt/nvme/iuniker-write-test
ls -l /mnt/nvme/iuniker-write-test
rm /mnt/nvme/iuniker-write-testOption 2Boot Raspberry Pi OS from NVMe+
First confirm that lspci and lsblk detect the NVMe while Raspberry Pi OS is running from microSD.
1. Run sudo raspi-config. Select Advanced Options, then Boot Order, then an option that includes NVMe. Menu wording can vary by Raspberry Pi OS version.
2. Open the EEPROM configuration with sudo rpi-eeprom-config --edit. Add PCIE_PROBE=1 on its own line without deleting the existing BOOT_ORDER, save, and reboot. Complete this before writing the NVMe because PNV001 is a non-HAT+ PCIe device and the NVMe-only boot test depends on this persistent EEPROM setting.
3. Install and open Raspberry Pi Imager:
sudo apt install -y rpi-imager
rpi-imager4. Choose a current 64-bit Raspberry Pi OS image and select the verified NVMe SSD as the target.
5. After writing completes, run sudo poweroff, wait for activity to stop, disconnect PoE, and remove the microSD card.
6. Reconnect PoE+ and boot. After login, run lsblk and confirm / and /boot/firmware are mounted from nvme0n1 partitions.
AdvancedOptional Setup and Tuning+
Update EEPROM Firmware
Raspberry Pi OS normally manages EEPROM updates. Check this when preparing NVMe boot or when the SSD is detected but will not boot:
sudo rpi-eeprom-updateIf the output says UPDATE AVAILABLE, schedule the packaged update and reboot:
sudo rpi-eeprom-update -a
sudo rebootConfirm the installed bootloader version with vcgencmd bootloader_version. Do not download or flash an unrelated EEPROM image.
Automatic Mounting with UUID
Data drive only: use this only for the ext4 data-drive partition created in Option 1. Do not add this /mnt/nvme entry when the NVMe is your Raspberry Pi OS boot drive.
Use the filesystem UUID instead of /dev/nvme0n1p1 because device names can change:
sudo blkid /dev/nvme0n1p1
sudo nano /etc/fstabAdd one line, replacing YOUR-UUID with the exact value returned by blkid:
UUID=YOUR-UUID /mnt/nvme ext4 defaults,nofail 0 2Verify before rebooting:
sudo findmnt --verify
sudo mount -a
findmnt /mnt/nvmeDo not reboot until the verification and mount commands complete without an error.
Power Warning and USB Current Limit
If Raspberry Pi OS reports a power limitation, remove high-power USB and GPIO loads, confirm the PoE+ source and switch budget, try a shorter known-good Cat5e or better cable, and use a separately powered USB hub when needed. Contact iUniker support before changing any current-limit setting.
Optional PCIe Gen 3.0
dtparam=pciex1_gen=3If the SSD disappears, the system freezes, or I/O errors occur, remove that line and return to Gen 2.
Performance Test
This optional test writes and reads a 1 GiB temporary file. Confirm that /mnt/nvme is the NVMe mount point and has at least 2 GiB free:
findmnt /mnt/nvme
cd /mnt/nvme
pwd
sync
dd if=/dev/zero of=iuniker-nvme-test.bin bs=1M count=1024 conv=fsync status=progress
dd if=iuniker-nvme-test.bin of=/dev/null bs=1M iflag=direct status=progress
rm iuniker-nvme-test.binResults vary with SSD controller, capacity, temperature, filesystem, background tasks, and PCIe speed. Stability is more important than the largest benchmark number.
Troubleshooting
Select the symptom that best matches your setup.
No PoE Power or Power Warning+
Confirm that the switch or injector port explicitly supports IEEE 802.3at PoE+, provides 30 W, and has enough remaining total budget. A normal Ethernet port carries data only. For an injector, connect the router to Data In, Raspberry Pi 5 to PoE Out, and confirm the injector has AC power. Check the cable, port status, per-port setting, and four-pin PoE header alignment.
Reduce USB and GPIO loads and try a shorter known-good cable. Do not force the USB current limit on an undersized source.
Raspberry Pi Does Not Boot+
Disconnect PoE and USB-C. Remove the HAT and confirm Raspberry Pi 5 boots from the known-good microSD card. Reconnect the cooler, FPC cable, HAT headers, and SSD one item at a time, powering off between changes. Never hot-plug the HAT, FPC cable, or SSD.
Test outside the enclosure first. In a metal case, use suitable insulation and prevent every PCB pad, solder joint, standoff, SSD contact, and expansion pin from touching metal.
NVMe Is Not Detected+
If lspci shows no NVMe controller, power off and check both FPC ends, cable direction, closed latches, dtparam=pciex1, and default PCIe Gen 2.
If lspci detects a controller but lsblk shows no nvme0n1, reseat the SSD, confirm M-Key NVMe rather than SATA, update Raspberry Pi OS and EEPROM, and test another known-good lower-power NVMe SSD. If PoE works but NVMe is missing, focus on the PCIe path before changing PoE equipment.
SSD Detected but Not Ready+
If lsblk shows the SSD but the file manager does not, the hardware is working. A new blank SSD usually needs a partition and filesystem. Open Use NVMe as Additional Storage above and verify the SSD model and capacity before formatting.
If the system will not boot after editing fstab, boot from microSD or recovery media, correct or comment out the new line, use the filesystem UUID with nofail, and run sudo findmnt --verify before rebooting.
NVMe Boot Failure+
Boot from microSD and confirm the NVMe contains Raspberry Pi OS boot and root partitions. Select a boot order that includes NVMe, confirm PCIE_PROBE=1 in the EEPROM configuration, update EEPROM, use PCIe Gen 2, and remove the microSD card for the NVMe-only test.
Slow Speed, Disconnects, or I/O Errors+
Confirm that the test is actually running on NVMe with findmnt and pwd. Return to PCIe Gen 2, reduce USB and GPIO load, check PoE+ power and cable quality, inspect SSD cooling, and test another known-good lower-power SSD.
Inspect recent kernel messages after a disconnect or I/O error:
sudo dmesg -T | grep -Ei 'nvme|pcie|aer|i/o error|timeout'Repeated timeout, reset, AER, or I/O error messages can indicate an unstable PCIe link, insufficient power, excessive SSD temperature, or SSD compatibility problem. High-performance Gen4 SSDs may draw more power or run hotter even when using a slower PCIe link.
What to Send Support+
Include the PNV001 product name and PCB revision, Raspberry Pi 5 memory version, Raspberry Pi OS version, NVMe brand/model/capacity, PoE switch or injector model, a clear photo of the FPC and headers, and the output of uname -a, lspci, lsblk -o NAME,SIZE,MODEL,FSTYPE,MOUNTPOINTS, vcgencmd get_throttled, vcgencmd bootloader_version, and sudo dmesg -T | grep -Ei 'nvme|pcie|aer|i/o error|timeout'.
Downloads
PNV001 Quick Start Guide
Two-page setup reference for parts, connector alignment, PoE wiring, microSD preparation, PCIe enablement, and first detection.
Download PDFPNV001 User Manual
Complete printable guide covering safety, PoE wiring, hardware installation, Raspberry Pi OS setup, NVMe storage and boot, and troubleshooting.
Download PDFRaspberry Pi Imager
Official Tool
Download the official Raspberry Pi imaging tool for Windows, macOS, Linux, or Raspberry Pi OS.
Open Official SiteQ&A
QDo I need a PoE switch or injector?+
Yes. Use an IEEE 802.3at PoE+ switch or injector with a 30 W port for the supported Raspberry Pi 5 and NVMe setup.
QWill an ordinary Ethernet switch power the Raspberry Pi?+
No. A non-PoE Ethernet port provides network data only. The port must explicitly support PoE or PoE+.
QCan I use an 802.3af PoE port?+
Do not rely on 802.3af for the setup documented here. Use an IEEE 802.3at PoE+ switch or injector with a 30 W port for the supported Raspberry Pi 5 and NVMe configuration.
QCan I connect USB-C power and PoE at the same time?+
No. PNV001 must use one power source at a time. Never connect USB-C power while PoE is connected.
QDoes it support M.2 SATA SSDs?+
No. It supports M-Key M.2 NVMe SSDs only.
QWhich SSD sizes are supported?+
M.2 2230, 2242, 2260, and 2280 NVMe SSDs are supported.
QDo I need to install a driver?+
No separate driver is normally required in a current Raspberry Pi OS. Enable PCIe with dtparam=pciex1 when required, then verify with lspci and lsblk.
QWhy is my SSD not detected?+
Check the FPC direction and latches, dtparam=pciex1, SSD seating, M-Key NVMe type, PoE+ power, PCIe Gen 2, firmware, and SSD compatibility.
More Questions (12)+
QShould I enable PCIe Gen 3?+
Not for initial setup. Raspberry Pi 5 is not certified for Gen 3. Prove the system stable at default Gen 2 first, and return to Gen 2 if any issue appears.
QCan I use the NVMe only as storage?+
Yes. Boot from microSD, confirm detection, then partition, format, and mount the verified NVMe device using the data-drive instructions.
QWhy does lsblk show the SSD but the file manager does not?+
The hardware is detected, but a new blank SSD usually has no partition or filesystem. Follow Use as a Data Drive and verify the SSD model and capacity before formatting it.
QWhy is my speed test similar to microSD?+
The test may be running on the microSD filesystem. Use findmnt and pwd to confirm the tested file is stored on NVMe before interpreting the result.
QWhat should I do if the NVMe disconnects or reports I/O errors?+
Return to PCIe Gen 2, check PoE+ power and cooling, reduce peripheral load, inspect dmesg for NVMe or PCIe errors, and test a known-good lower-power SSD if possible.
QWhat should I do if Raspberry Pi 5 stops booting after I install the HAT?+
Disconnect every power source, remove the HAT, and confirm the Pi still boots from microSD. Reconnect the cooler, FPC, HAT headers, and SSD one item at a time, powering off between changes.
QCan I use a high-performance Gen4 NVMe SSD?+
Some Gen4 SSDs can negotiate the Raspberry Pi PCIe link, but they may use more power or run hotter. Start at PCIe Gen 2 and use a known-good lower-power SSD when diagnosing instability.
QCan Raspberry Pi 5 boot from the NVMe?+
Yes. Confirm the drive first, write Raspberry Pi OS to it, select a boot order that includes NVMe in raspi-config, and set PCIE_PROBE=1 in the EEPROM configuration for this non-HAT+ PCIe board.
QWhy do I see a power limitation warning?+
Remove high-power USB and GPIO loads, confirm a 30 W IEEE 802.3at PoE+ source, check the switch power budget, and try a shorter known-good cable. Do not override the high USB current limit on PNV001; use a powered USB hub or contact support.
QWhat do the PWR and ACT indicators mean?+
PWR indicates board power. ACT indicates storage activity may be occurring. Behavior can vary during boot and with operating-system state.
QCan I use the exposed 3.3 V, 5 V, and 12 V pins immediately?+
No. Treat these pins as reserved and do not connect loads until iUniker publishes verified electrical limits for this hardware. They are not required for normal PoE or NVMe use.
QDoes it work with Raspberry Pi 4?+
No. This board and its 16-pin PCIe connection are designed for Raspberry Pi 5.
Discussion
Comments can be edited or deleted from the same browser for 15 minutes after posting. For help, contact iuniker@yeah.net.