Hackster is hosting Hackster Holidays, Ep. 6: Livestream & Giveaway Drawing. Watch previous episodes or stream live on Monday!Stream Hackster Holidays, Ep. 6 on Monday!

Mehdi's Raspberry Pi Compute Module 4 NAS Gets a Custom-Printed Case for Up to Four Drives

Completed project now includes an impressive four-bay 3D-printed case, cooling system, and performance measured at 110MiB/s.

Gareth Halfacree
4 years ago β€’ 3D Printing / Productivity

Maker Mehdi has now completed a low-cost yet surprisingly stylish built to turn a Raspberry Pi Compute Module 4 system-on-module (SOM) into a fully-functional network attached storage (NAS) appliance β€” with the addition of a custom 3D-printed chassis.

Mehdi showed off the NAS project, which is built around the Raspberry Pi Compute Module 4 released late last year, back in February when the first PCBs came back from the production house. "This Compute Module 4 carrier board design exposes a subset of the CM4's interfaces, including its single PCIe [Gen. 2] lane to accept an external SATA controller card," the maker wrote at the time. "The board was intentionally kept simple to limit mistakes as this is my first ever attempt at designing a PCB and I have no background in electronics, so all the power management is left to external power supplies and buck converters."

After testing the system's functionality, Mehdi finalised a design for a 3D-printed case that would accept the module, carrier board, SATA controller, and up to four 3.5in hard drives β€” and has now printed and proven that design, creating an all-in-one unit suitable for desktop use.

"It's been running for a bit more than a month now without any problems," Mehdi writes of the build. "Air is drawn from the sides, pulled to the bottom along one face of the drives then pushed across all components in the center column, also cooling the other faces of the drives. The case is a big print and it should take around 75 percent of a 1kg roll. I buy my filaments at a local source who sells the ABS roll at 15CAD (around $12) so the case cost me around 11.25CAD (around $9), not accounting for electricity. Took a total of 6 days to print."

"The [built-in status] screen is very small, more than I expected. I couldn't show a lot of info at once but here's what it can show for now: IP address, of course; CPU temperature and usage; RAM usage; Space usage on my RAID1 array; Ambient temperature (there's a sensor in there). Navigation is done with the two buttons. I thought of adding fan speed control through the two buttons but the fan turned out to be very silent at speeds that are still good enough for cooling the box."

The unit, with three hard drives installed, draws around 24W under full load and under 6W at idle. Mehdi has measured the performance of around 110MiB/s read and write, though with the occasional dip down to 15MiB/s for a second or two during sustained operation. "I know there's a lot of optimisations you can do in the OS and that's not even considering that I'm using my ISP's router and slow drives," Mehdi writes. "I'll keep tweaking it as I go but performance was never a priority for this project."

The design files, along with full details on the project, have been uploaded to Mehdi's GitHub repository under an unspecified license, for anyone looking to build their own. "To build the board," Mehdi notes, "you will need a soldering iron and a hot air gun (or a reflow oven). I would recommend starting with the Hirose high density connectors as they are without a doubt the hardest part."

Gareth Halfacree
Freelance journalist, technical author, hacker, tinkerer, erstwhile sysadmin. For hire: freelance@halfacree.co.uk.
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles