PinePhone battery discharge curve

Happy New Year!

I’ve been using the PinePhone 1.2 to develop synit recently. I haven’t done anything about power management or sleeping yet, and I wondered how bad the battery life might be, so last night I ran the following script from a full battery until the phone shut down from lack of power:

1
2
3
4
5
6
7
while true
do
    date
    cat /sys/class/power_supply/axp20x-battery/capacity
    sleep 60
    sync
done | tee -a battery-rundown-log

Here is the resulting discharge curve (data):

PinePhone battery discharge curve

Before running the script, I turned off the display and backlight,

1
2
3
4
5
6
# Puts the framebuffer in "graphics" mode, disabling touchscreen 
# sensitivity and "screen saver" mode
echo 1 | sudo tee /sys/class/graphics/fb0/state

# Actually blanks the screen, shutting down the graphics pipeline
echo 3 | sudo tee /sys/class/graphics/fb0/blank

and almost nothing was running on the phone: normal system daemons (udevd, syslogd, dbus-daemon, haveged, chronyd), wifi support (wpa_supplicant and NetworkManager), modem support (eg25-manager and gpsd), sshd, and a lone getty.

This, then, is about as good as we might reasonably expect from an idle system, with its display blanked, that never goes into sleep mode: around ten or eleven hours of battery life.

Putting the phone into sleep mode should significantly extend the battery life.

I plan on running Squeak Smalltalk for the user interface, and I suspect that there’ll be a fair amount of power draw as a result of that, so it seems likely I’ll have to investigate putting the phone into sleep mode.