How could the temperatures in iddle be improved?

First of all, thank you very much to this great community. Little by little I am learning more and more about this great operating system.

The question is this: at rest I run around 47c 48c with the argon box. When it is at these temperatures the fan is not spinning. When I do a 5-minute stress test, it reaches a maximum of 60/61C and the fan sounds soft.

The question I have in iddle, could it be lowered from those 47c? lowering the minimum frequencies? or is there a way to make the fan active soft at those 47c

What device you have?

Raspberry Pi5 and Argon Case

The temps are the one you can expect from RPi5.

some more reading for silent nights Guide to Pi 5 Under/Overclocking


Yes, you can follow my guide and try to make it work at 600 MHz minimum clock.
You should be able to go much lower than 47c with that case in idle.

The fan behavior is customizable via config.txt, I will add it to the guide:





You can configure 4 points with temperature and hysteresis.
The speed is pwm so 0 to 255.
With piStats -v you can see actual fan rpm and its pwm value.


The settings:

        fan_temp0               Temperature threshold (in millicelcius) for
                                1st cooling level (default 50000). Pi5 only.
        fan_temp0_hyst          Temperature hysteresis (in millicelcius) for
                                1st cooling level (default 5000). Pi5 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). Pi5 only.
        fan_temp1_hyst          Temperature hysteresis (in millicelcius) for
                                2nd cooling level (default 5000). Pi5 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). Pi5 only.
        fan_temp2_hyst          Temperature hysteresis (in millicelcius) for
                                3rd cooling level (default 5000). Pi5 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). Pi5 only.
        fan_temp3_hyst          Temperature hysteresis (in millicelcius) for
                                4th cooling level (default 5000). Pi5 only.
        fan_temp3_speed         Fan PWM setting for 4th cooling level (0-255,
                                default 250). Pi5 only.

piStats is this installed at the factory? or you have to install it. And if you have to install it, what is the command?

It is simply a shell script that you can download.

1 Like

Forgive my ignorance what is the best way to use that script. I still have a lot to learn

1 Like

@mannix your turn :wink:

I have copied those values ​​from you and there is already a lot of improvement. Thank you so much .

I just need you to teach me how to see the RPM of the fan with the script. Thank you so much

I will make a short guide.

You can check the fan speed with the -v option, it’s right on top:

root@DietPi5:~# pistats -v
piStats v1.17: DietPi5 [Pi 5 Model B Rev 1.0]
Rel: 6.1.0-rpi8-rpi-2712 Ver: #1 SMP PREEMPT Debian 1:6.1.73-1+rpt1 (2024-01-25)
temp                  fan            fan pwm
cpu:  61.5 C          5217 rpm       150 [58 %]

clocks                min            max
cpu:  1000 MHz        600 MHz        3000 MHz
gpu:  910 MHz         500 MHz        910 MHz
hevc: 722 MHz         500 MHz        910 MHz
isp:  910 MHz         500 MHz        910 MHz
v3d:  722 MHz         500 MHz        910 MHz
ram:                  4267 MHz       N/A
sd:   200 MHz

voltages          OC (ov [set] [min] [delta]): [0]  [7] [32 mV]
core: 1.0000 V       mem ([core] [i/o] [phy]): [0.60 V] [0.60 V] [1.10 V]
soc:  0.8750 V

ring oscillators         volt        temp
ring_osc1:  7.805 MHz    0.8714 V    60.4 C
ring_osc2:  9.849 MHz    0.8714 V    57.6 C
ring_osc3:  10.363 MHz   0.8714 V    58.7 C

temp:        59.0 C
rtc battery: 2.99 V      (charging at 3000 mV)
ext 5V:      5.13 V
vdd_core:    1.0035 V    1.0983 A    (1.1023 Watt)
ddr_vdd2:    1.1113 V    0.0185 A    (0.0206 Watt)
ddr_vddq:    0.6040 V    0.0000 A    (0.0000 Watt)
hdmi:        5.1013 V    0.0239 A    (0.1221 Watt)
3v3_sys:     3.3276 V    0.2049 A    (0.6820 Watt)
1v8_sys:     1.7948 V    0.2010 A    (0.3608 Watt)
1v1_sys:     1.1076 V    0.1912 A    (0.2119 Watt)
3v3_dac:     3.3205 V    0.0004 A    (0.0016 Watt)
3v3_adc:     3.3177 V    0.0004 A    (0.0016 Watt)
3v7_wl_sw:   3.6923 V    0.0917 A    (0.3387 Watt)
0v8_aon:     0.8017 V    0.0056 A    (0.0045 Watt)
0v8_sw:      0.8047 V    0.3386 A    (0.2725 Watt)
total:       3.1186 Watt

