Raspberry Pi 4 Thermal Management

Cooling solutions and thermal guidelines for RPi 4 routing platforms


Raspberry Pi 4 Thermal Management

The Raspberry Pi 4 requires active cooling for reliable 24/7 router operation. This guide covers thermal characteristics, cooling solutions, and best practices for your RPi4 deployment.

Why Cooling Matters for RPi4

Power Output

The RPi4 generates significantly more heat than earlier models:

  • Idle/Light Load: 3-5W (minimal cooling needed)
  • Typical Router Load: 12-15W (active cooling recommended)
  • Peak Performance: 18-20W with all features (active cooling required)
  • TDP: 15W thermal design power

This continuous heat generation demands active cooling for 24/7 operation.

Operating Temperature Range

Optimal Performance:

  • Target Range: 40-60°C
  • Characteristics: Maximum CPU speed, no throttling, silent operation
  • Result: Best routing performance and packet throughput

Acceptable Range:

  • Range: 60-75°C
  • Characteristics: Full performance, no throttling yet
  • Action: Monitor temperature, ensure adequate ventilation

Warning Range:

  • Range: 75-80°C
  • Characteristics: Approaching throttling point
  • Action: Improve cooling immediately, check fan operation

Critical Range:

  • Range: 80-85°C
  • Characteristics: Throttling active, reduced performance
  • Action: Stop normal operation, add/improve cooling

Emergency Shutdown:

  • At: 85°C
  • Effect: Automatic system shutdown to prevent damage
  • Result: Network goes offline until cooled

Thermal Characteristics of RPi4

Heat Sources

The BCM2711 SoC generates the majority of heat in four components:

  1. CPU Cores (largest heat source - 60% of total)
    • Draws 5-12W at full load
    • Concentrated in small die area (~40mm²)
    • Difficult to cool passively
  2. GPU (secondary - 20% of heat)
    • Draws 1-3W at typical load
    • Lower power than CPU but always active
    • Handles video output and offload operations
  3. Memory (LPDDR4) (10% of heat)
    • Draws 1-2W
    • Distributed across two chips
    • Less critical for cooling design
  4. Voltage Regulators (10% of heat)
    • Power conversion losses
    • Typically <1W waste heat
    • Minor contribution

Heatspreader

The RPi4 includes an integrated aluminum heatspreader:

  • Material: Aluminum passive interface
  • Direct Contact: Thermally bonded to CPU and memory
  • Effect: Improves passive heat dissipation by 5-10°C
  • Limitations: Without active cooling, still throttles under load

The heatspreader alone cannot sustain 24/7 routing. Additional cooling is necessary.

Large Heatsink Configuration

Some users attempt passive cooling with large heatsinks:

Performance:

  • Idle: 35-40°C (excellent)
  • Light Load: 50-55°C (good)
  • Typical Routing: 70-80°C (throttling risk)
  • Peak Load: 80-85°C (definite throttling)

Verdict: Passive cooling is marginal for RPi4 router applications. May work in cool environments but cannot be relied upon for 24/7 operation.

Tower Coolers with Heat Pipes

Large tower coolers (60-80mm height) offer better passive performance:

Performance:

  • Idle: 35-45°C (very good)
  • Light Load: 50-60°C (good)
  • Typical Routing: 65-75°C (acceptable, edge of throttling)
  • Peak Load: 75-82°C (occasional throttling)

Verdict: Tower coolers can work but still pose throttling risk under continuous load.

When Passive Might Be Acceptable

Passive cooling can be considered only if:

  • Network is in cool climate (<20°C ambient)
  • Router load is light (< 8 devices, <50 Mbps)
  • No VPN or advanced features enabled
  • Willing to risk occasional throttling
  • Temperature monitoring in place

Better approach: Add a small 5V fan for reliability.

Active cooling with a fan is the recommended solution for RPi4 routers.

Small 30mm Fan

Most Popular Configuration:

  • Size: 30mm x 30mm x 10mm
  • Voltage: 5V DC (powered via GPIO pins 2,4 GND)
  • Current: 150-300 mA
  • Air Flow: 2-3 CFM
  • Noise: 20-30 dB at full speed

