Radxa's SATA HAT makes compact Pi 5 NAS

Radxa's latest iteration of its Penta SATA HAT has been retooled to work with the Raspberry Pi 5.

Radxa Penta SATA HAT for Raspberry Pi 5 with a Pi mug

The Pi 5 includes a PCIe connector, which allows the SATA hat to interface directly via a JMB585 SATA to PCIe bridge, rather than relying on the older Dual/Quad SATA HAT's SATA-to-USB-to-PCIe setup.

Does the direct PCIe connection help? Yes.

Is the Pi 5 noticeably faster than the Pi 4 for NAS applications? Yes.

Radxa Penta SATA HAT installed on Pi 5 with Drives next to it

Is the Pi 5 + Penta SATA HAT the ultimate low-power NAS solution? Maybe.

It's more compelling than the Pi 4 was and could fit your use case—even accounting for the Pi 5's slightly higher price points.

I ran through the entire process of setting up and testing the Penta SATA HAT in today's video:

But I'll also summarize some of my key findings:

  • If you want all the test data and notes, check out my GitHub issue testing the Radxa Penta SATA HAT on Pi 5. There's an exhaustive benchmarking process through which I discovered macOS Finder is terrible for network share performance.
  • Having the HAT distribute 12V power to the drives and manage power delivery to the Pi 5's 5V rail via GPIO is very handy. You don't need two power supplies (one for HAT/drives and one for Pi) with this setup.
  • I had to break off three little fins on the official Pi Active Cooler to make room for the 12V barrel plug on the underside of the HAT. It would be nice if Radxa revised the board to not require this modification.
  • I tested an array of 4 Samsung QVO 8TB SSDs in RAID 0, and could get nearly 900 MB/sec at PCIe Gen 3 directly on the Pi.
  • I was only able to write through Samba over the 1 Gbps built-in Ethernet connection around 96 MB/sec (with a 100 GB test folder) from my Mac — read speeds were consistently maxing it out at 122 MB/sec, and on Windows I could get 115 MB/sec write speeds.
  • I installed openmediavault 7, which worked great with ZFS, but was missing standard RAID configuration options—possibly because I had separately installed mdadm in my testing? I would love to try TrueNAS Scale, but it sounds like iXsystems isn't interested in porting it to Arm.
  • ZFS in RAIDZ1 gave me lower network write speeds around 74 MB/sec from my Mac, and 108 MB/sec on my PC, but read speeds were still maxing out the network connection
  • I installed a Pineberry Pi HatBRICK! Commander and HatNET! 2.5G for 2.5 Gbps networking, and it worked without issue, though it would be nice to find a better way to get things stacked up:

Radxa Penta SATA HAT on Pi 5 with 2.5G Networking

Using that setup, I could consistently get 230 MB/sec read speeds over the network, but writes were still bottlenecked around 100 MB/sec on my Mac. It's not easy to pin down the problem on my Mac, but on Windows 11, it was consistently giving me 150 MB/sec, so it's not the Pi's fault.

With the PCIe Gen 2 switch in the way, storage and networking are both downgraded to Gen 2 speeds, which results in the bottleneck preventing faster write speeds. You could get a little faster with RAID 0, since you wouldn't need to write parity data, but that's not recommended for most network storage use cases!

Item Price
Raspberry Pi 5 (8GB) $80
Radxa Penta SATA HAT $45
12V 5A Power Adapter $10
32GB microSD Card $12
TOTAL $147

My conclusion? The Pi 5 + Penta SATA HAT is most useful for read-heavy environments, but works great for any basic NAS use case. All-in, spending $150 or less on a small, energy-efficient NAS (this setup used 6-8W at idle, and 10-16W under load) isn't the worst way to build DIY network storage.

I also really wish Raspberry Pi included 2.5 Gbps networking out of the box... the RP1 chip certainly has the bandwidth, but it seems like more was allocated to the DSI/CSI imaging pipeline and multiple USB 3.0/2.0 buses than networking, for this go-round.

Radxa will hopefully sell a case and fan control board at some point, to make this a more robust solution, but those aren't available currently.

Comments

A number of comments on YouTube suggested I test out a USB 3 2.5G Ethernet adapter. So I plugged in my Plugable 2.5G adapter, and tested transfer speeds with a 50 GB folder on Windows 11 and got:

  • 270 MB/sec writes (copy from Windows 11 to Pi 5)
  • 200 MB/sec reads (copy from Pi 5 to Windows 11)

See this comment on GitHub for all the details.

