So this thread now spans 5 pages of mostly people who bought one complaining about how it doesn't reboot reliably. Well, I mentioned that in my review, so I'm not sure why people who want no-SD card boot are buying x850 boards.
Anyway... I thought this was pretty cool when I first bought it, and /boot on SD card didn't bother me (that much). However, incompatibility with cases, the higher price of mSATA drives, and the high price of the board itself dimmed my enthusiasm for the x850. As I've mentioned in subsequent posts, it's just an overpriced USB-SATA adapter, that doesn't even do what most people want (no-SD card boot and reboot).
I have since moved on to simpler, more affordable and more reliable solutions (inexpensive USB-SATA adapter cables/enclosures).
The USB3-SATA3 adapter cable above costs $8.27 today ($6.99 when I bought it), and the 128GB 2.5 inch SATA SSD is around $20.
But what about my mSATA SSD? Well, that's in this tiny USB 3.0 enclosure (which boots and reboots my 3B+ perfectly).
Note that not all USB-SATA adapter cables and enclosures boot and reboot reliably (but at least they're cheap).
The product I'm reviewing is the Geekworm Raspberry Pi X850 mSATA SSD storage expansion board that I ordered from Amazon in the USA.
This product seems to be available under several different brand names from different sellers. Geekworm had the best price I could find, and it was slightly less expensive from the Geekworm AliExpress store, but I'm an Amazon Prime member and get free 2-day shipping (as opposed to 2-3 week shipping from China), so it was worth an extra couple of bucks to get it quickly.
Product page from Amazon USA:
Geekworm Raspberry Pi X850 mSATA SSD Storage Expansion Board
Similar product from Amazon UK:
MakerHawk Raspberry Pi X850 mSATA SSD Storage Expansion Board
So what is this thing anyway?
It's basically an mSATA SSD to USB adapter board designed to fit on the Raspberry Pi B+, 2B and 3B, and any future models that follow the same form factor. It allows you to easily mount an mSATA SSD on top of your Raspberry Pi and connect it to a USB port. The kit includes everything you'll need to mount an mSATA SSD, except the mSATA SSD itself, and it even includes a USB A-A cable to connect it to your main PC for imaging the SSD.
What is an "mSATA" SSD?
It's a tiny SSD designed to fit into portable devices like media players, tablets and ultra small or thin computers, like Netbooks and Ultrabooks. The advantage of using an mSATA SSD is that it will fit inside the footprint of a Raspberry Pi3, while a normal 2.5 inch drive is already larger than the Pi3 before you even add any adapters. This adapter fits full size mSATA SSD drives (they also come in half-size).
Left to right, 2.5" HDD, Raspberry Pi2, Raspberry Pi Zero, mSATA SSD.
As you can see, a 30x50mm mSATA SSD is smaller than a 30x65mm Raspberry Pi Zero!
Aren't SSD drives way more expensive than SD cards?
The price of SSD drives have fallen to the point that a 128GB SSD drive can be had for around the same price as a good quality, high-speed 128GB Micro-SD card (I'm talking genuine brand name cards, not the fake crap you find on ebay). I actually got one for less than $50, but it was some off-brand that arrived DOA, so I returned it and ordered one from a more reputable company. There were several to choose from in the $60-$70 price range, and after comparing specs and reviews I settled on the MyDigitalSSD Super Boot 2 at $64.99, which makes it slightly more expensive than a Samsung EVO+ SD card, but significantly less than the Pro card. If you want to go larger, you'll find the price of 256GB SSD drives vs SD cards even more favorable, and you can get mSATA SSDs up to 1TB (Samsung even makes a 2TB, but they only sell in an enclosure as the T3 Portable SSD).
Why would you want to use an SSD over an SD card? Aren't they both flash memory devices?
That's true, but they are designed for very different purposes. SD cards are optimized for sequential read and write. They are designed to read or write one file at a time, and that's great for cameras (what they were designed to be used in), but terrible for a computer OS that frequently bounces all over, reading and writing many files in different places (which crushes SD card performance). SD cards and USB flash drives are simple devices with low power processors that don't cope well with complex or random I/O.
SSD drives, on the other hand, are designed to be computer OS drives. They have more powerful processors and other performance enhancing features that not only make them much faster, but also make them more robust devices that are less likely to fail or corrupt data. While the raw speed of an SSD will be hampered by the USB 2.0 interface of the current generation Raspberry Pi computers, the other performance enhancing features will still make it noticeably faster (and more reliable) than an SD card or USB flash drive.
Why did I choose this particular adapter over some others that are out there?
First, this adapter fits mostly over the Ethernet and USB ports, while others fit more like a HAT and completely cover the top of the Pi (one even plugs into the GPIO header, even though it uses none of the pins for power or data). I like that the X850 leaves the CPU area more open so less heat will be trapped when I'm pushing my little Pi3 hard. I also like that it's narrow, so it leaves the GPIO pins easily accessible.
Second, it supports USB 3.0 speeds. Now you might be thinking that the Pi3 is only USB 2.0, and you'd be right, but that may (and likely will) change with future models, and that makes this adapter more future-proof than the USB 2.0 ones.
Is it easy to install and use?
The Geekworm AliExpress product page has detailed instructions with pictures, but suffice it to say it is very easy to install. Just 4 screws, 2 washers and two spacers for the board, a couple more screws for the mSATA SSD drive, and a cool little USB port bridge to make the power+I/O connection. From there you can use Linux dd or the SD Card Copier utility (recommended) to clone your SD card to the SSD, and with a couple of tweaks to the OS you'll be up and running from the SSD drive. Another option to image the SSD is to use the included USB 3.0 A-A cable to connect the SSD to your main PC and use Etcher to write a Raspbian image directly to the drive (very quickly at USB 3.0 speeds).
With the Pi3 you can do a pure USB boot with no SD card (the newer Pi2 with the Pi3 64-bit SoC might be compatible as well). For the other Pi models you will need to start the boot process with the SD card, but you can load and run the root OS from the SSD. To get the root OS running off the SSD on any model Pi you only need to edit 2 files. You need to edit /boot/cmdline.txt on the SD card and replace the PARTUUID of the SD card with that of the SSD (2nd partition), and you need to edit the /etc/fstab file on the SSD drive and replace the root mount of the 2nd SD card partition (/dev/mmcblk0p2) with the same PARUUID you put into cmdline.txt.
To get your PARTUUID, enter the following command into a terminal:
Code: Select all
ls -l /dev/disk/by-partuuid/
Code: Select all
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=PARTUUID=1a2b3c4d-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles
Code: Select all
proc /proc proc defaults 0 0 /dev/mmcblk0p1 /boot vfat defaults 0 2 # was /dev/mmcblk0p2 now PARTUUID of SSD PARTUUID=1a2b3c4d-02 / ext4 defaults,noatime 0 1 # a swapfile is not a swap partition, no line here # use dphys-swapfile swap[on|off] for that
If your Pi3 was purchased recently, it might already have that bit programmed, as I have heard it might be done in production models once the USB boot code was deemed stable (but I don't know if that has been done yet). To check it, open a terminal and enter the following command:
Code: Select all
vcgencmd otp_dump | grep 17:
I am actually booting my Pi3 from SD and loading the root OS from the SSD, because I tried pure USB boot and found it problematic. Power-on boot worked fine, but restart and shutdown were unreliable (worked sometimes and failed others). It's also faster than pure USB boot due to the delay of checking for an SD card before booting from USB. There is supposed to be a way to jumper some GPIO pins to skip the SD card check, but I haven't looked into that since I had other problems with USB boot. With /boot on the SD card, restart and shutdown work perfectly.
Does it use a lot of power?
Power demand will go up by a few hundred milliamps when the SSD is very busy, but most of the time it will be much less. The specs for the drive I'm using are 1.85W under max load, and 280mW at idle (at 3.3V). That works out to roughly 370mA at 5V for max load, and 56mA at idle (plus any efficiency losses from the voltage conversion).
So how does an SSD perform on a Pi3?
The speed is restricted by the USB 2.0 port, so you won't see the huge jump in performance you'd see on a computer with native SATA support, but it is still a very noticeable improvement. Even the best Micro-SD cards don't offer anywhere near the performance of a relatively inexpensive SSD drive. They aren't designed to do the same job, and SD cards are not designed to be computer OS drives.
The system boots faster and runs smoother. You don't get a lot of the little pauses and stutters that are caused by SD card access. It's much more fluid in operation, and that makes the whole computer feel faster overall. So while it won't make games actually run faster, it will make using your Raspberry Pi3 more enjoyable.
I also ordered a new case to go along with the SSD adapter, because this definitely won't fit in the standard style case.
The case I ordered is the JBtek Transparent Acrylic Raspberry Pi B+ / Raspberry Pi 2 Case with External Fan, which is one of the cases with a flat acrylic top and bottom with spacers in between and no sides. I figured it would be simple to extend the space between the top and bottom for more room if needed (it was needed, and it was simple, and I also moved the fan to the top for more clearance).
I like the case, but the fan is loud, so I'll be replacing it with something quieter. You don't need a leaf blower to cool a Pi3. They don't produce enough heat to need more than a low CFM fan. Most people won't even need a fan at all (especially with an open case like this).