Pi NAS

by Arnov Sharma in Circuits > Raspberry Pi

49 Views, 1 Favorites, 0 Comments

Pi NAS

18.gif
21.gif
19.gif
20.gif
Image4d.jpg

Meet Pi NAS, a DIY portable NAS built using the Raspberry Pi 5 paired with the Waveshare PCIe-to-4-Channel NVMe board.

This compact setup is small enough to fit almost anywhere and portable enough to carry around with ease. We’re running Debian as the main OS on the Pi 5, and for the NAS features, we’ve installed CasaOS on top of Debian. With CasaOS, all the files stored on the NVMe drives can be accessed from any device on the local network through a clean and user-friendly interface.

Thanks to Waveshare’s PCIe 4-channel NVMe board, the Pi can support up to four NVMe SSDs.

For now, we’ve added a 500GB NVMe SSD that holds all the images and video clips used while preparing our articles. This makes our workflow much smoother; we can pull media files from the NAS onto any device instantly.

This setup can be expanded for many other uses as well: a local movie server, a music library, a ROMs hub, or a dedicated storage node for specific tasks. And since it’s powered by a Raspberry Pi, the overall cost is far lower than a traditional NAS. That makes it perfect for lightweight, dedicated storage needs without relying on a bulky, expensive full-size NAS system.

This Instructable covers the whole build process of this Pi NAS, so let's begin with the build.

Supplies

Below were the materials we used in this project:

  1. Raspberry Pi 5 - 4GB Variant
  2. Waveshare's 4 CH NVME board
  3. ICE Cooler
  4. M2 screws
  5. 3D-printed Parts
  6. M.2 SSD Gen3 500gb (using Crucial SSD Here, which is no longer being made thanks to AI)

RASPBERRY PI

PI_5_TOP SC1111-SC1112.png

For this NAS project, I’m using the Raspberry Pi 5 4GB RAM variant. This model offers enough memory for smooth file handling, background services, and running CasaOS without any performance issues.

The Pi 5 unit I’m using does not include onboard eMMC, so the operating system is installed directly on the NVMe SSD, taking advantage of the Pi’s PCIe interface for faster boot times and overall responsiveness.

For the OS, I’ve installed Debian 12, which provides a stable and lightweight base for running CasaOS and managing network storage tasks. Combined with NVMe storage, the system feels noticeably quicker compared to a traditional microSD setup.

ICE COOLER FOR RASPBERRY PI 5

01.gif
02.gif
03.gif
04.gif
05.gif
ice-tower-fan-for-pi5-1.jpg
ice-tower-fan-for-pi5-3.jpg

The ICE Cooler is an active cooling solution designed to keep the Pi 5’s powerful new hardware running at safe temperatures. It combines a metal heatsink with a small, high-speed fan that pulls heat away from the CPU, GPU, and memory chips. Compared to regular heatsinks or passive cooling, the ICE Cooler provides much better thermal performance, especially during tasks that put the Pi under heavy load—like running NVMe storage, hosting a NAS, or performing continuous file transfers.

The ICE Cooler kit includes everything needed to properly cool the Raspberry Pi 5. Inside the box, you get a heatsink unit, a 40 mm × 40 mm RGB fan, M2.5 PCB standoffs, retaining metal brackets, silicone thermal pads, and a set of bolts for mounting.

We followed the included instructions to assemble the heatsink and mount it onto the Raspberry Pi 5 using the metal retaining brackets. The RGB fan connects directly to the Pi’s built-in fan header, making installation simple and clean.

With the ICE Cooler installed, the Raspberry Pi 5 can now run at higher performance levels without worrying about overheating. The cooler efficiently pulls heat away from the CPU, helping prevent throttling during heavy workloads like file transfers or NAS operations.

The fan also features built-in RGB LEDs on its PCB. Since the fan housing is made from transparent material, the entire fan lights up when spinning. This adds a subtle gamer-style aesthetic to the build, making the NAS look more visually appealing while staying functional.

PCIE TO 4-CH NVME BOARD FOR RASPBERRY PI

06.gif
07.gif
08.gif
09.gif
pcie-to-4-ch-nvme-board-b-2.jpg
pcie-to-4-ch-nvme-board-b-3.jpg

In order to turn our Raspberry Pi 5 into a proper NAS, we needed a HAT that could utilize the Pi’s PCIe expansion interface and allow us to add NVMe storage.

The official Raspberry Pi M.2 HAT does provide an M-Key slot for connecting a single NVMe SSD, but for a NAS setup, one drive simply isn’t enough.

We wanted multiple SSDs for better capacity, flexibility, and future expansion. That’s why we went with the Waveshare PCIe to 4-Channel NVMe Board, a much more capable adapter designed specifically for the Raspberry Pi 5.

This board connects directly to the Pi’s 16-pin PCIe port and supports up to four M.2 NVMe SSDs in 2230, 2242, 2260, and 2280 sizes, all running in PCIe Gen2 ×1 mode.

One of the biggest advantages of this board is that it also supports NVMe booting, allowing the Pi 5 to start its operating system directly from an NVMe SSD instead of a microSD card, giving a huge boost in speed and reliability.

The board includes helpful onboard LEDs that show power status and drive activity, and it can even supply power back to the Raspberry Pi 5 itself, reducing cable clutter.

