Home NAS System

The home NAS system is built on the Quectel Pi H1 smart single-board computer, provides high-speed storage via SSD solid state drives, enables file sharing through the Samba service, supports multiple access methods, and delivers a convenient privatized deployment solution for home users.

Development Resources Summary

Development Accessories List

Accessory Name Quantity Specifications
Quectel Pi H1 Smart Single-Board Computer 1 Quectel Pi H1 Smart Single-Board Computer
USB-C Power Supply 1 27W USB Type-C Interface Charger 1.2m Cable Length Standard Power PD Power Supply Suitable for Raspberry Pi 5
USB-C DP Cable / HDMI Cable 1 Spec: DP 1.4; Length: 1m; USB-C (male) to USB-C (male)
Spec: HDMI 2.0 ; Length: 1m; HDMI-A (male) to HDMI-D (male)
Ethernet Cable 1 Length: 1m; Transmission Rate: Gigabit
SSD Solid State Drive 1 Official Raspberry Pi SSD Kit, inlcuding 256 GB high-speed solid state driver, Raspberry Pi M.2 HAT + complies with PCIe Gen3 suitable for Raspberry Pi 5
CPU Cooling Fan 1 Raspberry Pi 5 Official Active Cooler with Heatsink and Thermal Pad
Display Screen 1 24-inch HDMI Monitor

Physical Reference of Accessories

image-20251020151024905

Get Started Quickly

Development Preparation

The Quectel Pi H1 comes pre-installed with Debian 13 system image, so no re-flashing is required. Just follow the steps below.

Hardware Connection

Install Cooling Fan

Plug the fan cable into the FAN header on the Quectel Pi H1, then secure the heatsink clips into the mounting holes as shown:

Install SSD

First, install the three nylon standoffs and secure their bases with three short screws. Then install the GPIO adapter and press down firmly to ensure all pins are fully seated. Next, insert the PCIe adapter cable fully and evenly into the PCIe port on the Quectel Pi H1, and push down the PCIe connector brackets from both sides to lock the cable firmly in place.

  • Front view after installation:
image-20251017154640006
  • Back view:
image-20251017174920100
  • Side view:
image-20251017155047092

Finally, place the M.2 HAT+ on top of the nylon standoffs and use 3 long screws to secure the M.2 HAT+ in place.

image-20251017170504185

Display Connection

Connect one end of the HDMI cable to the HDMI port of Quectel Pi H1 and the other end to the HDMI port of the monitor.

image-20251017144027933

Input Device Connection

Connect the USB keyboard and mouse to the two USB-A ports on the Quectel Pi H1. If using a wireless input device, just plug the receiver into the USB port.

image-20251017144124363

Network Connection

Connect one end of the Ethernet cable to the Gigabit Ethernet port of Quectel Pi H1, and the other end to the Ethernet port of the router (ensure the router is already connected to the network).

Jumper Cap Connection:

Locate the pin header labeled AUTO_POWER_ON at the upper left corner of Quectel Pi H1, and ensure it is shorted with a jumper cap.

image-20251017144330473

Power Connection

Connect the USB-A end of the USB-A power cable to the power supply, and connect the USB-C end to the power port of Quectel Pi H1 (usually labeled POWER IN).

image-20251017172353513

Connection Complete Reference

image-20251017171408602

Project Implementation

Update Software Sources

sudo apt-get update

Install Samba

sudo apt-get install samba

Create Mount Folder

sudo mkdir /mnt/resource

Set Permissions for Mount Folder

sudo chown -R username: /mnt/resource/

Check Disk Info

  • 1.Check the device corresponding to each partition
awk 'NR > 2 {printf "%-10s %s\n", $4, $3 / 1024 / 1024 " GB"}' /proc/partitions
image-20251016202247363
  • 2.Check the filesystem type of the storage device to be mounted (Note: The Quectel Pi H1 uses ext4 for mounting by default. If the filesystem type of the external storage device does not match, the storage device needs to be reformatted.)
