#RaspberryPi
Upgrading my PI 5 with the Argon Neo 5 NVMe-Case
333 days ago
114
The PI5 is great. But it gets hot and the default fan is pretty noisy. The Argon Neo 5 seems like a good choice, as it promises a cooler pi with a less noisy fan and an option for an .m2-NVMe-SSD utilizing the new PCIe-Interface
Overview
The Argon Neo 5 comes in a nice clean and simple black Design. The Top is removable, exposing the Heat Sink and the Cooler, so the GPIO is accessible. It's also one of the few Cases that comes with an option for a .m2-NVMe-SSD.
Temps without SSD
So here is the switch from the PI 5 with the original Case and the Active Cooler, running some Docker Containers with low laod, to the new Argon Neo 5 case, running the same load from the same external SSD. So there is no additional heat from an NVMe-SSD yet.
The brighter yellow Line(s) is the relevant Temperature of the CPU. The green Line represents the Fan Mode - beginning with 40°C where the fan is of and increasing the Fan-Mode with every 10°C. The default values for the Cooling Stages can be seen in /boot/firmware/overlays/README
, and as of this test, are defined as follows:
fan_temp0 Temperature threshold (in millicelcius) for
1st cooling level (default 50000). PI 5 only.
fan_temp0_hyst Temperature hysteresis (in millicelcius) for
1st cooling level (default 5000). PI 5 only.
fan_temp0_speed Fan PWM setting for 1st cooling level (0-255,
default 75). Pi5 only.
fan_temp1 Temperature threshold (in millicelcius) for
2nd cooling level (default 60000). PI 5 only.
fan_temp1_hyst Temperature hysteresis (in millicelcius) for
2nd cooling level (default 5000). PI 5 only.
fan_temp1_speed Fan PWM setting for 2nd cooling level (0-255,
default 125). Pi5 only.
fan_temp2 Temperature threshold (in millicelcius) for
3rd cooling level (default 67500). PI 5 only.
fan_temp2_hyst Temperature hysteresis (in millicelcius) for
3rd cooling level (default 5000). PI 5 only.
fan_temp2_speed Fan PWM setting for 3rd cooling level (0-255,
default 175). Pi5 only.
fan_temp3 Temperature threshold (in millicelcius) for
4th cooling level (default 75000). PI 5 only.
fan_temp3_hyst Temperature hysteresis (in millicelcius) for
4th cooling level (default 5000). PI 5 only.
fan_temp3_speed Fan PWM setting for 4th cooling level (0-255,
default 250). PI 5 only.
The temps seem to settle between 50-55°C, which is ~10°C less than with the official Case and Active Cooler. That also means that the Fan can run one step slower than before, making it even more quiet.
Here is a 15min Stress-Test. Note that i installed updates and downloaded stress
at 13:10 and testet the Fan (echo '3' | sudo tee -a /sys/class/thermal/cooling_device0/cur_state
) at 13:30.
The Temps bearly hit 60°C and the Fan even has room for one more Stage, but is now also running relatively loud. It's probably still quieter than the official Acive Cooler. It also developing it's best cooling capabilities as one can see at ~13:56, where the temps immediately drop ~10°C after the stress test ends. However the lower Cooling stages take a long time after the test to resettle the temps, so i'm thinking about lowering the temps for the stages by 5-10°C - also considering the whole Case acts as the Cooler, which means it gets as hot as the CPU, leaving it bearly touchable.
Adding a SSD
The Setup process is easy: insert the SSD, start the PI and execute the scripts provided by Argon to edit the EEPROM and the /boot/firmware/overlays/config.txt
. Then you can reboot and check if the new SSD appears with lsblk
. Jeff Geerling also did a nice Tutorial on what to do there and also maintains a fork of @billw2s rpi-clone Script, that we need to use to copy the current Partitions to the new SSD.
# You may want to wipe all disk partitions before cloning:
sudo umount /dev/nvme0n1p?
sudo wipefs --all --force /dev/nvme0n1p?
sudo wipefs --all --force /dev/nvme0n1
sudo dd if=/dev/zero of=/dev/nvme0n1 bs=1024 count=1
# Install rpi-clone.
git clone https://github.com/geerlingguy/rpi-clone.git
cd rpi-clone
sudo cp rpi-clone rpi-clone-setup /usr/local/sbin
# Clone to the NVMe drive (usually nvme0n1, but check with `lsblk`).
sudo rpi-clone nvme0n1
Here are the Temps after adding a .m2-NVMe-SSD (1TB Crucial P3 Pro), running with one PCIe 3.0 Lane. The blue Line(s) shows the temp of the SSD. As you can see, the Temps rise ruffly 5°C.
Adjusting Cooling Stages
As said before, I think it's best to adjust the Cooling Stages by -5-10°C, so that it toggles between the 1. and 2. Stage, which are both barely hearable. One can achieve that, by opening /boot/firmware/config.txt
and adding these Lines for each of the 4 (0-3) Stages:
dtparam=fan_temp0=40000
dtparam=fan_temp0_hyst=10000
dtparam=fan_temp0_speed=125
I opted to only change the temps by -5°C:
dtparam=fan_temp0=45000
dtparam=fan_temp1=55000
dtparam=fan_temp2=62500
dtparam=fan_temp3=70000
As expected, the Temps drop by a few degrees but the 2. Cooling Stage only gets rarely activated, keeping the system fairly quiet.