Performance with 30mm Fan:

  • Idle: 30-35°C (excellent, fan may not run)
  • Light Load: 40-45°C (excellent)
  • Typical Routing: 50-60°C (optimal performance)
  • Peak Load: 60-70°C (comfortable range)
  • Sustained: No throttling

Benefits:

  • Compact form factor
  • Affordable ($5-15)
  • Can control speed via PWM
  • Fits in most cases
  • Minimal noise at low speeds

Limitations:

  • Limited air volume
  • Requires PWM control to minimize noise
  • Can be audible at full speed
  • May need additional heatsink

40mm Fan

Balanced Performance and Noise:

  • Size: 40mm x 40mm x 20mm
  • Voltage: 5V DC
  • Current: 200-400 mA
  • Air Flow: 5-8 CFM
  • Noise: 15-25 dB (larger fans run quieter)

Performance with 40mm Fan:

  • Idle: 28-33°C (excellent)
  • Light Load: 35-40°C (excellent)
  • Typical Routing: 45-55°C (optimal performance)
  • Peak Load: 55-65°C (comfortable)
  • Sustained: No throttling

Benefits:

  • Quieter operation (larger displacement)
  • Better heat transfer
  • Slower fan speeds possible
  • Professional appearance in case
  • More reliability

Limitations:

  • Larger form factor
  • Slightly higher cost ($8-20)
  • More power draw
  • Requires suitable case

Case with Integrated Cooler

Purpose-Built Solutions:

Several cases include built-in fan systems:

Argon ONE M.2 ($40-60):

  • Integrated 92mm fan
  • M.2 SSD slot
  • Professional aluminum construction
  • PWM fan with thermal control
  • Power button and safe shutdown
  • Performance: 40-50°C at typical load

GeeekPi ICE Tower Cooler ($20-30):

  • Dual-fan tower design
  • RGB lighting (optional)
  • Large heatsink surface
  • Excellent cooling capacity
  • Performance: 35-45°C at typical load

Official Raspberry Pi Case (if available):

  • Factory-optimized design
  • Proper ventilation ports
  • Fan mounting points
  • Recommended compatibility
  • Performance: 50-60°C depending on model

Cooling Solution Recommendations

For Small Home Networks

Configuration: RPi 4 2GB, <100 devices, <500 Mbps

Recommendation: 30mm fan + moderate heatsink

  • Setup: Case with fan mounting, aluminum heatsink
  • Cost: $15-25 total
  • Temperature: 50-60°C typical
  • Performance: Reliable, no throttling
  • Noise: Minimal (PWM controlled)

For Advanced Home Networks

Configuration: RPi 4 4GB, 100-300 devices, 500+ Mbps

Recommendation: 40mm fan or case with cooler

  • Setup: Quality case with integrated fan
  • Cost: $25-40 (case with cooler)
  • Temperature: 45-55°C typical
  • Performance: Excellent, full gigabit
  • Noise: 15-20 dB at typical speed

For Small Business Deployments

Configuration: RPi 4 4GB or 8GB, 200-500 devices, gigabit

Recommendation: Professional cooler with temperature monitoring

  • Setup: Argon ONE M.2 or equivalent with monitoring
  • Cost: $40-70
  • Temperature: 40-50°C typical
  • Performance: Optimal, room for growth
  • Monitoring: Temperature alerts and logging
  • Scalability: Can handle sustained peak loads

Installation and Setup

30mm Fan Installation

Materials Needed:

  • 30mm PWM fan
  • Thermal paste (small amount)
  • Double-sided thermal tape or hot glue
  • GPIO jumper wires (optional, if PWM control desired)

