A Raspberry Pi NAS That Really Look Like a NAS

115,833

727

45

About: University student in Hong Kong, the only developer of IMUS Project. I love making something no one has thought of. If you like making things that seems not possible, send me a message to share your ideas wi...

Why a Raspberry Pi NAS

Well, I have been searching for a beautiful yet space saving Raspberry Pi NAS from the internet and I found nothing. I did find some NAS design with a Raspberry Pi get glued to a wooden based but that is not what I want. I want a real NAS. Those looks like professional and durable that can be used to store my massive amount of movie collections. So I decided to build myself a NAS from the ground up. Yes, you heard that. FROM THE GROUND UP.


In this project, I will not use any existing parts that is specially design for Raspberry Pi NAS. Instead, I will be using some common parts you can easily found on Amazon or ebay. So, lets get started!

By the way, that is my initial design sketch up there.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: 3D Modeling and Printing

After I have designed my NAS case in Autodesk Inventor, I test fit them to see if every joint is correctly designed.

Let me explains how the parts works. This case is divided into three parts. The left section is for the power management board and Raspberry Pi 3B+. You can use a Pi 3/ 2B+ as well as their footprint is the same. But you would want to use the Pi3B+ as it is faster. I will explain the detail later.

The right section of the case is design to hold two 5inch hard disk how swap mount (See picture 4). And the extra space at the back is for a 7 cm fan, a DC jack and the cabling.

Step 2: 3D Models Download (Case)

The 3D models can be downloaded here. License under:

Attribution-ShareAlike

CC BY-SA

Step 3: Printing and Assembling

After the prints has finished, we can start building the case.

The case is made up of three parts as mentioned before, you can attach them together with some M3x5 screws and M3x10 (for the top and bottom screw holes). Afterward, inserting the button caps into the holes and you will be ready for the electronic parts.

Step 4: Buttons and Signal LEDs

Actually the buttons and LEDs are some simple circuit that attach the signal from the Pi's GPIO to the front panel. There is nothing much special here except the button is a bit tricky. I would recommend you to do some test print before fitting the PCB inside the case with glues. That can make sure the quality of the buttons are good and clickable. In my design, as the RED LED require 5V, so I added a resistor on it and planned to directly connect the LED VCC pin to the power management board's 5V output. You can use the Raspberry Pi's 3.3V GPIO pin as well without the need for the extra resistor.

Step 5: Test Fitting

After receiving the hot plug bay from ebay, I placed two 2mm acrylic plate on the bottom and top of the right case. This is used to strengthen the support for the two HDD bay as HDD are kind of heavy after inserting into the bay.

Afterward, I used an old USB hard disk drive which, usually contain some kind of SATA to USB converter circuit board. For the one I bought, it come with a pre-soildered 12V input port that can support 12V power input for a 3.5 inch HDD. I attached them to the end of the two HDD hot plug bay and attached two cable to the end of it. One of the cable is a 2.1mm DC jack for the 12V input and the other one is a micro USB male cable for data and 5V. Both of them are special ordered so they bend in a direction towards the bottom and preserve space.

The finished product should look something like the picture 5.

Step 6: Tape and Glue

Now, we need to tape and glue the HDD hot plug bay into the case. First, I would recommend sticking a double sided tape on the metal bracket of the bay. After the bay is inserted and secured, put some superglue on the contact between the Acrylic plate and the metal bracket. But REMEMBER TO REMOVE THE PAPER ON THE ACRYLIC PLATE. I have forgotten to do so for the first time and I have a bad time moving everything out and do the same process again.

After finishing this process, you would not see two slot stick out of the right case and you can open then and close them via the handle build onto the hot plug bay.

Step 7: Test Fit

Now, stick your hard disk into the bay, and it should fit perfectly. (If not, you should ask for a refund from your seller of the hot plug bay xD)

You might notice that there are two rounded slot at the top back section of the right case. Those are for the USB cables. You can now stick the cables out and make it looks more tidy before start working on the electronics.

Step 8: Power Management Board

Here comes the power management board.

In the middle is a Tinduino. It is a self developed Arduino for low cost deploy and development from our Lab. Of course you can use an Arduino UNO for this and control the relay on off when there is a button press.

There are plenty of tutorials online which teach you how to make a board like this, for example:

https://www.instructables.com/id/Toggle-Switch-Wit...

It is basically a latch switch so you can do it in whatever style you want.

On the right is a buck converter. It steps down the voltage from 12V to 5V for the Pi and the Arduino.

And lastly, the bottom 3 port, from left to right is 12V power in, 12V power out for HDD1, 12V power out for HDD2