sudo blkid
image-20251016200134877
  • 3.Check current mounts (If there is an existing mount point under /mnt/resource, you need to unmount it first)
df -h
image-20251016172803110
  • 4.Check the UUID of the corresponding partition, as well as the user's uid and gid
ls -lha /dev/disk/by-uuid
id username

image-20251016200316142

Modify Configuration File

Here we use a 256GB solid state drive as the NAS server, so we select nvme0n1 as the extended partition to mount and modify the fstab file.

sudo apt install vim
sudo vim /etc/fstab

Press ESC+"i" to add the following statement to the end of the file. After adding it, press ESC+"Shift + :", then type wq and press Enter to save and exit.

#Use ext4 as the file system, referring to the partition file type queried in the previous step.
#Add the nofail option. The nofail option allows normal booting even if the device does not exist.
UUID=The UUID queried in the previous step /mnt/resource ext4 defaults,nofail 0 0

image-20251016201525703

Mount the Device

sudo mount /mnt/resource
df -h

image-20251016201719605

Configure Samba User

sudo smbpasswd -a username

Note: Enter the current username and password. Please note that the user here must be an existing Linux user.

Edit Samba Config

Enter the following command to open the configuration file

sudo vim /etc/samba/smb.conf

Add the following statements at the end of the file (the content in brackets is the disk name displayed externally).

[resource]
    comment = Resource
    create mask =0777
    directory mask = 0777
    path = /mnt/resource
    valid users = pi
    read only = no
    vfs objects = catia fruit streams_xattr

Check Configuration

sudo testparm -s
image-20251016144346485

Restart Samba

sudo systemctl restart smbd
sudo systemctl enable smbd

Test Samba Service

  • To test if a mounted folder has the necessary permissions, enter the following command. If the test file appears, it means you can perform operations on that folder.
sudo -u username touch /mnt/resource/test_from_kane.txt

img

  • Test the Samba share connectivity in Windows CMD. If the customized resource folder is displayed, it proves that the NAS server has been successfully set up.
net view \\[NAS_IP]
img

Connect to the NAS Server

Windows File Explorer (Easiest)

  • Enter the following commands in sequence in the console of the Quectel Pi H1 to grant the user the highest privileges for operation.
cd /mnt
sudo chmod 777 resource/
  • Next, enter the ip address command in the console to query the IP address of Quectel Pi H1.

  • Open Windows File Explorer, enter"\\the IP address of Quectel Pi H1"in the search box, and press Enter to view the two shared folders.

image-20251018113304151
  • After opening the resource folder in Windows File Explorer, users can directly add, delete, and modify files within the mounted folder.

img

SCP Commands

  • Upload files from Windows to NAS server.
scp "local_file_path" Quectel Pi H1 username@nas_ip:/mnt/resource/
  • Upload an entire folder to the NAS server from Windows.
scp -r "local_folder_path" Quectel Pi H1 username@nas_ip:/mnt/resource/

CasaOS

CasaOS is an open-source home storage solution built on the Docker ecosystem, designed specifically for home users to deliver simple, easy-to-use, and elegant personal storage services. It allows users to quickly build and manage various home entertainment and smart applications, such as media servers, file storage services, and ad blockers, through a user-friendly graphical interface.

  • Update Source
sudo apt update
  • Install Docker
sudo apt install docker.io
  • Start the Docker Service
sudo systemctl start docker
sudo systemctl enable docker
  • Check Docker Service Status
sudo systemctl status docker

After successful startup, the following is shown:

img
  • Install the Full Version of wget
sudo apt install wget -y

When the following option box appears, just press Enter.

img

  • Install CasaOS
sudo apt install curl
curl -fsSL https://get.casaos.io | sudo bash

After successful installation, copy the URL in the red box and open it in the browser.

img

After creating an account, log in and click Files. After finding the folder mounted on the NAS server in the Root directory, you can directly upload, delete, modify, etc in the folder.

img img

Application Demo