Steps:

  1. Clean the heatspreader:
    # Power off the Pi
    sudo shutdown -h now
    
    • Remove any dust or old thermal material
    • Use isopropyl alcohol (90%+) and lint-free cloth
    • Let dry completely (1-2 minutes)
  2. Apply thermal interface:
    • Place small amount of thermal paste on CPU
    • Spread thin, even layer (~0.5mm)
    • Cover entire exposed CPU area
    • Avoid excess (can impede heat transfer)
  3. Mount heatsink (optional):
    • Paste aluminum heatsink over CPU
    • Firm, even pressure
    • Secure with thermal tape or mounting bracket
    • Ensure good contact
  4. Mount fan:
    • Position above/near heatspreader
    • Direct airflow across heatsink
    • Secure with double-sided thermal tape or zip ties
    • Ensure fan blades clear of obstructions
  5. Connect fan power (if PWM control):
    • Red wire → Pin 2 or 4 (5V)
    • Black wire → Pin 6, 9, 14, 20, or 25 (GND)
    • Yellow wire → GPIO pin (PWM pin 12, 13, 18, or 19)
    • Verify polarity before power-on
  6. Test:
    # After booting, check temperature
    vcgencmd measure_temp
    # Should read lower than before
    

Case with Integrated Cooler Installation

Steps vary by case, but general process:

  1. Power down the Pi:
    sudo shutdown -h now
    
  2. Prepare Pi:
    • Remove microSD if case design requires it
    • Ensure GPIO header is unobstructed
  3. Install according to case instructions:
    • Usually involves sliding Pi into internal mounting bracket
    • Screw down retention points
    • Ensure thermal pads contact CPU
  4. Connect fan power (if required):
    • Follow case instructions for fan connector
    • Typical: JST or similar micro-connector
    • Verify correct polarity
  5. Install HAT/cooling module:
    • Align with GPIO header
    • Press down firmly
    • Secure with provided screws if needed
  6. Close case:
    • Ensure ventilation ports are unobstructed
    • Power on and test

Temperature Monitoring

Check Current Temperature

From Command Line:

# Single measurement
vcgencmd measure_temp

# Output example:
# temp=52.3'C

Continuous Monitoring:

# Update every second
watch -n 1 vcgencmd measure_temp

# Press Ctrl+C to stop

Via Web UI:

  • Most router management interfaces display current temperature
  • Check Pimeleon dashboard or system monitoring page

Temperature Ranges

Normal Operation:

  • 35-50°C: Excellent - optimal performance
  • 50-65°C: Normal - good operating range
  • 65-75°C: Warm - acceptable but monitor

Action Required:

  • 75-80°C: Hot - improve cooling soon
  • 80°C+: Critical - throttling active, stop non-critical services

Long-Term Monitoring

Script for Logging:

#!/bin/bash
# Save to /root/temp-monitor.sh

while true; do
    TEMP=$(vcgencmd measure_temp | cut -d '=' -f 2)
    TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S')
    echo "$TIMESTAMP: $TEMP" >> /var/log/rpi-temperature.log
    sleep 60
done

Add to cron for automatic logging:

# As root, edit crontab
sudo crontab -e

# Add this line:
@reboot /root/temp-monitor.sh > /dev/null 2>&1 &

Environmental Factors

Location Selection

Good Locations:

  • Well-ventilated area
  • Cool room (ambient <25°C)
  • Away from heat sources
  • Adequate airflow around router
  • Not enclosed (or with ventilation)

Poor Locations:

  • Enclosed cabinets without airflow
  • Near heating vents or radiators
  • Direct sunlight (especially south-facing)
  • On top of other hot equipment (modems, switches)
  • Poorly ventilated closets

Seasonal Considerations

Summer/Hot Weather (Ambient 25-35°C):

  • Temperatures rise 10-15°C compared to typical
  • May require upgraded cooling
  • Monitor more frequently
  • Consider active cooling if using passive

Winter/Cold Weather (Ambient 5-15°C):

  • Temperatures naturally lower
  • Passive cooling more effective
  • Can reduce fan speed if PWM controlled
  • Optimal conditions for performance testing

Ventilation

Case Ventilation:

  • Ensure intake and exhaust ports are open
  • Keep dust filters clean
  • Remove intake obstructions
  • Allow 2-3 inches clearance on all sides

Room Air Flow:

  • Router should not be in dead air pocket
  • Place away from room corners
  • Avoid stacking equipment on top
  • Keep area free of clutter