With these features combined—multi-drive support, NVMe boot capability, broad SSD size compatibility, and clean power handling—the Waveshare 4-Channel NVMe adapter becomes the perfect backbone for building a powerful yet compact and affordable Raspberry Pi NAS.

Check out its wiki page for more in-depth info from the below link.

https://www.waveshare.com/wiki/PCIE_TO_4-CH_NVME_Board_(B)

CASA OS

18.gif

To power Pi NAS, I chose Debian 12 as the base operating system, layered with CasaOS, a lightweight and intuitive platform designed for personal cloud and home server environments. CasaOS simplifies NAS management by offering a clean web-based interface and one-click installation for popular Docker apps like Plex, Jellyfin, and Nextcloud.

It’s open-source, easy to set up, and ideal for users who want powerful functionality without the complexity of traditional NAS systems. With support for shared folders, remote access, and elegant file management, CasaOS turns any Linux-based device into a versatile and user-friendly storage hub.

SETTING UP CASA OS

Installing CASA OS is a super straightforward process.

  1. To begin, we run the following command to update the system and ensure that our operating system is up-to-date.
sudo apt update && sudo apt upgrade -y
  1. Next, we install dependencies such as curl and other required tools if they are not already present.
sudo apt install curl wget -y
  1. Next, we begin the installation script: CasaOS has a simple one-liner script for installation.
curl -fsSL https://get.casaos.io | sudo bash

After installing CasaOS, we are able to access it using a web browser using the IP address provided by the installer.

  1. We open a web browser on any device connected to the same network as our Debian server, using the IP address provided by the installation.
  2. We follow the instructions displayed on the screen to finish the initial setup and create our CasaOS account.

By following the above steps, CasaOS is installed on our Pi NAS system; we can now use the App Store to explore and install a range of self-hosted applications with a single click, manage our files with simplicity using the file browser, and monitor our system resources with the built-in widgets.

3D MODEL

Screenshot 2026-01-09 095227.jpg
IMG_E3404.JPG
Screenshot 2026-01-09 094948.jpg
Screenshot 2026-01-09 095109.jpg
Screenshot 2026-01-09 095123.jpg
Screenshot 2026-01-09 095146.jpg
Screenshot 2026-01-09 095200.jpg
Screenshot 2026-01-09 095213.jpg

We begin the project by putting together its model in Fusion 360. The first thing we did was import the 3D models of the Raspberry Pi 5, the ICE Cooler, and the Waveshare NVMe board. We already had the Raspberry Pi 5 3D model, so that part was simple. The ICE Cooler 3D model was available on GrabCAD, so we downloaded it from there.

However, the NVMe board’s 3D CAD model was not available, which made things tricky. With the help of a vernier caliper and some patience, we manually created the 3D model of the Waveshare board.

We placed the ICE Cooler onto the Raspberry Pi and then combined both with the NVMe board. Around these components, we designed an enclosure. This enclosure serves two main purposes: first, it acts as a stand that keeps the components at a 90-degree angle; second, it includes a funnel or duct-like part in front of the ICE Cooler fan.

This duct directs airflow; air is sucked in through the front and guided out through the heatsink side.

We also modeled two holder parts attached at the bottom. These holders act as lifting parts that keep the entire enclosure slightly above the ground, similar to rubber legs on devices.

The enclosure and holder 3D mesh files were exported. The enclosure was printed using Orange Hyper PLA, while the holders were printed with Black Hyper PLA.

NAS BODY ASSEMBLY

11.gif
12.gif
13.gif
14.gif
15.gif
  1. For the body assembly process, we begin by attaching both holder parts on the bottom side of the enclosure using M2 screws, two for each part.
  2. Next, we align the mounting holes of the NVMe board with the mounting holes of the enclosure and then use two M2 screws to secure both of them together.

Doing this completes the assembly process, and our Pi NAS is now ready.

RESULT

16.gif
18.gif
19.gif
20.gif
Image3.jpg
Image2.jpg

To begin using the NAS, we connected a keyboard and mouse to the Raspberry Pi 5 and powered the NVMe board using a 12V 4A adapter, along with a monitor for initial setup. After booting into the Debian environment, the system became fully operational. In reality, once everything is configured, you don’t even need a keyboard, mouse, or display—simply powering the system on is enough. CasaOS starts automatically in the background, and using our login credentials, we can access the NAS from any device on the local network.

Once connected, we were able to access all the data stored on the NVMe SSD, including photos, videos, important work documents, and even a collection of old retro game ROMs I’ve gathered over the years.

The main idea behind this NAS setup was to create a central storage system that allows me to easily access old project files without searching through scattered drives.

For this proof of concept, I’m using a 500GB NVMe SSD, but I’ve already ordered a 1TB SSD, which I’ll be installing as soon as the project grows. I don’t have a lot of storage right now, but I’m slowly expanding the hardware.

The best part of this build is how it solves a major inconvenience I had before. My project files, videos, and media were stored on a separate external SSD, and whenever I needed something, I had to plug it in manually, search for the file, and transfer it. With Pi NAS, the entire process is now seamless; everything is available on the network, instantly accessible from any device, without plugging or unplugging anything.

Please let me know if you require any additional assistance; all the documents, files, and installation details about CASA OS are included in the article.

Special thanks to Waveshare for providing hardware used in this project!

Thanks for reaching this far, and I will be back with a new project pretty soon.

Peace.