As you might have heard or experienced, the Raspberry Pi 4 gets very hot. But there’s a firmware update now that will reduce power consumption and heat generation! And it’s effortless to do!

Disabling automatic EEPROM updates

I dislike automatic EEPROM updates because if an update fails or happens during a power cut, your Pi might not boot anymore.

So first we will be disabling automatic EEPROM updates (optional):

sudo systemctl mask rpi-eeprom-update

Updating the Pi

Now we will update the Pi with:

sudo apt update
sudo apt full-upgrade

This might take a little while so be patient. I recommend running the update inside screen or tmux in case your SSH session dies.

Updating the EEPROM

Now we need to install the eeprom update utility with:

sudo apt install rpi-eeprom

And then we run it with:

sudo rpi-eeprom-update

Which might output something like this:

 *** UPDATE REQUIRED ***
 BOOTLOADER: update required
 CURRENT: Fri 10 May 18:40:36 UTC 2019 (1557513636)
  LATEST: Tue 10 Sep 10:41:50 UTC 2019 (1568112110)
 VL805: update required
 CURRENT: 00013701
  LATEST: 000137ab

To actually apply the update we run:

sudo rpi-eeprom-update -a

Which will output something like this:

*** INSTALLING EEPROM UPDATES ***
 BOOTLOADER: update required
 CURRENT: Fri 10 May 18:40:36 UTC 2019 (1557513636)
  LATEST: Tue 10 Sep 10:41:50 UTC 2019 (1568112110)
 VL805: update required
 CURRENT: 00013701
  LATEST: 000137ab
 EEPROM updates pending. Please reboot to apply the update.

Once done you need to reboot, but before you do, take a note of your current temperature with:

sudo vcgencmd measure_temp

Which will tell you the temperature in degrees Celsius. Write it down to compare after reboot! Now reboot with:

sudo systemctl reboot

Comparing the results

Now, once you rebooted, log back into your Pi and run sudo rpi-eeprom-update again to confirm the update was applied. If it was, you can now run sudo vcgencmd measure_temp to check the temperature. It should now be running cooler!

In my case, my main Pi which is already being cooled very well with a combination of heat sink and fan, went down from 40C to 37C which is not that much because I am already super-cooling it. But I will run a test without fan to compare. Before the update, without fan it would almost immediately go to 65C.

However, I ran the same tests on a second Pi 4 which is just being cooled passively with a heat sink and has a DVB-T HAT on top, and was idling around 60C and while streaming reached around 65C top. After the update it was idling at around 52C and during streaming it went up to 55C top. This is a difference of 10C which is great!

What if the Pi 4 does not boot (corrupted EEPROM)

If the update goes wrong or your Pi 4’s EEPROM gets corrupted for other reasons, you will have to recover it. This is done easily by downloading an official recovery package and unzipping it onto a FAT32 formatted SD card, and then plugging that into the Pi 4 (while it is off) and then powering it on until the green light blinks quickly. Afterwards, power it off and switch back to your usual SD card and power it back on. You can get the recovery package from here https://www.raspberrypi.org/downloads/ under “Recovery”.

Conclusion

It is definitely worth updating your Pi 4’s EEPROM to keep it running cooler and thus live longer. Also, not running very hot means less throttling and thus better performance. Go update your Pi 4 right now!