I'm working on a setup for my new RPi 3 B+, and I was wondering if it's at all possible to use both mSATA SSD storage (attached via the mSATA SSD storage expansion board) in addition to another SATA HDD (attached via a SATA expansion board). And potentially even an additional storage device, an SATA M.2 (or in replacement to one of the others if its not possible to add all 3)

Here are the specific items I have in mind thus far:

I don't quite see any reason this wouldn't work, but I didn't find much else after consulting the Google gods.

Any input would be appreciated.



  • 2
    Just to make sure you are aware: This is a waste of hardware. That add-on board connects through the Pi's USB 2.0 interface, for a grand total of 35 MB/s (and if it is anything like previous models, that's a very theoretical maximum). In other words, you are not going to get better performance out of this than if you just used a few cheap USB external drives. If the reason you want to do this is because the same drives are also going to be used in other systems that can exploit them properly, ignore me, but if not...I see a lot of wasted cash.
    – goldilocks
    Apr 3, 2018 at 20:28
  • +goldilocks Does your comment apply to all of the above? Or just the SATA M.2? The M.2 goes over USB, so I could see that as a limitation.. But the mSATA and SATA HDD expansions seemed sufficient to me. Am I wrong on all cases?
    – Justin
    Apr 3, 2018 at 20:56
  • It applies to everything because both those boards link the drives to the Pi through the USB port. Have a look at the picture of the Geekworm X820 mounted on top of a Pi. So regardless of the speed of the drives, the expansion boards, etc., the bottleneck is going to be the USB 2.0 hub on the Pi -- which is singular, meaning you won't get 35 MB/s per drive, you get it as a combined maximum. In reality it won't hit that either, but the point is the SATA drives will not provide a performance advantage (other than the nice SSD silence).
    – goldilocks
    Apr 4, 2018 at 14:02
  • Here's some fairly honest looking benchmarks someone did with the original model B: 314256.blogspot.ca/2014/03/… As s/he points out, newer models use exactly the same hub -- except for the new 3B+, but these are fairly reasonable real world USB 2.0 speeds anyway, they optimally hit 20-25 MiB/s. I've seen a USB drive on a Pi hit 30 momentarily when doing big transfers, but the overall average would be less than half that.
    – goldilocks
    Apr 4, 2018 at 14:07
  • goldilocks What would you recommend then? I was hoping to get an external SSD HDD that would be speedy.
    – Justin
    Apr 4, 2018 at 16:02

2 Answers 2


Technically I don't see why it wouldn't work as long as it was powered independently of the PI but it would be a huge expensive waste of money because it would be so slow. All USB ports and the ethernet port on the Raspberry PI share the same slow USB2 bus so it really wouldn't be a good idea to cram the USB ports with external hard drives. Having said that if all you want to do is to increase capacity even though it's really slow then go ahead but even then there are cheaper and more elegant solutions than this. A simple powered USB hub with USB hard drives is a neater solution. It would help though to answer one big question - why? What is your motivation for wanting to do something like that?

  • The project im working on needs a large storage device attached to it, and speed is something that I strive for as well. Do you think ALL of the items I listed are slow? What if its just the mSATA SSD expansion and mSATA SSD drive?
    – Justin
    Apr 4, 2018 at 4:51
  • 2
    No they're not slow but the USB ports on the Raspberry PI are. That's why it's a waste of money plugging in fast devices to slow ports. How much storage do you need? A simple 1TB USB portable hard drive is cheap and would not be any worse than any of your suggested items. Apr 4, 2018 at 11:03
  • John Hawthorne - Is there any other type of storage expansion you would recommend? Something thats quicker than just a USB 2.0, preferably.
    – Justin
    Apr 16, 2018 at 18:58
  • Justin why can't you accept that you cannot get speeds quicker than USB 2.0 when connected to the USB 2 ports of the PI? Here's another suggestion - use something else instead of the Raspberry PI. Apr 16, 2018 at 19:07
  • It looks like the Banana Pi M3 comes with a SATA port.. would I be better off going with teh Banana Pi?
    – Justin
    Apr 16, 2018 at 19:12

What would you recommend then? I was hoping to get an external SSD HDD that would be speedy.

The issue is that for a peripheral bus (SATA, USB, PCI, etc.) controller to be effective, it has to be attached directly to the SoC. On a board like the Pi (or pretty much anything else, including normative laptops, desktops, etc.) you cannot add to what is already there in this sense. You cannot wire anything directly to the processor.1 You have to work with what is there.

Hence, people make SATA adapters for the Pi, but they are really just SATA -> USB adapters (except they are noticeably more expensive -- go have a look at a generic SATA to USB adapter online). The USB hub on previous models of Pi was actually the ethernet controller too, meaning 100 Mbit ethernet had to share a bus with 280 Mbit USB where the limitation was the latter and it was shared. The Pi 3B+ is an improvement on this in that it has an independent Gbit ethernet port.

This means the fastest port on the 3B+ is no longer USB, it's the ethernet port. So if you wanted maximum throughput, it could be by connecting directly via ethernet cable to another system which can properly house SATA drives, and you might, at least in theory, get speeds close to 100 MB/s, although whatever network protocol you use will take a chunk of that. All things considered, this is probably not a worthwhile solution.

Short of that you just have to be happy with the USB. Since any new harddrive you buy today will be capable of matching that bottleneck, there's not much point in buying one that's faster than anything else -- attached to a USB 2.0 port, they're all likely equal. The one thing I would recommend is that if you buy one that doesn't have it's own power supply, don't get anything too beefy, and definitely do not get more than one. I.e., if you want multiple drives, get ones that have independent power supplies (or you could use a powered hub, but this might add to the bottleneck).

1. Actually that not true -- the stuff on the GPIO breakout is connected directly to the SoC, and in that sense you can attach things directly to it. However, nothing on the breakout has the potential to rival USB 2.0 speeds.

  • It looks like the Banana Pi M3 comes with a SATA port.. would I be better off going with the Banana Pi?
    – Justin
    Apr 16, 2018 at 19:12
  • The gigabit ethernet port is not independent because it is still connected to the USB 2 bus so you still cannot get 100 MB/s even in theory. The gigabit ethernet port has a maximum speed of about 300mb/s because of the USB 2 restriction. Apr 16, 2018 at 19:20
  • @Justin I think it depends on your use-case. If you really need 2 or 3 high speed drives and you are thinking of throwing a few hundred bucks at that, you might as well get a mini ITX board to connect them. By the time you are done you'll probably spend $400 - $500, but at least it will live up to its components, as opposed to trying to skimp on the system and putting racing wheels on a tercel, if you get my point. They will just look dumb ;) If you don't really need all this -- only you know what you are doing with it.
    – goldilocks
    Apr 16, 2018 at 20:54
  • @Justin The Banana Pi M3's SATA port is just a USB-to-SATA adaptor, same as you'd be using with the pi. It's just built into the board instead of being a separate physical package, but the wiring, and thus the performance, are exactly the same. Jul 9, 2018 at 6:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.