Jeff,

mdadm raid on OMV 7.x was moved to a plugin called openmediavault-md. Install it from the plugins tab.

This is what I’ve been waiting for. Ordered two of the boards and I’ll get some Pi 5s when I get back from travelling. I’ve been wanting to get into 3D modelling so working out a 3D printed case for this will be fun. Preferably something that I can screw an extra fan into and mount the usb ethernet to nicely too.

I'd love to see your case! This would be a fun appliance to put on my desk, but without a case, I'm worried when I mist my plants, I'll fry it. :)

Can one use mechanical disk with this setup as well?

It's a shame to spend more than a grand in SSDs to run them over an underpowered arm chip further bottlenecked by terrible networking, when you could spend 300$ on a intel board with 10GB networking, SFP+, more ram, more compute... etc. If you use spinning disks OTOH this might be an extremely cheap, fairly slow, NAS, but enough to store your media...

You are clearly missing the point. Sure, a GT3RS is the ideal track car, but you can have a lot of fun with an mildly updated MX5. The same analogy applies here.

Where did the ribbon cable come from? I got a standard IPEX cable that isn’t compatible with the smaller PCIE slot on the Pi5.

Still this build loses speed competition to your rig with NVME drives, doesn't it?

What would be easier to build a NAS case for, the X1011 or this? The shapes look more basic I believe.

This setup would be great if only I could find more than a reference to a NAS case in Radxa's wiki.

Does anyone have Radxa's ear? These are not available on Amazon (where I would like to purchase).

I ordered on 9th of April and received the card and accessories on the 16th of May. After the expected delivery time of 7-10 days was exceeded I contacted Arace. They did not respond to my first email but on second contact they assured me the product was going to ship within the next 14 days.
The tracking information supplied was excellent.
I think AraceTech underestimated the volume of orders - especially due to Jeff's excellent PiNas how-to video.
I have been searching for months for availability on the Penta Sata Hat.

Hi, got by mistake the hat for the rock 4.
can't find the spec for the ribbon cable anywhere to connect to the pi 5. is it custom ?

If the max draw you saw was 16w, couldnt you use a lower amperage power supply than the 12v5a?

