Upgrading raspberry pi 4 bootloader to extend usage time for edge device
Pi 4 is good except one thing: It consumes much more power than Pi3B+, which is definitely not good for application such as Donkey car. My experience is that my pi3b+ can run for an hour on a 1700mah LiPo battery but only 30–40 mins (max) on a pi4.
Raspberry Pi 4 has released a new boot EEPROM which claimed that, according to this article on Hackaday, it could low power mode for the USB hub and therefore supposingly allow us to run the Pi 4 on full speed without throttling and consume less power so we can run it longer on edge device, such as Donkey Car.
So let’s do the upgrade. Before upgrade, my pi4 os release info look like this:
(env) pi@pi4:~ $ uname -a
Linux pi4 4.19.50-v7l+ #895 SMP Thu Jun 20 16:03:42 BST 2019 armv7l GNU/Linux
Bootloader version:
(env) pi@pi4:~ $ vcgencmd bootloader_version
May 10 2019 19:40:36
version d2402c53cdeb0f072ff05d52987b1b6b6d474691 (release)
Install rpi-eeprom
to update the bootloader
sudo apt update
sudo apt full-upgrade
sudo apt install rpi-eeprom
After you install this package, the new bootloader will NOT be used immediately. The update will take place when you reboot the pi. So go ahead and reboot it. After reboot, check the os release again
(env) pi@pi4:~ $ uname -a
Linux pi4 4.19.75-v7l+ #1270 SMP Tue Sep 24 18:51:41 BST 2019 armv7l GNU/Linux
And also the bootloader version:
(env) pi@pi4:~ $ vcgencmd bootloader_version
Sep 10 2019 10:41:50
version f626c772b15ba1b7e0532a8d50a761b3ccbdf3bb (release)
timestamp 1568112110
Yes. That’s it.
Test Result
After updating the bootloader, the power consumption of the pi has dropped significantly.
Upon bootup
The photo on the left is the previous version while the left photos are the latest version.
Before upgrade: 4.91V * 0.69 = 3.39W
After upgrade: 4.96V * 0.43 = 2.13W
Stress Test
We use the stress test tools stress-ng
suggested here to put a load in pi 4.
Before upgrade: 4.89V * 0.94 = 4.6W
After upgrade: 4.93V * 0.69 = 2.91W
The power consumption has reduced by 36% in the CPU stress test! That’s not bad.