My Arm based home made NAS

  • Hi guys!

    I have finished my own home made NAS. When i start planing this build, I set these goals:

    • low power consumption
    • cheap, but not scrap build
    • best ratio price/performance as possible

    After many days on internet, looking/comparing/... i found my ideal HW setup:

    • NanoPi M4v2
    • Sata HAT with 4 SATA ports
    • 32GB eMMC storage

    As I found later - its almost same HW setup like here:

    NanoNAS NanoPi M4 3-bay or 4-bay most compact and low consumption RAID

    But i dont like this super mini-micro setup with only 2,5" HDDs. I want something better looking :S

    So, i bought aluminium enclosure and 4HDD trays on AliExpress, make some 3D printed parts and put it together:

    Pictures are from unfinished state (I blurred the mess around)

    NanoPi is mounted at front aluminium plate (8mm thick) - it's perfect heatsink - Pi can be cooled passive.

    Rear side is 3D printed (SLS technology) holder for 4 HDD bays, 1xRJ45 keystone, 2xUSB3 keystone and power socket. Some pictures from 3D model:

    Some SATA cables, power cables, USB cables, screws, standoffs,...

    About SW: its based on Armbian buster server, linux kernel 4.4 and OMWV 5.5

  • Great project, Trupik . I've a couple of questions for you:

    1. It looks like your case was custom-made. Could you share the design (files) with us?

    2. I see that you are using the case itself as a heatsink for the nanopi m4 soc but what about the HDDs? How to you keep them cool? I'm a bit concerned about that because the pictures you shared give me the impression that the HDDs are completely closed inside the case, without any airflow (no openings at the top to remove the hot air or at the bottom to get cool air in).

    3. I too have a v2. I've run into stability issues with Kernel 5.x but it looks like you have avoided that altogether by going straight to legacy. However, have you had a chance to test the latest Kernel with it? If so, have you experienced any sort of issues, like kernel panics?

    Wow. Again, great project. I'll be following it closely and would love to read about it in more detail. --CG

  • Thank you!:S

    Ad 1.: no, enclosure is not custom made. It's BZ1715 or KYYSLB 170*150*258mm case from AliExpress. If you find a good trader, you can buy this enclosure for very good price (I've bought it under 50USD with shipping). Yes, BOM & 3D files are not problem. But 3D printed parts are designed for SLS printer, i'm not sure how about FDM printers...

    Ad 2.: right now, i'm using two Seagate IronWolf 4TB drives and I can run 100% fanless. I was doing some "stress tests" (stress test = copy & read tons of random data to/from NAS) and M4 max temp was 40°C, and drives was still under 50°C. Right now, i'm running badblocks (for curious) and drive temp is 42°C & M4 temp is 32°C. Bottleneck of this device is gbit network. But you're right, for all 4 drives & heavy traffic, some acitve cooling will be needed.

    Ad 3.: same like you :(. With Kernel 5.x was my NAS very unstable and useless. For example - copying of big files wasn't problem (usually), but lot of small files = corupted files, kernel panic & reboot.

  • Nice job.

    Inwin MS04 case with 315 W PSU

    ASUS Prime H310i-Plus R2.0 board

    Four port PCI-E SATA card

    8GB Kingston DDR4

    Intel Pentium Coffee Lake G5400 CPU

    Samsung Evo M.2 256GB OS drive (28 GB partitioned for OS)

    4x4TB WD Red NAS drives - UnionFS pool

    Seagate 5TB USB drive - SnapRAID parity

    1x1TB Seagate HD

    1x300GB Toshiba HD

    Seagate 2TB USB drive

  • Thanks all!

    3D models & pictures are attached ;)

    • battery holder: holds RTC battery & works as one NanoPI legs. Optional.

    • Bottom support: transfers the weight of the discs to the bottom of case.
    • Drive plate (final): original backpanel what you can see on pictures in first post.
    • Drive plate (vented): cgomesu asked about heat from drives. This version of backpanel have 10 holes 8x8mm in top - this can help manage temps. Not tested!

    • Left drive holder: holds drive bay in position. 4pcs needed.
    • Left drive holder: same, but on the other side :)

    BOM ASAP...



      (856.92 kB, downloaded 64 times, last: )

    Edited once, last by Trupik ().

  • Hello all,

    small update: in this week I installed new device: 256GB USB stick as my Music storage.

    USB stick, because i don't want still spin on HDD, stop HDD, spin on, stop,... with every longer song. After this my memory graph looks like this:

    So - noob question: what is buffer cache? Why this thing grow from ~20MB to ~2GB after installing USB stick?

    PS: BOM hopefully this weekend...

  • BOM:

    # Part - name
    Pcs Price (aprx)
    1 NanoPi M4V2 1 70 USD
    2 4x SATA HAT for NanoPi M4 1 25 USD
    3 eMMC (8GB+)
    1 10USD or more
    4 battery Cr2032 with cable
    1 1 USD
    5 Aluminium enclosure BZ1715 (KYYSLB 170*150*258mm)
    1 50 USD
    6 Aluminium feets
    1 5 USD
    7 HDD tray
    4 25 USD/each
    8 RGB push button
    1 9 USD/2pcs
    9 Panelmount socket 5.5 - 2.1
    1 1 USD
    10 AC-DC power source 12V 60W (or stronger)
    1 ???
    11 3D printed parts:
    - Drive_plate final.stl
    - Left_drive_holder final.stl
    - Right_drive_holder final.stl
    - Bottom_support v5.stl
    - battery_holder v1 (optional)

    12 Sata cables:
    - 20cm straight to right angle
    - 10cm straight to right angle

    5 USD/all
    13 Wires:
    - 1mm2 (from power socket to SATA HAT)
    - 0,75mm2 (from SATA HAT to drives)
    - 0,25mm2 (from SATA HAT to pwr button)

    14 RJ45 cable (from RJ45 keystone to NanoPi)
    ~20cm ???
    15 USB3 male to USB3 male 30cm
    2 5 USD/all
    16 RJ45 keystone
    1 2 USD
    17 USB3 keystone
    2 5 USD/all
    18 SATA power connector
    4 2 USD/all
    19 Molex PC 4pin power connector (female) with pins
    1 1 USD
    20 Steel rod ⌀4mm, length 150mm
    1 ???
    21 Screws M3 & M4, various lengths
    ? ???
    22 Nuts M3 &M4
    ? ???
    23 Set screws M3x16
    ? ???
    24 Hexagonal spacers M3 (20mm & 8mm) 20+20 ???
    25 Plastic spacers M3x3mm 4 ???

    + maybe something else...

    Seriously, i don't remeber how much screws, nuts and other small parts is used.

    All links are only informative and WITHOUT any affiliate codes ;) You can get same/similar/better parts elsewhere...

  • (previous post must be approved, because lot of external links)

    HDD tray's needs small modification:

    1. remove black plates (red arrows)
    2. remove spacers (blue arrows) & steel axis (orange arrow)
    3. cut away parts marked with green lines (all 4) - I've used Dremel
    4. DO NOT (!) cut parts in red circles:

    Wiring diagram: (or something similar)

  • The_Others: thanks.

    About speed: tested with NASTester 1.7. Smallest filesize what this app can test is 1MB.

    Tested via SMB share. Results from 4TB WD RED:

    And 1GB files:

    CPU & RAM usage while tests:

  • Well done! Like it.

    Nitpick: There is a typo in post #1 you may want to replace ' OMW 5.5' with ' OMV 5.5'

    omv 5.5.23-1 (usul) on RPi4 with Kernel 5.10.x and WittyPi 3 RTC HAT

    2x 6TB HDD formatted with ext4 in Icy Box IB-RD3662-C31 / hardware supported RAID1

    For Read/Write performance of SMB shares hosted on this hardware see forum here

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!