# Raspberry Pi runs hot and slows down: heatsink, fan and case airflow

> Cool a Pi that throttles: add a heatsink, give the case airflow or a fan, and check the temperature and throttle flags.

Canonical: https://roboticsengineering.in/fix/raspberry-pi-overheating-throttling-fan-heatsink-case/ | Published: 2026-11-03 | Updated: 2026-11-04

**Check the temperature, then add a heatsink and airflow.**

## What the message means

Above a set temperature the Pi lowers its clock speed to protect itself. A closed case in a warm robot makes this easy to reach.

## Fix it in this order

1. Read the core temperature with the vcgencmd tool.
2. Check the throttle flags with vcgencmd get_throttled.
3. Fit a heatsink on the processor.
4. Add a small fan and leave air gaps in the case.
5. Keep the Pi away from motor drivers and regulators.
6. Lower the load, for example the camera frame rate.

## Why it happens

A Raspberry Pi slows itself down when it gets hot, from around 80 °C on a Pi 4. A closed case, heavy load such as vision or compiling, and a high room temperature push the chip up.

Check the temperature with vcgencmd measure_temp, add a heatsink and a small fan, and use a case with airflow. Keep the supply healthy, because low voltage also throttles the board.

## If you see this, do this

| You see | Do this |
| --- | --- |
| Slow after some minutes | Thermal throttling. |
| Lightning bolt icon | Power supply, not heat. |

## Related

[Pi power](https://roboticsengineering.in/fix/raspberry-pi-undervoltage-lightning-bolt-power-supply/), [Jetson power](https://roboticsengineering.in/fix/jetson-nano-powers-off-with-usb-power-use-barrel-jack/).

Last reviewed: November 2026. These are the usual causes and the order that finds them fastest. Test on your own board; clones and cables differ.

## Why this happens

The Pi’s processor produces heat in proportion to its load and clock speed. A small chip with no airflow in a closed case warms up quickly under vision, compiling or streaming. Raspberry Pi firmware watches the temperature and, near the soft limit (about 80 degrees C on a Pi 4), starts reducing the clock; nearer 85 degrees C it limits more. The robot feels this as a loop that runs fine for a few minutes and then becomes slow.

Heat is not the only cause of a throttled Pi. If the supply voltage at the board drops below roughly 4.63 V, the firmware flags under-voltage and also lowers the clock. A thin cable and a motor driver on the same battery are classic causes, so you need to read the flags and not guess.

## How to confirm the cause

- Run vcgencmd measure_temp while the robot does its normal job. A value that climbs steadily past 70 degrees C is a heat problem.
- Run vcgencmd get_throttled. Bit 0 (0x1) means under-voltage now, bit 2 (0x4) means throttled now, bit 3 (0x8) means the soft temperature limit is active. Bits 16, 18 and 19 are the same events remembered since boot.
- Watch the clock with vcgencmd measure_clock arm. If it falls from the full speed while the temperature is high, thermal throttling is confirmed.
- Check the top command for a runaway process using a whole core, since a stuck camera loop makes heat by itself.

## Worked example

The commands and the bit values are standard for Raspberry Pi OS. Run them while the robot is busy.

```
# run these while the robot is working
vcgencmd measure_temp
vcgencmd get_throttled
vcgencmd measure_clock arm

# reading the answer:
# throttled=0x50005 = 0x40000 + 0x10000 + 0x4 + 0x1
#   under-voltage now, throttled now,
#   and both have also happened since boot
# throttled=0x80000 = soft temperature limit
#   occurred earlier, not active now
```

## Common mistakes

- Judging heat by touch; a case can feel only warm while the chip is already at the limit.
- Sticking the heatsink on the wrong chip; fit it on the main processor under the metal lid, and use the pad it came with.
- Fitting a fan inside a closed case so it only moves the same hot air around; give it an inlet and an outlet.
- Treating 0x50005 as a temperature problem. Bits 0 and 16 are about supply voltage.

## If this did not fix it

- Check the supply and cable first if bit 0 or bit 16 is set; a thick, short cable and a supply rated for the board’s peak current help.
- Check the load: lower the camera resolution or frame rate, or the number of processes.
- Check where the Pi sits; a regulator or motor driver next to it adds heat to the same enclosure.
- Check room temperature; a robot in direct sun can reach the limit without any change in code.
