• sales

    +86-0755-88291180

PCIe-TO-M.2-Board-C User Guide

Overview

PCIe TO M.2 Board (C) for Raspberry Pi 5, compatible with 2230 / 2242 / 2260 / 2280 size M.2 solid state drive, supports Gen2 and Gen3 modes, supports booting PI5 from solid state drive (SSD), side-mounting solution, comes with acrylic mounting plate.

Features

  • Support NVMe protocol M.2 interface solid state drive protocol, high-speed write/read, higher working efficiency.
  • Support PCI-E×1 Gen2 or Gen3 mode.
  • Only support PI5B.
  • Compatible with 2230 / 2242 / 2260 / 2280 size M.2 solid state drive.
  • Onboard working indicator, light-up when powering on, and the ACT status indicator keeps blinking while writing/reading.

Note

  • As Raspberry Pi does not support booting from NVME by default, you need to modify it to realize it.

User Guide

Hardware Connection

Please pay attention to the wiring direction, as shown below:

Mount

1: Enable PCIE interface:

PCIE interface is not enabled on the Raspberry Pi 5 by default, you can add the following content to enable it at /boot/firmware/config.txt:
dtparam=pciex1

2: PCIE gen2 is the default setting, if you want to enable PCIE gen3, you need to add the following content at /boot/firmware/config.txt:

dtparam=pciex1_gen=3

3: Reboot PI5 after modification, and the device can be recognized.

In the picture below, the SM2263 is recognized as my SSD solid state, and the other PI5 one is the RPI chip.

4: Partitioning: If partitioning and formatting have already been performed on another platform, skip this step. Note: Partitioning and formatting will erase all data on the SSD, so please carefully perform this step.

lsblk  #see the disk (execute "sudo fdisk -l" for more details)

Partition 
sudo fdisk /dev/nvme0n1    #dev is the total device number, do not add "p1", it is just one partition 
How do use fdisk
n New partition
q Exit without saving
p Print partition table 
m Print selection menu  
d Delete partition  
w Save and exit
t Modify ID 
Add the partition and execute "n", and then press "w" to save and exit. 

5: Format.

sudo mkfs.  #Then, pressing Tab will display various file extensions. Each extension corresponds to a format you may want to format the drive into

If I need to format it in "ext4" format, execute:  
sudo mkfs.ext4 /dev/nvme0n1p1
Wait for a moment, when "done" appears for all, it means the formatting is complete.

6: Mount.

Create the mounting directory:
sudo mkdir toshiba
Mount the device
sudo mount /dev/nvme0n1p1 ./toshiba
Check disk status
df -h

Read/Write Test

Enter the directory to mount the disk.

cd toshiba
  • Release the caches.
sudo sh -c "sync && echo 3 > /proc/sys/vm/drop_caches"
  • Copy the Raspberry Pi memory to the hard flash driver (write).
sudo dd if=/dev/zero of=./test_write count=2000 bs=1024k
  • Copy the contents of the hard drive to the Raspberry Pi's memory. (/etc/fstab read).
 sudo dd if=./test_write of=/dev/null count=2000 bs=1024k
  • Note: Different cards and environments may significantly different affect Raspberry Pi's performance, so for accurate performance testing, it's recommended to use a PC.

Auto Mount

If there are no issues with the test and the disk is not needed as a system disk, only for expanding disk usage, set up automatic mounting.

sudo nano /etc/fstab

#Add the following content at the end:
/dev/nvme0n1p1  /home/pi/toshiba  ext4  defaults  0  0
#/dev/nvme0n1p1 device name, /home/pi/toshiba mount to the directory, ext4 is the file system type, defaults means using the default mounting options  
#Reboot to take effect (Please make sure there are no issues before rebooting, otherwise it can not be booted without mounting)  
sudo mount -a

#And then reboot
Check the device through lsblk 

NVMe SSD Booting

Start the Raspberry Pi using the SD card, mount, and test to ensure that the hardware is functioning properly.
We provide two methods for you, you can select one to operate:

Method 1

1: Execute:

sudo raspi-config

2: Reboot the Raspberry Pi:

If you find that you can't modify the file several times, please connect to the network and modify it again (wait for the network time synchronization), or set the correct time before modifying the file.

3: Flash the system into NVME, then connect the NVME to the expansion board, remove the SD card and re-power on.

Method 2

1: Start the Raspberry Pi using the SD card and modify the BOOT_ORDER in the Raspberry Pi's bootloader configuration.

sudo rpi-eeprom-config --edit 
Modify BOOT_ORDER=0xf41 as BOOT_ORDER=0xf416

For details, please refer to BOOT_ORDER 

2: Reboot the Raspberry Pi:

If you find that you can't modify the file several times, please connect to the network before modifying the file (wait for the network to time itself), or set the correct time before modifying the file.

3: Just program the system into NVME, then connect it to the expansion board, remove the SD card, and re-power it up.

Support

Monday-Friday (9:30-6:30) Saturday (9:30-5:30)

Email: services01@spotpear.com

TAG: Raspberry Pi RTC WatchDog Sipeed Lichee Tang Nano 9K FPGA MINI Development Board GW1NR-9 GOAI Gowin NVIDIA Raspberry Pi 24.5 inch Type C/HDMI 2K Display 24.5inch Screen 2560x1440 Computer PC Phone For Xbox/PS4/Switch SpotPear Raspberry Pi AI HAT+ Official Original Hailo-8/8L 13/26Tops For Pi5 PCIe M.2 Gen3 Orange Pi Zero 3 ESP32-S3 AI Camera 1.28inch LCD Dual MIC Development Board Display 1.28 inch Voice Interruption Object Recognition 10-in-1 Multifunctional Computer Desktop Monitor Display ESP32 S3 Jetson 64MP Camera E-Ink SpotPear Raspberry Pi 5 PCIe to M.2 Mini NVMe SSD Board (E) With Customized Active Cooler Together Raspberry Pi UGV Beast ROS2 PT AI OpenCV Robot Car MediaPipe ESP32 S3 Development Board 1.91 inch AMOLED Display Screen For Arduino LVGL With SD-Port/ QMI8658C 6-Axis Sensor Program ESP32-S3 GC9A01A DeepSeek XiaoZhi AI Chat Robot ESP32-S3 1.54 inch LCD N16R8 MUMA Development Board Display Screen Wifi Weather Station TimeClock Jetson Orin Nano/NX Super Developer IO Base Development Board Dual network RJ45 For Jetson Orin Nano/NX Module