Step 9: Fixing Everything Together

Now, attach the power management board with the raspberry pi as shown in the picture above.

Plugin the 12V power input and everything should lights up (If not, maybe you can short the button and activate the Arduino Relay Toggle System)

Step 10: Close the Case and You Are Done!

Now, screw in all the screws, plug in the power cable and you are ready to go?

Not yet. We still need the software. But here is what the finishing hardware looks like.

As the software is still in development, I would recommend installing some open source OS / NAS system like the FreeNAS or open media vault. But I won't do that as I have planned to build my NAS from the ground up.

So what would I do next? Write my own NAS operating system!

Step 11: Install OS and Start Creating Your Own NAS Interface

Install the Raspbian Lite from the Raspberry pi website.

https://www.raspberrypi.org/downloads/raspbian/

and install it on your SD card. I think there are plenty of tutorial online so I don't duplicate those parts in this instructable.

Step 12: Move On? ArOZ Online System!

You might remember my post two years ago which is a Raspberry Pi media center system called

ArOZ Online (Alpha)

https://www.instructables.com/id/Simplest-Media-Ce...

Now, I have completely rewritten it into a brand new, DSM like Web UI called the ArOZ Online (Beta)

This system will works on both Window Host and Linux Host (of course Rasbian as well).

Step 13: Comming Soon!

Well, at least for now the system I wrote detects the 1TB drive I have inserted into the NAS.

So what next? The software still needs years of developments in order for it to run smoothly.

Currently, the max speed of transfer over 5G WiFi to HDD is around 100Mbps. Which is kind of OK for the fact that it is just a tiny little computer that is handing all your request. And it can reach around 93Mbps while transferring with Samba (Window SMB / Network Disk). This might be the advantage of using the Pi 3B+.

Please look forward to the update instructable to this project next year :))