Technically, yes; though I like to have a little more provision to my PSUs since the immediate power draw can be a little spiky (only visible if you're looking with a scope), and many cheaper PSUs are better used well under their maximum rated output. I could probably get by with a 2-3A PSU on this build, but 4 or 5A makes me feel better.

Hey, just discovered your channel, awesome work everywhere.

The official Radxa docs[0] seem to suggest that you have your choice of powering this setup via the Penta's DC barrel jack, an ATX power supply, or the Pi's USB-C port. Given your last comment re: probably being able to get away with a 2–3A PSU, does that mean the Pi's official 27W USB-C power supply should work in a pinch, too?

[0]: https://docs.radxa.com/en/accessories/penta-sata-hat/penta-for-rpi5#pow…

Did you notice any USB brownouts while powering it from the SATA HAT? I'm waiting for my NAS drives to arrive, so I'm just sort of testing it with cast off hardware, and if I run the Pi+HAT (with one drive)+2.5" USB3 HDD off a 60w brick connected to the HAT, the HDD eventually starts suffering from the click of death, while the SATA drive seems fine. Meanwhile if I power it with the 27w Pi USB-C plug, both the SATA and USB drives are fine, so far. I assume the Radxa power delivery is hitting some kind of limit that's causing USB brownouts.

I saw someone else running theirs with both the pi power and the HAT power connected, but that always feels like risking backfeeding some bump/boost converter or other on one of the boards, and they're too expensive to want to risk that with.

Yeah, and it probably isn't a big deal in normal usage, it might just put a crimp on someone's plans. Although I can't think of any particularly high-draw USB devices that aren't storage, so maybe it's not a big deal, ultimately?

And I found a statement on Radxa's wiki that says to not use two or more power supply methods at the same time, so there's that.

I wonder if you can separate the power supplies by removing the pins from the GPIO extender on the sata hat and if so would this be enough separation of the power to allow both Pi and sata hat to be powered by the respective supplies?

You should be real enthusiast of ARM SBC to spend $150 for this. These money give you n100 or intel 8gen

I wouldn't call myself an enthusiast but at home I've entirely been using Raspberry Pi for several years now. I've installed them in my children's bedrooms, my bedroom and on televisions. I started with the very first Pi because I liked the mission statement and idea behind it; I still do. I've tried other single board computers but the Pi has a better knowledge base and hat availability. At work though, I'm a windows user. I do hardware and circuit design using Eagle and I enjoy the speed and number of cores. Peace be with you.

Jeff, I can't find anything showing all the specs about the 12V power supply and I was wondering if you knew. What diameter plug is required, is it inner positive or outer positive, and what's the max wattage the socket can accept?

Also, I came up with a solution to the barrel jack interfering with the Pi cooler that doesn't require breaking anything. I installed a GPIO riser and then used both the included 18mm standoffs and the 5mm standoffs together to stabilize the Penta SATA Hat. You can't screw the two standoffs completely together, but once everything is tightened down it's not a problem (though 8-9mm standoffs would be better). I used a separate set of standoffs as feet on the bottom. I can send you a photo if it would be useful.

Thanks!

It's a 2.5mm barrel jack with same specs as the one on the CM4 IO Board. I've used up to a 5A power supply, but don't know if it could handle more than that.

Thank you, Jeff! I just looked up the specs for the Pi CM4 IO board and it says "2.1mm DC tip positive +12V" just in case anyone else needs the same info.

I got a little too gungho and bought 5.5mm x 2.1mm barrel jacked DCs after missing the detail on their docs. I don't know why they don't list this directly with their main specs or feature list but you CAN find it on the Raspberry Pi 5 specific page of their docs here.

https://docs.radxa.com/en/accessories/penta-sata-hat/penta-for-rpi5

It is listed at the top of the page under Power Supply Selection.

"Penta SATA HAT is equipped with a DC interface (socket specification is outer diameter 5.5mm, inner diameter 2.5mm, center is positive) and a D-shaped 4PIN interface."

I'm using one of these now with OpenMediaVault as an NFS connected NAS for a ProxMox cluster.. Anyone found a decent case to make this more "shelf friendly"?

Radxa has made their own case design and also features two other community designs at the bottom of their Raspberry Pi 5 specific doc here: https://docs.radxa.com/en/accessories/penta-sata-hat/penta-for-rpi5

I modified their design a bit and had it resin printed with pcbway (wasn't cheap but I wanted to go nice). Modelled and printed a little 40mmx40mmx10mm 5v fan bracket for the top separately (something I'll put on printables soonish) and plugged it into the board.

Photo: https://pasteboard.co/BrcISnelvGOF.jpg

I have a little bit more to do before I'm fully happy with it. Some of the changes I made so I could have it printed were a tad off so I have to file some more down. I also want to see about slowing down the fan a bit to ease on the noise. Other than that, pretty good results and learned a bit along the way. Hope they make the top board available again so I can put that in.

I have question, i have 12volts 6a power supply, the radxa controller is connected without any harddrives i just wanted to test whether it works and whether it will also supply the power for the raspberry pi 5, on the raspberry i have two external harddrives which are connected via usb hub into the one of the usb on the raspberry. When the supply goes from radxa( 12v 6a), the harddrives are not running, just hearing some clicking noise, from them. When the power supply is going from raspberry(its the one that comes with raspberry package) everything is working, can anyone tell me why is that? This power supply that i have for radxa is 72 watts, which way more than the power supply of the raspberry, i didnt try to put both of the supplies, because i dont know whether it will be to much?

I would definitely not try both supplies. It could be the 12V 6A power supply is lying about how much power it actually provides (is it a large brick? Should be a pound or two of weight, since it needs all that circuitry).

But more likely, you need to tell the Pi it can use full USB current. See PSU_MAX_CURRENT. But to easily set this and see if it works:

  1. Edit /boot/firmware/config.txt with nano or some other editor
  2. Add the line usb_max_current_enable=1 at the end and save the file
  3. Reboot your Pi.

Alternatively, use sudo raspi-config and go to option Performance Options > P4 Set USB current limit and set it that way.

Hi Jeff I recently built the pi5 nas and it worked great for about 2 months then all the LED'S started flashing and I can't see it on my network anymore. Does this mean the radxa tophat went bad? I am running it on a 12 volt 8 amp power supply. I have ordered a new top hat and I don't want the same thing to happen. I've tried a new pi 5 still can't see it on the network and if I let it run for 10 min the LED'S start flashing my bench top power supply shows the whole thing only pulling 1 half of an amp.

Is it possible to add M.2 ssd to boot from it and then add the 4 drives ssd/hdds?

Hi Jeff. Do you think it is possible to use something like this with this setup to use the flash as a cache? I'm using OMV in Raid 5 for my config.

Thank you,
Dave

Hi Jeff,
I just got my Radxa SATA Hat and going after it tomorrow with my RPI5. Does the hat support power management to the individual SATA ports? I ask because instead of powering all 5 of my SSD's all the time, I want to spin up a single one using code, preferably Python3 but C++ is just as good. I'm curious if you have explored that.
I apologize in advance, I have not looked at any available schematics for the HAT. So I do not even know what the controller chip is. I just know that my idea that led me to you is that this hat is available and you tested it. I am developing a power-friendly NAS that allows resources to be available on demand without having all these resources constantly powered up.
Thanks so much for your info and guiding me to this place I am at presently!!!!!

Thank you sir. I will explore that next. I got the array working great! I did a disk to disk transfer of 171 gigs and I used Windows mapped network drives to do it. I was curious if the data actually had to go to Windows then back to the other disk, or if OMV was smart enough to handle the transfer on the Pi only, as if I did the transfer from the command line. I was unable to figure that out, yet, but I got what looked like an average of about 270MB per second transfer speed. I am using a "Plugable" 2.5G usb3 ethernet adapter. I cannot WAIT to benchmark the speed, as soon as I figure out what to use to do that. All that is left now is the spin-down thing, connecting to the PHD2.0 10 pin port to add a display and a Noctua PWM fan, designing and printing a case, and finding a way to boot from a partition on a connected SATA drive.
Thanks for the tutorial! It TOTALLY changed my home NAS big time, and I am already going after building another. Unfortunately, I discovered that some if not all my portable mechanical drives actually have a USB connector built into the drive controller. I was hoping the USB3 was just a slick thin adapter in the case like the older 12vdc portable drives, and when removed would expose a SATA port on the actual drive. This sucks because I want the next NAS to use them for back up. Now I need to find a 12vdc 10amp powered USB3 array that maybe connects to the PCI of the RPI5. Not very elegant, certainly not as elegant as THIS build, but functional. At least I am hoping. Lots of research to do. THANKS AGAIN!!!!

Trying to wrap my head around the transfer speed I got between drives on the NAS. I initiated the transfer between two network mapped drives on my laptop. It has 10gbps speed on it's ethernet, but all my switches and routers are gigabit, or 1 gbps speed. To transfer like I did at 270MBps, I would have had to have 10gbps switches assuming the data flows from the source through my laptop and back to the NAS destination drive. The only explanation I can surmise is that the transfer happened locally through the NAS hardware without outsourcing the data to my laptop. I HATE not knowing how that process works. It makes sense that the drive host would realize that both drives are connected to the host hardware and move that data locally on the NAS. I just didn't realize that was actually in place. What other explanation could there be? I can't wait to test this theory. OK, I guess I am doing that now. =)

Hi Jeff, awesome guide! Until now, I've been using a CM4 with PCIe to connect a hard drive for Nextcloud and Immich. The Pi 5, with its performance, is a game changer, and the Radxa Penta has made my setup much less cluttered. One more thing I'd love to do is boot my Pi from an SSD connected via the eSATA port on the HAT. However, due to the bootloader, the OS initializes before the PCI bus (https://forum.radxa.com/t/pi5-penta-hat-boot-from-sata-drive/21377). Is there a way to work around this? Thank you!

Another way to use the HAT alongside the official Pi Active Cooler is to raise the HAT with standoff spacers and an extended header. This limits your ability to use the setup inside most cases without modifying them first, and extra parts are required. However, for anyone not comfortable with modifying the active cooler (including me), this could be a valid alternative.

I might run into that situation I my attempt at running this un-cooled fails. Would you have links to the kind of spacers you mean, and could you explain what an extended header is?

Awesome job there.

Keep in mind that the QVO series are really bad when it comes to write speeds. I've used them also in a ZFS environment and compared to EVO series, we're talking about HUGE difference.

Do you think this could work for plex? I currently run plex off of a pi 4 and don’t have any issues, but I’m just using a mechanical HDD. I’m reaching the point where I probably need to expand my storage soon and was looking at a NAS but they are so expensive I’m not sure I’m ready to make the jump yet. This would give me larger storage with a lower entry point until I am ready to spend the money for something like a synology nas. I don’t use transcoding, just direct play, so that’s not an issue.

Can you a raspberry pi 5 4GB for the radxa penta SATA and which heatsink is the best for this project thank you

For anyone wondering about not having ANY cooling (even passive) in order to just run a simple NAS, I've done that, and the Pi does get fairly hot (the restricted airflow from the hat doesn't help). In a room at 25C it idles around 60C, going up to 75C during a btrfs scrub with 2 SSD drives on the hat + one external USB SSD (still in the process of moving things). Allegedly this should be fine, as even if it ends up throttling (around 85C I think) it should be safe and still faster than a pi4. We'll see next summer!
The drives themselves are at 55C during the scrub, and a nice 37C when plugged but not in use.

I've had my setup running for a few months now, but with my slightly modified Active Cooler. The Pi should be fine even without it (with the performance hit if it throttles), but the drives up top are about the same as you see, without any fan but in the open air. I do want to get my build put into a 3D printed case design I got from Michael Klements, with a fan, but just have been too lazy to do that heh.

For me the absence of active cooling is part of the design :) I want zero decibel as it's running in my living room. A case would be nice for dust protection but it would definitely veer into active cooling territory and I don't want to get there, so it stays naked.
I was a bit worried about the drives' temperatures without a fan. So far I have only 2 of the 4 slots used up, and I've placed the drives on the outer sides so they don't keep each other warm. And so far it's going okay. It seems to depend heavily on the drives though. My crucial BX500 is very cool, 36C idle or in mild use, up to 40-41C during a scrub. The WD SA510 however idles at 40-42C and goes up to 63C during a scrub. I've actually added a 300M rate limit to scrubs to keep it at 60C. This might still be a problem by next summer... or when I fill the extra slots and the drives cuddle up!