Troubleshooting Overheating

Symptoms of Excessive Heat

Performance Issues:

  • Slower web browsing (throttled CPU)
  • Increased latency in ping
  • Dropped connections
  • Service timeouts or crashes
  • VPN throughput reduced

System Behavior:

  • Random reboots
  • Kernel panics in logs
  • High CPU usage from thermal throttling
  • Shutdown without warning (emergency thermal shutdown)

Diagnostic Steps

  1. Check current temperature:
    vcgencmd measure_temp
    
    • If > 80°C, throttling is likely active
    • If > 85°C, emergency shutdown will trigger
  2. Check temperature history:
    # View log if you're logging temperatures
    tail -20 /var/log/rpi-temperature.log
    
    # Check kernel logs for throttling
    journalctl -u thermald | tail -20
    
  3. Verify fan operation (if applicable):
    # Check if fan GPIO is being controlled
    # Example for GPIO pin 12 (PWM):
    cat /sys/class/pwm/pwmchip0/pwm0/duty_cycle
    
  4. Check CPU frequency (if throttled):
    # View current CPU frequency
    cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
    
    # Compare to max frequency
    cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq
    
    # If significantly lower, throttling is active
    

Immediate Cooling Solutions

Quick Fixes (for emergency):

  1. Add desk fan: Point room fan at router
  2. Remove case: Expose heatspreader to room air
  3. Reduce load: Stop non-critical services
  4. Move location: To cooler room or area
  5. Open ventilation: If in cabinet, open doors

Short-Term Solutions:

  • Add room air conditioning
  • Install temporary 5V fan
  • Reduce ambient temperature
  • Limit concurrent connections
  • Disable advanced features

Permanent Solutions:

  • Install proper heatsink
  • Add or upgrade fan
  • Replace case with ventilated model
  • Upgrade to case with integrated cooler
  • Move to cooler location
  • Improve room ventilation

Performance Impact of Temperature

Clock Speed Throttling

When temperature reaches 80°C:

  • CPU Clock Reduction: Decreases from 1.5-1.8 GHz to ~1.0 GHz
  • Performance Loss: 40-50% reduction
  • Routing Throughput: Drops from 900+ Mbps to 400-500 Mbps
  • VPN Performance: Severely reduced
  • Recovery: Returns to full speed when cooled below 75°C

Throttling Prevention

Maintain temperature below 75°C to:

  • Prevent thermal throttling
  • Maintain full performance
  • Ensure reliable 24/7 operation
  • Extend hardware lifespan

Best Practices

Immediate Setup

When first deploying:

  1. Install cooling solution immediately (don't wait)
  2. Monitor temperature for first week
  3. Verify no throttling under normal load
  4. Document baseline temperatures
  5. Plan for upgrades if needed

Ongoing Maintenance

Monthly:

  • Check temperature readings
  • Clean dust from heatsink/fan
  • Verify fan operation (if applicable)
  • Check for obstructions

Quarterly (every 3 months):

  • Deep clean cooling components
  • Check thermal paste condition (if using one)
  • Verify fan bearings (if applicable)
  • Test under peak load

Annually:

  • Replace fan if bearing noise detected
  • Inspect for corrosion or damage
  • Reapply thermal paste if temperatures rising
  • Update cooling firmware if applicable

Performance Optimization

To maintain cool operation:

  • Run 64-bit OS (better compiler optimizations)
  • Update to latest firmware
  • Use optimized router software
  • Enable CPU frequency scaling
  • Limit non-essential services

Cooling Solution Comparison

SolutionCostPerformanceNoiseSpaceMaintenance
No cooling$0Poor (throttles)N/AMinimalNone
Heatsink only$5-10MarginalNoneSmallDust cleaning
30mm fan$15-25Good20-30dBCompactFan cleaning
40mm fan$25-35Very Good15-20dBModerateFan cleaning
Tower cooler$30-40Excellent18-25dBLargeFan cleaning
Case w/ cooler$35-60Excellent15-20dBModerateIntake filter