Be the First to Share

    Recommendations

    • CNC Contest

      CNC Contest
    • Make it Move

      Make it Move
    • Teacher Contest

      Teacher Contest

    45 Discussions

    0
    None
    mfrontuto

    7 weeks ago

    very nice! can't wait for the finished OS. now that you have the design you should try to make this out of a sheet of aluminum. I would update for the Pi 4 though or add a board to give it usb 3.0

    5 replies
    0
    None
    tobychuimfrontuto

    Reply 4 weeks ago

    Hi, thanks for your comment. The OS is almost ready and after I can get my hands on a Pi 4, I will finish up the debug and testing process. (Raspberry Pi 4 is too hard to get at the moment, but I will see if I can get one soon :P ) Raspberry Pi 4 support will definitely be added soon, with its on board USB3.0 port and Gigabyte Ethernet, it is the best board to setup a Raspberry Pi NAS. I will also release a new instructable on this topic soon with improved casing and software. Please look forward to that :)))

    Feel free to contact me at https://www.facebook.com/ImusLaboratory/ and keep yourself updated on the customized Raspberry Pi NAS OS.

    0
    None
    mfrontutotobychui

    Reply 4 weeks ago

    Paitently awaiting on your updates. Have you considered maybe using a Banana Pro? it has sata, power and reset buttons and IR all on the baord.

    0
    None
    tobychuimfrontuto

    Reply 4 weeks ago

    I did consider of using Orange Pi instead of Raspberry or Banana (What a fruit basket xD) because of its faster CPU and ethernet port. In fact, the OS I am building can also be installed on boards that uses ARMv6l, v7 or ARM64 CPUs. If you got a Banana Pi and plenty of patients, feel free to contact us and join our on-going Beta testing :)

    0
    None
    pmillhomfrontuto

    Reply 7 weeks ago

    Might be easier to make it out of acrylic (Plexiglass) which can be purchased in sheets and laser cut (if you have access to a laser cutter). I was thinking something along these lines. Could be black, clear, transparent colors, basically any color you can find.

    What's your idea? Do you have a layout in mind?

    0
    None
    mfrontutopmillho

    Reply 7 weeks ago

    I do not have a laser cutter, but I would get my design like you on computer, and then lay it out on the plexiglass, you can then heat it up and bend it pretty easy. There are a few instructables on how to do it on here. As far as color, it might be cheaper to get the clear plexi and then scuff it up and paint it whatever you want. They even have glow in the dark colors or you can even add LED lights to it (if that is your thing, for my NAS simple and clean would be my choice though), but I do like the hole/grill look for the top for ventilation. I know that they are just hard drives, but I am a big fan (no pun intended) of cooling.

    0
    None
    pmillho

    7 weeks ago

    Cool build! I'm looking to do something similar. Surprised there are no commercial Raspberry Pi cases out there with room for drives.

    Couple questions:
    1. What is the largest dimension on your 3D print? That is to say, how big of a print area would one need to make the part with the largest footprint?
    2. What did you print the enclosure with - PLA? ABS? Something else?

    1 reply
    0
    None
    tobychuipmillho

    Reply 4 weeks ago

    Thanks for the wait. I was quite busy a while ago and doesn't have time to check the Instructable comments. To answer your questions:
    1. I don't kind of remember how big my printer's print bed was but I am quite sure it is a bit larger than a standard A4 paper but smaller than A3 with a rectangular shape instead of a square bed.
    2. I printed it in PLA. I don't think my choice back then is good enough because the screws loose easily due to the soft plastic. Building the case out of Acrylic / harder material would be recommended.

    0
    None
    daiku1

    7 weeks ago

    Will you upgrade your design for the Pi 4?

    1 reply
    0
    None
    tobychuidaiku1

    Reply 4 weeks ago

    Yes for sure, as soon as I can get my hand on one. :)

    0
    None
    daveleb55

    Question 8 months ago on Step 13

    What the heck is "NAS?" I read your instructable twice, and am no closer to understanding what exactly you're trying to do.

    2 answers
    0
    None
    Mr Wigsdaveleb55

    Answer 8 months ago

    Got it! Thanks Wikipedia!

    NAS = Network Attached Storage.

    RAID (see other comments) = Redundant Array of Independent Disks.

    0
    None
    wesleysuhlerMr Wigs

    Reply 8 months ago

    Lolz my search results yielded "National Academy of Sciences" and the rapper, "Nas". Thank you! :)

    0
    None
    n4mwd

    1 year ago

    What about RAID? I like the idea of a serviceable NAS, but data integrity is also important. Can the PI handle RAID?

    4 replies
    0
    None
    mechpanosn4mwd

    Reply 1 year ago

    Yes, it can but it will be a software RAID. Linux has that flexibility.
    You have to install mdadm package:

    # sudo apt-get update && sudo apt-get -qy install mdadm

    Then, supposing you have two usb drives mounted as sda1 and sdb1, the command to create a RAID array with those 2, is:

    # sudo mdadm --create --verbose /dev/md0 --level=mirror --raid-devices=2 /dev/sda1 /dev/sdb1

    This creates a device /md0 which is the RAID array, in RAID1 format.

    Then you format your device and mount it:

    # sudo mkdir -p /mnt/raid1
    # sudo mkfs.ext4 /dev/md0

    # sudo mount /dev/md0 /mnt/raid1/


    # ls -l /mnt/raid1/
    total 16
    drwx------ 2 root root 16384 Dec 3 16:40 lost+found

    Then you edit your fstab file to mount the drive on boot.
    #sudo nano /etc/fstab
    and add the line:
    /dev/md0 /mnt/raid1/ ext4 defaults,noatime 0 1

    Save and exit with ctrl+x

    Update the mdadm.conf configuration file:
    sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

    and reboot, RAID should be set and ready to go!

    With info from

    https://blog.alexellis.io/hardened-raspberry-pi-nas/#30theraidarray

    0
    None
    n4mwdmechpanos

    Reply 1 year ago

    Thanks for the detailed instructions on how to set up a Pi Raid. One question, if you don't mind, is it possible to set up a Pi Raid such that there are two drives, one is a mechanical mirror drive, and the main drive is an SSD? The reason for that would be two fold. 1) The different technologies greatly reduce the odds that both will fail at the same time; and 2) the SSD could be used for increased speed.

    0
    None
    tobychuin4mwd

    Reply 1 year ago

    Nope, the Pi can't handle RAID. However, we are working on the software and try to make a copy across two NAS. Something like what Google Drive is doing with their files. In simple words, when a file is uploading to the NAS, the file get split into many 64MB chunks and duplicate across multiple drives with at least 3 copies of each chunk. So even if you lost a drive by accident, you can still recover the data from the same chunks stored on another NAS / drive. And we named that feacture as ArOZ Sync (Still work in progress).

    0
    None
    n4mwdtobychui

    Reply 1 year ago

    The odroid xu4q might be able to do raid. It supports usb 3.0 and 1G ethernet. Its 8 cores at 2GHz. An $8 sata adapter would be required for each drive. The xu4q is about 2x the price of the pi3 though.

    4
    None
    Man0f5tee1e

    1 year ago

    A Raspberry Pi NAS = A NASberry Pi

    0
    None
    Phoenixoss

    1 year ago

    Congratulations! Nice project I have only one concern speed of USB 2.0 on RPi3 :(