I replaced my old x86_64 server with a RPi5 and Radxa hat with 3 SSD SATA drives and it worked so well I did the same with an x86_64 software raid set consisting of 4 x 6TB WD Red drives. I have just under 17TB available on the set. This is slightly different as the file system on the raid set is read only but it works well. The cabling from the hat to the drives in a cage is a bit messy and in the first iteration I hadn’t pressed one connector fully home resulting in that drive recalibrating occasionally before finally throwing in the towel and going offline. Making sure all connections were good and reassembling the set saw the setup performing faultlessly in a lights out situation. Great bit of kit and I’m about to buy a 3rd hat and Pi5 combo to replace an ancient NAS.

Hmmm… sadly the raid 5 set up has developed an annoying fault. One slot, and it is the slot as I’ve swapped cables and drives to that slot and problem remains with slot, seems to cause whatever drive is connected to spin down, spin up, recalibrate and come back online. The slots don’t appear to be numbered on the hat but if you hold the hat with slots going N to S and the blue LED activity lights at the top, the slot in question is 2nd from right.

I'm gutted that this is happening as I’ve had to put the drive cage back into the original x86_64 system to get access to the file system.

I wonder if anyone has any idea why this is happening? I thought maybe it was power supply but the supply is 12v 10A to the hat so there should be power to spare with 4 x WD 6TB drives.

