ArgonONE (review) case by Argon40 swept the internet a couple of months ago. It’s a beautifully designed case that turns Raspberry Pi 4 into a NUC style machine. It was so well made, that I decided to mod the case and create an mSATA compatible version using X857 extension board aptly named Argon18 (bonus points if you know why).
I guess the team got inspired by my design and came up with another iteration of ArgonONE case with M.2 SSD support. Is it better than my DIY take on the same idea? Meet Argon ONE M.2.
Somewhere in between…
Argon ONE M.2 is slightly thicker than the original case, but not as fat as my 3D printed design. I had to work around the X857 mSATA extension board, Argon40 guys had more design wiggle, and came up with a really sexy design. Despite the extra volume, the case looks sleek and in line with the original design principle.
On the surface, other than M.2 expansion, not much changed. The case still features a beautiful all-metal design with passive and active cooling. The GPIO header is exposed and covers with a magnetic lid and comb alike feature to let the cables through.
Anyone hoping for easy access to the camera port, power over Ethernet or even microSD card, can forget that as this NUC style case focuses on what’s important for desktop use – a sleek design that moves the entire I/O to the back. Feel free to read my ArgonONE review if this is your first contact with ArgonONE case.
What’s new inside Argon ONE M.2
As the name of the case suggests, the ability to add the M.2 drive is the biggest advantage. Argon ONE M.2 supports SATA based drives, so if you were hoping for NVMe support, you will be disappointed. In reality, the M.2 storage slotted into Argon ONE M.2 will be as fast as Raspberry Pi will let it be. NVMe benefits are reserved for more traditional computers.
Support for M.2 drives isn’t the only change. Gone are the micro HDMI ports replaced with regular-sized ones. I know some people will welcome those changes, I personally don’t mind smaller connectors on Raspberry Pi 4.
If you already got the original ArgonONE case, you can simply upgrade it by purchasing the M.2 expansion board. You will miss out on the full HDMI ports and redesigned board. IR diode is pre-soldered (with full support for Argon40 remote, which I could not locate on their website at the time of writing) and the power on behaviour can be modified via jumper.
M.2 and boot from USB
Argon ONE M.2 finally gave me an excuse to go on Amazon and buy myself a bigger M.2 drive. Instead of buying a small drive (I don’t have massive storage needs for Raspberry Pi based systems other than my NASpi), I treated myself to an M.2 256GB SATA drive from Crucial, which was promptly fitted inside of my modified Lenovo laptop. The spare 128GB drive will be much better suited for a Raspberry Pi 4 and Argon ONE M.2 combo.
I made a guide about boot from USB for Raspberry Pi 4, so there is no reason why my new system wouldn’t boot from M.2 drive instead. Let’s face it, Argon ONE M.2 doesn’t even expose the SD card port any more, so you might as well jump on board! The procedure is quick and relatively painless.
I don’t expect any deviations from the ArgonONE if I’m honest. I’ll run some benchmarks to see if the thermals are still excellent. The room temperature was 21℃.
In the passive mode, the Raspberry Pi 4 8GB would report nice 36℃ which is 2℃ hotter, but the previously benchmarked board had 4GB of RAM, not 8GB. Switching to active cooling with the fan on at 100% didn’t change much – the temperature oscillated between 35-36℃.
I used CPU temperatures (benchmark) with
./cpuburn-a53 and after 10 min, the temperature was oscillating around 52℃. Again, slightly higher than the Raspberry Pi 4 4GB of RAM. What was more surprising, turning up the fan to 100% did not change the thermal curve. The temperature was about 1℃ lower at most.
M.2 vs mSATA
I had a feeling that it’s not the drive speeds that will matter here. I used SSD drives in the past, and I could never saturate the USB SATA connection. I installed the SK Hynix SC300 M.2 drive capable of: Read 530MB/s, Write 370MB/s speed. It’s not the fastest drive, but I don’t think RaspberryPi will saturate this.
dd bs=1M count=256 if=/dev/zero of=test conv=fdatasync
|(268 MB, 256 MiB) copied, 1.75779 s, 153 MB/s
|(1.1 GB, 1.0 GiB) copied, 6.86356 s, 156 MB/s
First benchmark is slower than mSATA I used with X857 board. This mandated further investigation so I run
hdparm in the more taxing mode:
sudo hdparm -t /dev/sda2
|1068 MB in 3.00 seconds = 355.71 MB/sec
The results were more in line with mSATA results indicating that it is in fact Raspberry Pi bottleneck. Lastly most taxing
fio which basically grinds the storage until it has enough:
fio --name=random-write --ioengine=posixaio --rw=randwrite --bs=4k --numjobs=1 --size=4g --iodepth=1 --runtime=60 --time_based --end_fsync=1
|WRITE: bw=59.8MiB/s (62.7MB/s)
As this tells you little about real life performance, a quick samba test shows what to expect:
|SMB read (1GB)
|SMB write (1GB)
1GB file was perfectly saturating 1Gbps connection as expected! There was a small hiccup while writing the file (pictured), but it had not occurred in other attempts.
Raspberry Pi is still shrouded with metal, the case performs in the same manner as the original ArgonONE:
|Ideal (no case)
|Ideal (Argon ONE M.2)
|Typical (no case)
|Typical (Argon ONE M.2)
Now that the case is thicker it could use a slot to add the external antenna to improve the wireless performance even further.
Buy ArgonONE M.2
Buy it using these links to support NotEnoughTech.
My next task is to create the mSATA mod for Argon NEO (review). Who knows, I might end up setting trends again. For now, I can marvel at both creations and enjoy the fact that my Argon18 has enough space to house a ZigBee coordinator and it comes with an external antenna! Yes I have added one for CC2531 and I plan to add another one for the WiFi – you can read more about antennas in here. Will you get the new Argon ONE M.2? Would you like to see Argon NEO that is compatible with mSATA boards? Let me know in this Reddit thread.