For many years, I have relied on a single Western Digital My Cloud device equipped with a 2TB hard drive as my primary backup solution for my home lab. While this setup has served its purpose to some extent, it presents several significant limitations that have increasingly become difficult to ignore. Chief among these issues is the complete lack of redundancy, meaning that if the drive fails, all data will be lost. Additionally, Western Digital’s proprietary software limits flexibility and prevents me from running additional software and monitoring. Over time, it has become clear that this is not a sustainable solution.
Recognizing the need for a more robust and adaptable backup solution, I began researching alternative approaches and evaluating a range of options. During this process, I came across an impressive project by Michael Klements, which uses a Raspberry Pi with 3D-printed components and various off-the-shelf hardware to build a custom 4-bay NAS. This unlocks customization, scalability, and control that far exceeds the limitations of the My Cloud system. You can read the full original build here: Building a 4-Bay 3.5″ NAS. This design addressed nearly all of my requirements, providing the redundancy, flexibility, and expandability I was looking for—though there are some design tweaks I wanted to make.
The project uses the Radxa Penta SATA HAT with five SATA ports (four full ports + one e-SATA), the original enclosure only supports four drives from the four full ports. I widened the chassis and added a fifth bay to allow all five ports to be used.
Adding the fifth drive requires using the eSATA port, which would have meant an external cable poking out the rear. To avoid this, I rotated the Raspberry Pi inside the enclosure, at the cost of losing direct access to the Pi's USB and ethernet ports.
Since it being a NAS, the only ports I really need are power and ethernet, so I opted for using a panel-mounted Cat5e extension. This also allows me to add a 2.5Gbps USB ethernet adapter inside the chassis, should I ever need it.
The larger chassis made it possible to upgrade from a 80mm fan to a full 120mm fan, reducing noise while improving airflow. Not to mention that the standard for PC fans is 120mm, therefore, finding a high-quality 120mm one is going to be much easier than finding a 80mm one.
I also decided to redesign the rear panel and make it a removable part. This avoids reprinting the entire rear of the chassis if I want to add more ports or if I simply want to access the internals. It adds a few more brass inserts and screws but greatly improves flexibility.
I also had a concern about the original build, which connected the fan directly to the 12V on the Molex connector. This would mean the fan always runs at full throttle, which will be noisy, as well as reduce the lifespan of the fan. The plan is to control the fan from the Pi; the Radxa hat has a PWM pin that I should be able to use. Until I figure out how to use the PWM pin properly, I ordered a PWM controller with a temperature probe to control the fan speed.
After making all the modifications, I realized the fan is blocking the 5.5mm DC port. To avoid making any more changes to the design, I simply opted to feed power in via the Molex connector instead. Since I am still going to be using the DC extension cable as the original design, it doesn't really add any complexity.
I also noticed that the original bracket that holds the SATA connectors sat directly in line with the opening between the hard drives; this will restrict airflow when using thicker drives. The brackets were moved to the other side of the sata connector, directly behind the hard drive, to create a straight path for better airflow.
On the original design, the brass inserts and screws on the original had to be assembled in a specific order with long tools, something I wasn't particularly fond of. I made the SATA bracket modular so that everything is restricted in place when screwed into the chassis, I also added pins behind the SATA connectors to help with orientation during assembly.
I used 10cm SATA cables instead of 30cm cables to reduce clutter and improve internal airflow.
The Pi boots from one of the new fancy Raspberry USB drives and is connected via a short USB extension cable for easy accessibility.
For a cleaner look, I removed the front “Raspberry Pi 5” and side “Pi NAS” branding.
Overall, the NAS was upgraded to five bays with several quality-of-life improvements and minimal additional hardware. The biggest drawback is slightly higher filament usage, which is about 1.25kg, meaning multiple spools are needed whereas the original required less than 1kg. There are some optimizations that could reduce it to a single spool again, but I am happy with the current state.
These values might not be exact, it is what the slicer provided for the various files to be printed in PETG using the '0.2mm structural' setting on my Prusa Core One with high-flow 0.4mm nozzle.
| Part | Filament | Print time |
|---|---|---|
| Sata holder assembly | 50.6g | 2h40m |
| Drive tray set (each) | 77g | 3h07m |
| Rear body | 226.6g | 10h27m |
| Front body | 690g | 1d7h36m |
| Rear panel | 55g | 2h15m |
| Fan cover | 27g | 1h51m |
I have done all the 3D file modifications and ordered all the parts, now I am just waiting for all of it to arrive and slowly printing the parts to build three units (more on that later). This post will be kept up to date updated as and when work continues on the project.