Upgrading raspberry pi 4 bootloader to extend usage time for edge device

Jonathan Tse
Robocar Store
Published in
3 min readDec 10, 2019

--

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

Power draw of booting up the pi

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

CPU stress test

The power consumption has reduced by 36% in the CPU stress test! That’s not bad.

--

--

Jonathan Tse
Robocar Store

Love Self-driving technology and machine learning. Community leader in DIYRobocar Hong Kong.