WSAL28515 – PCIe TO ETH M.2 HAT+/en
Erscheinungsbild
Documentation notice: This technical documentation was independently rewritten from an archived supplier source. Check technical details and commands against the product version and manufacturer documentation before use.
Summary
The Waveshare PCIe TO ETH M.2 HAT+ adds a Gigabit Ethernet port and an NVMe M.2 slot (sizes 2230 to 2280) to the Raspberry Pi 5. The module uses PCIe Gen2 x1 only, supports booting from an NVMe SSD, and includes an INA219 power sensor for monitoring the 5 V supply.
Related products at JW Tech
Technical overview
- Compatible with Raspberry Pi 5B only; other Pi models are not supported.
- Supports M.2 NVMe drives in form factors 2230, 2242, 2260 and 2280.
- Only PCIe Gen2 x1 is supported; higher generations are unavailable.
- Two status LEDs: PWR stays lit when powered on, ACT blinks during read/write operations.
- Network indicator shows green for 1 Gbps operation and yellow for 100 Mbps operation.
- To detect the SSD, add dtparam=pciex1 to /boot/firmware/config.txt and reboot the Pi.
- Partition using fdisk on /dev/nvme0n1; format e.g. with mkfs.ext4 on /dev/nvme0n1p1.
- Auto-mount via an entry in /etc/fstab with ext4 filesystem and default options.
- For NVMe boot: run rpi-eeprom-config --edit, set NVME_CONTROLLER=1 and adjust BOOT_ORDER accordingly, then flash the system to the NVMe and remove the TF card.
- The onboard INA219 monitors the 5 V input voltage; the default I2C address is 0x40 and can be changed by resistors on the backside.
- I2C is enabled via dtparam=i2c_arm=on in config.txt or through raspi-config.
Commands and examples – verify before use:
dtparam=pciex1
sudo fdisk /dev/nvme0n1
sudo mkfs.ext4 /dev/nvme0n1p1
sudo mount /dev/nvme0n1p1 ./toshiba
sudo mount -a
sudo rpi-eeprom-config --edit
NVME_CONTROLLER=1
BOOT_ORDER=0xf416
ping baidu.com -I eth1
dtparam=i2c_arm=on
Notes and version constraints
- Raspberry Pi OS does not support NVMe boot by default; the bootloader must be modified.
- Partitioning deletes all data on the SSD – back up first.
- Exact INA219 voltage/current values depend on the installed SSD and must be measured practically.
- When using an OS other than the official Raspberry Pi OS, the network card may be missing unless the kernel is recompiled.
- Changing the I2C address requires soldering resistors on the backside – not suitable for all users.
- The exact BOOT_ORDER setting (0xf41 vs. 0xf416) should be double-checked before rebooting.
Source and revision record
- PCIe TO ETH M.2 HAT+ - Waveshare Wiki
- Source revision: 103667
- Captured: 2026-08-29T08:29:29+00:00
- SHA-256:
b816b4d8f82f2491997b99a8d82c71986cdf644dd130cc2194963de06eba8b65