Check
vcgencmd get_throttled # e.g. throttled=0x50005
vcgencmd measure_temp # e.g. temp=62.3'C
get_throttled returns a bit pattern. Low bits describe now, high bits describe since boot:
| Bit | Hex | Meaning |
|---|---|---|
| 0 | 0x1 |
Undervoltage detected |
| 1 | 0x2 |
Arm frequency capped |
| 2 | 0x4 |
Currently throttled |
| 3 | 0x8 |
Soft temperature limit active |
| 16 | 0x10000 |
Undervoltage has occurred |
| 17 | 0x20000 |
Arm frequency capping has occurred |
| 18 | 0x40000 |
Throttling has occurred |
| 19 | 0x80000 |
Soft temperature limit has occurred |
0x0 is healthy. 0x50005 = undervoltage + throttling now and since boot, so fix the power supply first. 0x80000/0x20000 without undervoltage bits point to heat.
Decode it in a script
import subprocess
FLAGS = {
0: "undervoltage now", 1: "arm frequency capped now", 2: "throttled now", 3: "soft temp limit now",
16: "undervoltage occurred", 17: "arm frequency capping occurred",
18: "throttling occurred", 19: "soft temp limit occurred",
}
out = subprocess.run(["vcgencmd", "get_throttled"], capture_output=True, text=True, check=True).stdout
value = int(out.strip().split("=")[1], 16)
problems = [text for bit, text in FLAGS.items() if value & (1 << bit)]
print("ok" if not problems else ", ".join(problems))
Report this from IoT gateways periodically (for example as an MQTT health topic): intermittent undervoltage often only shows up in the field.
Thermal behaviour
- The firmware keeps the SoC below 85 °C. Between 80 and 85 °C the Arm cores are throttled progressively; at 85 °C both Arm and GPU are throttled.
- Use
vcgencmd measure_temp, not generic Linux sensors, for an accurate SoC reading. - Heatsinks aren't needed to prevent damage, but a heatsink or fan reduces throttling. In a closed enclosure, sustained load will throttle.
- The official Pi 5 fan (Active Cooler or case fan) is off below 50 °C, then 30 % at 50 °C, 50 % at 60 °C, 70 % at 67.5 °C and 100 % at 75 °C, with 5 °C hysteresis. The thresholds can be changed with
fan_temp*dtparams in/boot/firmware/config.txt.