Can also be toggled in continuous mode, -c, with -f.

1 Like

How cool, waiting for that tutorial. thank you

I have another question for you
What does the hysterist line mean to you when I put in the config.txt that the fan turns on at 48c, it turns on at 45c?

I have discovered several bugs in my argon case for the raspberry pi5. 1 fan screw is too long and even pierces the CPU thermal pad a little. (I had to reduce it a little) 2 failure: a screw that tightens the red casing in one corner cannot go in completely and leaves the red cover somewhat loose

3 worst failure: the gray thermalpad that is placed on the pmic does not make contact with the chassis, it is very thin. The pmic reached 62c doing a stress test, I solved it by placing a thicker thermalpad, now it does not exceed 50c in stress and in iddle 48c

On the CPU, leave the factory gray thermalpad, it makes good contact and under stress it does not exceed 61c after 30 minutes of stress.

I have taken the opportunity to put a thermal pad on the WiFi and Bluetooth as well.

Ah, nice to know.
I’m swapping out an SSD to mount the Argon One V3 nvme.
Decided to get that one instead of the Neo 5 for the M.2.
Hopefully will be smoother…

1 Like

The hysteresis is used to avoid the fan flapping to often up and down.
This is a very basic implementation but more or less works that in the +/- range you defined from the point the fan will be kept around that value.
You can see it running piStats -c and launching a load like a phoronix benchmark.

I have installed the Argon ONE case; some highs and lows.
It’s quite sturdy but not a lot, like the EDA TEC.
Cools down very quickly, seems well balanced.
Good enough to keep the SoC around 75c at 3 GHz.

The M.2 drive works flawlessly.

A couple of annoying issues.

The first issue was with the thermal pads; clearly a couple of pads for the Pi 4 SoC.
Not much of an issue with the PMIC, just oversized.
But too small for the Pi 5 SoC.
At first I re-used the thermal pad of the active cooler, it was just there.
Bad idea, the Pi 5 kept crashing at 3 GHz very easily under load.
Finally found an old MinusPad 8 and it made a huge difference.
But with such a good cooling it ended up crashing anyway, this is a bad bin, had to reduce to 2950 MHz.

Second issue is the fan.
It’s powerful, less noisy than the official case fan, optimal design.
But it does whine and badly. Like the very first small fans for notebooks 20 years ago.
It does rattle erratically and it’s very annoying.
Not a huge problem for me as this thing will be tucked away and most often not under load.
But I wouldn’t keep it a minute on my desk.
The other issue is the fan controller via GPIO; the Argon utilities are wacky at best.
At some point the fan stopped working or didn’t ramp to the maximum.
It’s much better to disconnect the fan from the HAT and use the onboard fan pwm connector.
But you have to dismount the top HAT, remove the cable and there’s no cable management.
It should have been more accessible, not really well done.

Temperature in idle is 42c, about 15c less than the official case.

1 Like

Well, I listened to you and ordered a new Argon case with Nvme slot hehehehehe. Let’s see if you can explain to me how to correctly activate the NVME boot. This box does not have a slot to put the SD card in, but it is covered.

Argon has that defect with the thermal pads, I put the one it comes with on the CPU and the blue ones that the activecooler comes with on the pmic and wifi. I have to buy another activecooler to get the new thermal pads for when I get the new box of argon

Anything left on the other post you opened? Install SSD RaspberryPi5

1 Like

Yes, I have looked at everything mentioned in that post but it is still not 100% clear to me how to do the process in the best way possible.

You can leave the SDCard inside as secondary storage, I will use it for the backups.

The process is very simple look at:

Just change the boot order, install rpi-clone and excute it

sudo rpi-clone nvme0n1

Then reboot and check with lsblk:

root@DietPi5:~# lsblk
loop0         7:0    0  59.7M  1 loop /snap/core20/2107
loop1         7:1    0  59.7M  1 loop /snap/core20/2186
loop2         7:2    0 156.2M  1 loop /snap/microk8s/6227
loop3         7:3    0 157.1M  1 loop /snap/microk8s/6565
loop4         7:4    0  35.2M  1 loop /snap/snapd/20674
mmcblk0     179:0    0 119.1G  0 disk
├─mmcblk0p1 179:1    0   128M  0 part
└─mmcblk0p2 179:2    0   119G  0 part
nvme0n1     259:0    0 465.8G  0 disk
├─nvme0n1p1 259:1    0   128M  0 part /boot/firmware
└─nvme0n1p2 259:2    0 465.6G  0 part /

As you can see the root is mounted on nvme0n1p2 instead of mmblk0p2.

Don’t use the thermal pad of the active cooler; it’s probably better an hot frying pan.
Buy a decent good cheap thermal pad with 1mm thickness, it makes a lot of difference.