I have a Raspberry Pi 4B 8GB running HAOS using the official POE+ HAT in a case made by The PiHut which includes a small fan to cool the CPU. I don’t have any heatsinks on the Pi as there isn’t room with the fan.
I measure the CPU usage & temperature etc using System monitor and also record the CPU frequency of the Pi using a custom yaml code in configuration.yaml:
command_line:
- sensor:
name: Processor Speed
command: "cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq"
# If errors occur, make sure configuration file is encoded as UTF-8
unit_of_measurement: "MHz"
value_template: "{{ value | multiply(0.001) | round(0) }}"
scan_interval: 60
After installing OS 16.0 on July I noticed that the Pi4’s CPU Frequency was lowered from 1800MHz to 700MHz.
On OS 15.2 the CPU would go between 1800MHz and 1200MHz, with times where it dropped to 1000MHz, and the very occasional spike down to 800MHz, and a rare spike down to 600MHz.
On OS 16.0 & 16.2 the CPU frequency is pretty much constantly at 700MHz, with occasional moments where it might run at 800MHz, and maybe if you’re lucky 1100MHz. This is also causing horrible coil whine from either the POE for the Pi 4. Which never happened when the CPU ran at 1800MHz.
What on earth changed between OS 15.x and OS 16.x that significantly lowered my Pi 4’s CPU Speed?
Someone previously recommended I should do a full shut down of the host system after an update, so I did and took the time to clean the CPU and fan of dust. It made no difference to the CPU frequency.
Screenshot included showing the drastic change in CPU frequency between OS 15.2 and 16.2.