I noticed some different pci speed on similar 870 QVO 8TB drives, checked latest firmware these are all new. Pi5(8GB), Radxa Penta SATA HAT, 128GB microSD Card SanDisk Extreme, Radxa Penta SATA HAT-topbord to be expected next week

henk@nasberry:~ $ sudo lspci -vvv | grep Speed
        LnkCap: Port #0, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <2us, L1 <4us
        LnkSta: Speed 8GT/s (overdriven), Width x1
        LnkCap2: Supported Link Speeds: 2.5-5GT/s, Crosslink- Retimer- 2Retimers- DRS+
        LnkCtl2: Target Link Speed: 8GT/s, EnterCompliance- SpeedDis-
        LnkCap: Port #0, Speed 8GT/s, Width x2, ASPM not supported
        LnkSta: Speed 8GT/s, Width x1 (downgraded)
        LnkCap2: Supported Link Speeds: 2.5-8GT/s, Crosslink- Retimer- 2Retimers- DRS-
        LnkCtl2: Target Link Speed: 8GT/s, EnterCompliance- SpeedDis-
        LnkCap: Port #0, Speed 5GT/s, Width x4, ASPM L1, Exit Latency L1 <2us
        LnkSta: Speed 5GT/s, Width x4
        LnkCap2: Supported Link Speeds: 2.5-5GT/s, Crosslink- Retimer- 2Retimers- DRS+
        LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
        LnkCap: Port #0, Speed 5GT/s, Width x4, ASPM L0s L1, Exit Latency L0s <1us, L1 <2us
        LnkSta: Speed 5GT/s, Width x4
        LnkCap2: Supported Link Speeds: 2.5-5GT/s, Crosslink- Retimer- 2Retimers- DRS-
        LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-

Any suggestions?